<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:planet="http://planet.intertwingly.net/" xmlns:indexing="urn:atom-extension:indexing" indexing:index="no"><access:restriction xmlns:access="http://www.bloglines.com/about/specs/fac-1.0" relationship="deny"/>
  <title>Planet Eclipse (beta)</title>
  <updated>2010-11-09T09:10:49Z</updated>
  <generator uri="http://intertwingly.net/code/venus/">Venus</generator>
  <author>
    <name>Planet Eclipse Admins</name>
    <email>webmaster@eclipse.org</email>
  </author>
  <id>http://planeteclipse.org/planet-new/rss20.xml</id>
  <link href="http://planeteclipse.org/planet-new/rss20.xml" rel="self" type="application/rss+xml"/>
  <link href="http://planeteclipse.org/planet-new/" rel="alternate"/>

  <entry xml:lang="en">
    <id>http://www.toedter.com/blog/?p=113</id>
    <link href="http://www.toedter.com/blog/?p=113" rel="alternate" type="text/html"/>
    <title>Eclipse 4.0 RCP: Dynamic CSS Theme Switching</title>
    <summary>The css theming capabilities of the Eclipse 4.0 SDK are improving.  Especially the mechanism to implement a dynamic theme switcher is much  easier now. If you want to implement a css theme switcher, you just need  to contribute to the extension point org.eclipse.e4.ui.css.swt.theme.  Here is an example from my e4 contacts [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>The css theming capabilities of the Eclipse 4.0 SDK are improving.  Especially the mechanism to implement a dynamic theme switcher is much  easier now. If you want to implement a css theme switcher, you just need  to contribute to the extension point org.eclipse.e4.ui.css.swt.theme.  Here is an example from my e4 contacts demo for declaring two themes:</p>
<pre class="brush: xml;">&lt;extension
 point="org.eclipse.e4.ui.css.swt.theme"&gt;
 &lt;theme
    basestylesheeturi="css/dark-gradient.css"
    id="org.eclipse.e4.demo.contacts.themes.darkgradient"
    label="Dark Gradient Theme"&gt;
 &lt;/theme&gt;
 &lt;theme
    basestylesheeturi="css/bright-gradient.css"
    id="org.eclipse.e4.demo.contacts.themes.brightgradient"
    label="Bright Gradient Theme"&gt;
 &lt;/theme&gt;
&lt;/extension&gt;
</pre>
<p>Then you need to specify a handler that does the actual theme switching. Here is the whole handler code for switching to the dark gradient theme:</p>
<pre class="brush: java;">public class DarkThemeHandler {

   @Execute
   public void execute(IThemeEngine engine) {
      engine.setTheme("org.eclipse.e4.demo.contacts.themes.darkgradient");
   }
}
</pre>
<p>Use the workbench model to bind this handler to a menu or tool bar item — that’s it. The two screenshots show the results when dynamically switching between the dark and the bright theme.</p>
<p><a href="http://www.toedter.com/blog/wp-content/uploads/2010/06/contacts-dark.png"><img alt="" class="alignnone size-medium wp-image-122" height="218" src="http://www.toedter.com/blog/wp-content/uploads/2010/06/contacts-dark-300x218.png" title="contacts-dark" width="300"/></a></p>
<p><a href="http://www.toedter.com/blog/wp-content/uploads/2010/06/contacts-bright.png"><img alt="" class="alignnone size-medium wp-image-123" height="218" src="http://www.toedter.com/blog/wp-content/uploads/2010/06/contacts-bright-300x218.png" title="contacts-bright" width="300"/></a></p>
<p>Kai<br/>
<a href="http://twitter.com/kaitoedter">Follow me on Twitter</a></p>


<!-- Begin SexyBookmarks Menu Code -->
<div class="sexy-bookmarks sexy-bookmarks-expand sexy-bookmarks-spaced">
<ul class="socials">
		<li class="sexy-delicious">
			<a href="http://delicious.com/post?url=http://www.toedter.com/blog/?p=113&amp;title=Eclipse+4.0+RCP%3A+Dynamic+CSS+Theme+Switching" rel="nofollow" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="sexy-twitter">
			<a href="http://twitter.com/home?status=Eclipse+4.0+RCP%3A+Dynamic+CSS+Theme+Switching+-+http://tinyurl.com/34jvta4+(via+@kaitoedter)&amp;source=shareaholic" rel="nofollow" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="sexy-facebook">
			<a href="http://www.facebook.com/share.php?v=4&amp;src=bm&amp;u=http://www.toedter.com/blog/?p=113&amp;t=Eclipse+4.0+RCP%3A+Dynamic+CSS+Theme+Switching" rel="nofollow" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="sexy-linkedin">
			<a href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http://www.toedter.com/blog/?p=113&amp;title=Eclipse+4.0+RCP%3A+Dynamic+CSS+Theme+Switching&amp;summary=The%20css%20theming%20capabilities%20of%20the%20Eclipse%204.0%20SDK%20are%20improving.%20%20Especially%20the%20mechanism%20to%20implement%20a%20dynamic%20theme%20switcher%20is%20much%20%20easier%20now.%20If%20you%20want%20to%20implement%20a%20css%20theme%20switcher%2C%20you%20just%20need%20%20to%20contribute%20to%20the%20extension%20point%20org.eclipse.e4.ui.css.swt.theme.%20%20Here%20is%20an%20exam&amp;source=Kai's Blog" rel="nofollow" title="Share this on LinkedIn">Share this on LinkedIn</a>
		</li>
		<li class="sexy-googlebookmarks">
			<a href="http://www.google.com/bookmarks/mark?op=add&amp;bkmk=http://www.toedter.com/blog/?p=113&amp;title=Eclipse+4.0+RCP%3A+Dynamic+CSS+Theme+Switching" rel="nofollow" title="Add this to Google Bookmarks">Add this to Google Bookmarks</a>
		</li>
</ul>
<div style="clear: both;"/>
</div>
<!-- End SexyBookmarks Menu Code --></div>
    </content>
    <updated>2010-06-09T06:40:11Z</updated>
    <category term="Eclipse"/>
    <category term="General"/>
    <category term="Java"/>
    <author>
      <name>Kai Tödter</name>
    </author>
    <source>
      <id>http://www.toedter.com/blog</id>
      <link href="http://www.toedter.com/blog/?feed=rss2&amp;cat=2" rel="self" type="application/atom+xml"/>
      <link href="http://www.toedter.com/blog" rel="alternate" type="text/html"/>
      <subtitle>Java, Eclipse, OSGi, and other cool stuff</subtitle>
      <title>Kai's Blog » Eclipse</title>
      <updated>2010-06-09T06:51:08Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://wagenknecht.org/blog/?p=268</id>
    <link href="http://wagenknecht.org/blog/archives/2010/06/reminder-democamp-in-jena-on-wednesday.html" rel="alternate" type="text/html"/>
    <title>Reminder: DemoCamp in Jena TODAY!</title>
    <summary>What? You don’t know what an Eclipse DemoCamp is?

Don’t worry, we have organized one in Jena for you.

The event will take place in our office building on the 29th floor. It’s the tallest building in the city. You can’t miss it. The doors will open at 4pm.

It’s brought to you by AGETO.

And we have picked [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>What? You don’t know what an Eclipse <a href="http://wiki.eclipse.org/Eclipse_DemoCamps_Helios_2010" target="_blank" title="Eclipse DemoCamps 2010">DemoCamp</a> is?</p>
<p><img alt="" class="alignnone size-full wp-image-279" height="76" src="http://wagenknecht.org/blog/wp-content/uploads/2010/06/Eclipse-camp.gif" title="Eclipse DemoCamp" width="90"/></p>
<p>Don’t worry, we have organized one in <a href="http://maps.google.com/maps/place?ftid=0x47a6a8b94f0a2f59:0x4208ec174333620&amp;q=Jena,+Germany&amp;hl=de&amp;ei=jo8OTKmLHoSd_AapisHRDw&amp;sll=50.926999,11.587011&amp;sspn=0.112596,0.256119&amp;ie=UTF8&amp;ll=51.006194,11.412048&amp;spn=0,0&amp;z=12&amp;iwloc=A" target="_blank" title="Jena">Jena</a> for you.</p>
<p><img alt="" class="alignnone size-medium wp-image-272" height="300" src="http://wagenknecht.org/blog/wp-content/uploads/2010/06/4868745-400x300.jpg" title="Jena" width="400"/></p>
<p>The event will take place in our <a href="http://maps.google.com/maps/place?hl=de&amp;cid=457646149436855605&amp;ved=0CFgQigUwAQ&amp;ei=u48OTNW-JMuJ_AbfrfjaDw&amp;ie=UTF8&amp;ll=51.006194,11.412048&amp;spn=0,0&amp;z=12&amp;iwloc=A" target="_blank" title="JenTower">office building</a> on the 29th floor. It’s the tallest building in the city. You can’t miss it. The doors will open at 4pm.</p>
<p><img alt="" class="alignnone size-medium wp-image-273" height="300" src="http://wagenknecht.org/blog/wp-content/uploads/2010/06/Turm_Jena_24bit_4-199x300.jpg" title="JenTower" width="199"/></p>
<p>It’s brought to you by <a href="http://feeds.feedburner.com/&quot;http://www.ageto.de/" target="_blank" title="AGETO Service GmbH">AGETO</a>.</p>
<p><a href="http://wagenknecht.org/blog/wp-content/uploads/2010/06/logo_ageto_220x37.png"><img alt="" class="alignnone size-full wp-image-269" height="37" src="http://wagenknecht.org/blog/wp-content/uploads/2010/06/logo_ageto_220x37.png" title="AGETO" width="220"/></a></p>
<p>And we have picked some interesting topics for you. There will be presentations/demos of runtime technologies (Equinox, OSGi, RCP) as well as tooling (EGit, Android) and modeling (Xtext, GMF).</p>
<p>If you haven’t already and plan to attend, please sign up on the <a href="http://wiki.eclipse.org/Eclipse_DemoCamps_Helios_2010/Jena" target="_blank" title="DemoCamp Jena Sign-Up">wiki</a>! At the end of the event, we’ll have some frosty beverages and snacks ready for some great discussions!</p>
<p>Have fun!</p>
<p><img alt="" class="alignnone size-medium wp-image-271" height="263" src="http://wagenknecht.org/blog/wp-content/uploads/2010/06/1074689-400x263.jpg" title="Jena at Night" width="400"/></p></div>
    </content>
    <updated>2010-06-09T06:00:10Z</updated>
    <category term="Eclipse"/>
    <category term="Fun"/>
    <category term="DemoCamp"/>
    <category term="Jena"/>
    <author>
      <name>Gunnar Wagenknecht</name>
    </author>
    <source>
      <id>http://wagenknecht.org/blog</id>
      <link href="http://wagenknecht.org/blog" rel="alternate" type="text/html"/>
      <link href="http://feeds.feedburner.com/eclipseguru" rel="self" type="application/atom+xml"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>Me, my family, whatever I like, whatever I want to write about!</subtitle>
      <title>Gunnar's Weblog</title>
      <updated>2010-06-09T06:17:12Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-6705935.post-6228932862592298350</id>
    <link href="http://alblue.bandlem.com/feeds/6228932862592298350/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=6705935&amp;postID=6228932862592298350" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/6705935/posts/default/6228932862592298350" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/6705935/posts/default/6228932862592298350" rel="self" type="application/atom+xml"/>
    <link href="http://alblue.bandlem.com/2010/06/xcode-4-and-new-features.html" rel="alternate" type="text/html"/>
    <title>XCode 4 and new features</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>It looks like the decision to <a href="http://alblue.bandlem.com/2010/06/objectiveclipse-project-closing-doors.html">close up ObjectivEClipse</a> was probably the right one, since Apple have just released XCode 4, with a lot of new goodness inside. Even if we'd not closed up shop before the announcement, we would have done shortly afterwards.</p>
<p>Top on the list is built-in support for <a href="http://git-scm.org">Git</a>, the popular DVCS tool. In fact, they seem to have done what they always do, which is to let others experiment with a feature, find out its capabilities, and then once all is done, write a great UI on the top. The new XCode has a time-machine like time-slider for showing you how your code changed over time.</p>
<p>There's also support for <a href="http://clang.llvm.org">Clang</a>, a new Apple-sponsored and LLVM-backed compiler for C, C++ and Objective-C. This has been in beta support for a while; it wouldn't surprise me that the eventual switch for compiling for iOS uses Clang by default. One of the things that Clang does much better than <code>gcc</code> is its error messages; for example, see <a href="http://blog.llvm.org/2010/04/amazing-feats-of-clang-error-recovery.html">amazing feats of clang error recovery</a>. In addition, the static analyser produces a lot of useful feedback to the compilation process, which uses the LLVM internals.</p>
<p>New is the <code><a href="http://lldb.llvm.org">lldb</a></code> debugger (see <a href="http://blog.llvm.org/2010/06/new-lldb-debugger.html">the announcement</a>), a replacement for <code>gdb</code>. Slowly but surely, <code>gcc</code> is being shown the door — and whilst it may be around for a while to come (especially for compilation of platform-portable code), it looks like Clang is the future of compilation on the Mac.</p>
<p>Given that Clang is platform-portable, open-source, and demonstrably better in certain aspects (e.g. the license is BSD and so can be compiled-in to projects, instead of externally invoked), how long will it be before other tools, like Eclipse CDT, take it up?</p><div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/6705935-6228932862592298350?l=alblue.bandlem.com" width="1"/></div></div>
    </content>
    <updated>2010-06-09T05:09:40Z</updated>
    <published>2010-06-08T08:53:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="2010"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="eclipse"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="objectivec"/>
    <author>
      <name>AlBlue</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/06362201865553416948</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-6705935</id>
      <author>
        <name>AlBlue</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/06362201865553416948</uri>
      </author>
      <link href="http://alblue.bandlem.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/6705935/posts/default/-/eclipse" rel="self" type="application/atom+xml"/>
      <link href="http://alblue.bandlem.com/search/label/eclipse" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://www.blogger.com/feeds/6705935/posts/default/-/eclipse/-/eclipse?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <subtitle>Thoughts on Java, XML, Enterprise Java and random other topics from time to time</subtitle>
      <title>AlBlue's Weblog</title>
      <updated>2010-06-09T06:42:00Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://live.eclipse.org/907 at http://live.eclipse.org</id>
    <link href="http://live.eclipse.org/node/907" rel="alternate" type="text/html"/>
    <title>Upcoming Event: Helios In Action</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Event Date: June 24, 2010 2:00 pm GMT-8<br/><br/><a href="http://live.eclipse.org/eclipse.org/go/heliosinaction">Register Now</a><br/><br/>   

<div class="field field-type-text field-field-author" id="author">
  <span class="field-item">Eclipse Committers</span>
</div>

<div class="resource-icon"><img border="0" src="http://live.eclipse.org/files/ECLP_webinar.gif"/> </div>  
<!--
<div class="field field-type-text field-field-title">
  <span class="field-item"><span class="title"><a href="/node/907">Helios In Action</a></span></span>
</div>
-->
<div id="abstract">
	<span class="field-label">Abstract:</span>  
	<div class="field field-type-text field-field-author">
	  <span class="field-item"><p>The Eclipse Foundation is presenting Helios In Action - a virtual conference where you can interact with project leads involved in the release and see demos of the new features. The annual simultaneous release has now grown to 39 projects with over 33 million lines of code, contributed by committers around the world. With such a large global community, Eclipse wants to bring Helios to you! </p>

<p>Sessions include:
</p><ul>
<li>Linux Tools - Andrew Overholt (Red Hat)</li>
<li>EMF on the Web - Kenn Hussey (Cloudsmith)</li>
<li>Eclipse Git Team Provider - Chris Aniszczyk (Red Hat)</li>
<li>JavaScript Development Tools - Simon Kaegi (IBM)</li>
<li>Java EE Standards Support from Web Tools - Naci Dai (eteration)</li>
<li>Marketplace Client &amp; p2 Discovery Connector - Mik Kersten (Tasktop Technologies)</li>
<li>Modeling - Ed Merks</li>
<li>Eclipse Runtime (RT) - Jeff McAffer (EclipseSource)</li>
</ul><p/>

<p>See <a href="http://www.eclipse.org/helios/heliosinaction.php">www.eclipse.org/helios/heliosinaction.ph</a> for descriptions of each session.</p>

<p>Each session will last 30 minutes for a total running time of 4 hours</p>

<p>Start time is 7:00 am PDT / 10:00 pm EDT / 2:00 pm GMT / 4:00 pm CEST - <a href="http://www.timeanddate.com/worldclock/fixedtime.html?month=6&amp;day=24&amp;year=2010&amp;hour=14&amp;min=0&amp;sec=0&amp;p1=0" target="">Convert to other time zones</a></p></span><br/>
	  <span class="field-item"><a href="http://del.icio.us/post?url=http%3A%2F%2Flive.eclipse.org%2Fnode%2F18&amp;title=Webinar" rel="nofollow" title="Bookmark this post on del.icio.us."><img alt="delicious" src="http://live.eclipse.org/modules/service_links/delicious.png"/> delicious</a> | <a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Flive.eclipse.org%2Fnode%2F18&amp;title=Webinar" rel="nofollow" title="Digg this post on digg.com."><img alt="digg" src="http://live.eclipse.org/modules/service_links/digg.png"/> digg</a> | <a href="http://www.dzone.com/links/add.html?url=http%3A%2F%2Flive.eclipse.org%2Fnode%2F18&amp;title=Webinar" rel="nofollow" title="Tag this post on DZone."><img alt="dzone" src="http://live.eclipse.org/modules/service_links/dzone.png"/> dzone</a></span>
	</div>
	
</div>

<div id="embedded">
	  </div>

<!-- <div id="comment_holder"></div> -->



<!-- ADMIN visible only fields --></div>
    </summary>
    <updated>2010-06-08T14:28:37Z</updated>
    <category scheme="http://live.eclipse.org/node/21" term="Eclipse Foundation"/>
    <category scheme="http://live.eclipse.org/node/18" term="Webinar"/>
    <category scheme="http://live.eclipse.org/node/715" term="EclipseRT"/>
    <category scheme="http://live.eclipse.org/node/887" term="Helios"/>
    <category scheme="http://live.eclipse.org/node/129" term="IDE"/>
    <category scheme="http://live.eclipse.org/node/420" term="Modeling"/>
    <category scheme="http://live.eclipse.org/node/14" term="English"/>
    <author>
      <name>EclipseLive</name>
      <email>lynn.gayowski@eclipse.org</email>
    </author>
    <source>
      <id>http://live.eclipse.org/eclipse_live_upcoming</id>
      <link href="http://live.eclipse.org/eclipse_live_upcoming" rel="alternate" type="text/html"/>
      <link href="http://feeds.feedburner.com/eclipselive" rel="self" type="application/rss+xml"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <title>Eclipse Live New and Upcoming Resources</title>
      <updated>2010-06-09T06:13:12Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-32881756.post-8632897686747013506</id>
    <link href="http://andymaleh.blogspot.com/2010/06/agile-comes-to-you-chicago-slides.html" rel="alternate" type="text/html"/>
    <title>Agile Comes To You - Chicago - Slides</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">The slides for the Agile Comes To You seminar have been posted, including my keynote presentation:<div><br/></div><div><a href="http://www.accurev.com/seminar/20100525-chicago-slides.html" rel="nofollow" target="_blank">http://www.accurev.com/seminar/20100525-chicago-slides.html</a></div><div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/32881756-8632897686747013506?l=andymaleh.blogspot.com" width="1"/></div></div>
    </summary>
    <updated>2010-06-08T14:27:00Z</updated>
    <author>
      <name>Annas "Andy" Maleh</name>
    </author>
    <source>
      <id>http://pipes.yahoo.com/pipes/pipe.info?_id=HlcXmguf3BGdQ2H6Bx2yXQ</id>
      <link href="http://pipes.yahoo.com/pipes/pipe.info?_id=HlcXmguf3BGdQ2H6Bx2yXQ" rel="alternate" type="text/html"/>
      <link href="http://pipes.yahoo.com/pipes/pipe.run?_id=HlcXmguf3BGdQ2H6Bx2yXQ&amp;_render=rss" rel="self" type="application/rss+xml"/>
      <subtitle>Pipes Output</subtitle>
      <title>Andy Maleh - Eclipse Blog</title>
      <updated>2010-06-09T06:52:22Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-1585332946379204379.post-4580579535958101390</id>
    <link href="http://intellectualcramps.blogspot.com/feeds/4580579535958101390/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=1585332946379204379&amp;postID=4580579535958101390" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/1585332946379204379/posts/default/4580579535958101390" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/1585332946379204379/posts/default/4580579535958101390" rel="self" type="application/atom+xml"/>
    <link href="http://intellectualcramps.blogspot.com/2010/05/maventycho-experiment.html" rel="alternate" type="text/html"/>
    <title>A Maven/Tycho Experiment</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Regardless of which build system you choose, there will be a learning curve.  How much of a curve can greatly depend on how the build system behaves.   If it is Ant based, it is going to be pretty verbose.   If it is Maven or Buildr based, the verboseness is replaced by terseness and sometimes cryptic configuration files.<br/><br/>With this said, I recently decided that the PsychoPath XPath processor needed to migrate off of the <a href="http://wiki.eclipse.org/Athena_Common_Build">Athena Common</a> build script that it had been using to a Maven based build.   The reason was two fold:<br/><br/><ol><li>I needed the ability to generate and eventually host a Maven repository for PsychoPath to help make it available outside of eclipse.   PsychoPath is just a bundle, but doesn't have specific OSGI dependencies so can be used outside of osgi container.</li><li>Portability of the build script.   While Athena itself is pretty portable, the underlining eclipse base builder, and the assumptions it makes on project configuration and layout can be difficult to work with at times and can be very system dependent.</li><li>Speed.   Even with PsychoPath, it takes on average 20 minutes to run the build, and test using Athena Common Builder.  Much of this is due to the way the base builder and Athena setup the target platform.</li></ol><a href="http://rombertw.wordpress.com/">Robert Munteanu</a>, answered a twitter call to help get PsychoPath setup using Maven 3 and <a href="http://www.eclipse.org/proposals/tycho/">Tycho</a>.   The results can be found on the <a href="http://github.com/kingargyle/PsychoPath-XPath-2-Processor">GitHub fork</a> of the eclipse code.  The results were pretty impressive.<br/><br/><ol><li>Average build time for Psychopath is number under 2 minutes.</li><li>Test runs went from an average of 2 minutes to 46 seconds.   This is still running all of the 8306 unit tests.</li><li>A P2 update site is created and available for consumption and Maven repos are available as well.</li><li>Pointing to which P2 repositories were needed and what dependencies to install was just a matter of adding the appropriate repository urls.   Tycho figured out the dependencies and built just what was needed to build and run the tests.<br/></li></ol>A Maven based build is not without its disadvantages.  In particular the fact that it downloads the Internet.   However after the initial download and unless your upstream dependencies change it only needs to do this once.   Nick has done some improvements to Athena in this area, but the reconstruction of the target platform and the p2 provisioning is the longest running portion of an Athena build.  Almost half the time of the build is spent during provisioning.<br/><br/>After Helios is out, and things have settled down again.  I'll be migrating Robert's contribution back into the main PsychoPath code base.   The Hudson based build will be updated to use the new Maven build for the CI builds.<br/><br/>One item I have not yet figured out how to do correctly with Tycho and Maven, is to include Code Coverage plugins like Emma and Cobertura in the builds.   The Instrumentation always seems to happen after the Tests have been run from the test plugin and not before the Test has been run.   Any insights on how to get Instrumentation working correctly with Tycho would be appreciated.<br/><br/><span style="font-style: italic;">Updated June 8, 2010:</span> Information on using Emma using ECLEmma headless can be found <a href="http://software.2206966.n2.nabble.com/Re-tus-on-Emma-code-coverage-for-unit-tests-in-Tycho-td4679811.html#a4679811">here</a>.<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/1585332946379204379-4580579535958101390?l=intellectualcramps.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2010-06-08T14:22:13Z</updated>
    <published>2010-05-30T20:19:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="build"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="eclipse"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="tycho"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="osgi"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="maven"/>
    <author>
      <name>David Carver</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/09341170413510029324</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-1585332946379204379</id>
      <author>
        <name>David Carver</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/09341170413510029324</uri>
      </author>
      <link href="http://intellectualcramps.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/1585332946379204379/posts/default/-/eclipse" rel="self" type="application/atom+xml"/>
      <link href="http://intellectualcramps.blogspot.com/search/label/eclipse" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://www.blogger.com/feeds/1585332946379204379/posts/default/-/eclipse/-/eclipse?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <subtitle>A little bit of this and little bit of that.  Random thoughts about eclipse, agile development, and other pieces of information that make me go hmmmmm.</subtitle>
      <title>Intellectual Cramps</title>
      <updated>2010-06-08T14:22:13Z</updated>
    </source>
  </entry>

  <entry xml:lang="en-us">
    <id>http://www.zdnet.com/blog/burnette/top-8-err-9-features-of-apple-iphone-4/1954</id>
    <link href="http://www.zdnet.com/blog/burnette/top-8-err-9-features-of-apple-iphone-4/1954" rel="alternate" type="text/html"/>
    <title>Top 8, err... 9 features of Apple iPhone 4</title>
    <summary>As expected, Steve Jobs announced the Apple iPhone 4 today at WWDC 2010. Here's a list of the top 8 (I mean, 9) features of the new phone.</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>As expected, Steve Jobs announced the Apple iPhone 4 today at <a href="http://www.zdnet.com/blog/btl/live-blog-steve-jobs-keynote-at-apple-wwdc/35441">WWDC 2010</a>. He highlighted <del datetime="2010-06-07T18:31:38+00:00">8</del> 9 features as being particularly important in the new device:</p><p><strong>1. All new design.</strong> The new phone is very thin, only 9.3mm. It has a stainless steel outer cover that doubles as the antenna for Bluetooth, WiFi, GPS, UMTS, and GSM. There’s a camera and LED flash on the back, and two microphones for noise cancellation (like the Nexus One). There’s a black and a white version.</p><p><strong>2. Retina Display.</strong> At 326dpi, the iPhone 4 has the densest display on the market. According to Jobs, 300dpi is about the limit that the human retina can distinguish at 10-12 inches away from the eye, so he’s calling this the “retina display”. It uses IPS technology for a wide viewing angle (just like the iPad) and has an 800:1 contrast ratio.</p><p>Using the same 3.5 inch diagonal size as the iPhone 3GS, iPhone 4 packs in 4 times as many pixels (960×640). Because the aspect ratio is exactly the same as older iPhones, no change is needed from developers and all old apps run unmodified. However, developers can include higher resolution graphics if they choose.</p><p><strong>3. New processor.</strong> The iPhone 4 will use the same A4 chip used in the iPad. Along with a bigger battery, the chip provides up to 7 hours talk time, 6 hours 3G browsing, and 300 hours of standby. Up to 32GB of storage is provided.</p><p><strong>4. Gyroscope.</strong> The new device has a real gyroscope in addition to the accelerometer that is standard now in most smart phones. The combination gives you 6-axis motion sensing. Developers can use a new CoreMotion API for extremely precise movements. The standard compass, proximity sensor, and ambient light sensor is there too.</p><p><strong>5. Camera.</strong> The camera’s megapixels have been increased to 5, plus they’re using a backside illuminated sensor for higher quality. In addition to great pictures it will also record HD video, 720p at 30fps. Geolocation embedded for both photos and video. There’s a camera in the front too (more on that later).</p><p>To go with the new camera, Apple has written a new app called iMovie for iPhone. It allows you to edit movies with transitions, music, titles, and so forth right on your phone. It’s for sale now for $4.99 in the App Store.</p><p><strong>6. iOS 4.</strong> Formerly called “<a href="http://www.zdnet.com/blog/burnette/apples-new-iphone-restrictions-and-the-5-stages-of-grief/1904">iPhone OS 4</a>“, the new operating system has a ton of new features including multitasking, unified inbox, conversation threading, and so forth. Google will still be the default search engine on the iPhone but users will have the option of choosing Yahoo or Microsoft Bing.</p><p>The name change simply reflects that the same system will be running on iPhone, iPod Touch, and iPad. The golden master candidate of iOS 4 is being released to developers today. iOS 4 will be free to all 3GS, 3G, and iPod Touch 2nd generation users on June 21st.</p><p><strong>7. iBooks.</strong> The iBooks app that originally appeared on the iPad is now available for the iPhone as well. That includes a new capability to read any PDF files, and iBookstore integration. You only have to buy a book once and it’s available on all your iOS devices. iBooks will automatically sync your place, bookmarks, and notes.</p><p><strong>8. iAds.</strong> Advertisements allow developers to make money on free and low-cost apps in the App Store. With the new iAd platform, there’s a standardized, supported platform to create in-app ads that don’t bounce the user out into the browser. Apple sells and hosts the ads, and developers get a 60% cut via iTunes connect (the same way you get paid for your apps).</p><p>iAds will be enabled July 1st but Apple has been selling spots for 8 weeks. So far they’ve sold over $60 million. JP Morgan estimated the entire mobile ad market to be worth $250 million this year, so that’s a significant number.</p><p>Originally Steve said he was going to highlight 8 features, but he couldn’t resist adding “one more thing”…</p><p><strong>9. FaceTime.</strong> Video calling makes its Apple debut on the iPhone 4. It works with WiFi only right now. You can set it up so the other person sees you (via the front camera) or what you’re looking at (via the back camera). FaceTime is being proposed as an international open standard. It uses other standards like H.264, AAC, SIP, STUN, RTP, SRTP, TURN, and ICE.</p><p>So how much is all this going to cost you? With a 2 year contract, $199 for the 16GB model and $299 for the 32GB model. AT&amp;T will let you upgrade to an iPhone 4 6 months earlier than usual if you re-up for another 2 years.</p><p>Preorders start June 15th, with the phone in stores on June 24th. 18 more countries in July, 24 more in August, and 40 more in September (total of 88 countries).</p></div>
    </content>
    <updated>2010-06-07T17:34:04Z</updated>
    <author>
      <name>Ed Burnette</name>
    </author>
    <source>
      <id>http://www.zdnet.com/blog/burnette/rss</id>
      <link href="http://www.zdnet.com/blog/burnette/rss" rel="alternate" type="text/html"/>
      <link href="http://www.zdnet.com/blog/burnette/rss" rel="self" type="application/atom+xml"/>
      <title>Ed Burnette's Dev Connection Blog RSS | ZDNet</title>
      <updated>2010-06-09T06:54:35Z</updated>
    </source>
  </entry>

  <entry xml:lang="en-us">
    <id>http://www.zdnet.com/blog/burnette/developers-made-over-1-billion-on-iphone-jobs-says/1952</id>
    <link href="http://www.zdnet.com/blog/burnette/developers-made-over-1-billion-on-iphone-jobs-says/1952" rel="alternate" type="text/html"/>
    <title>Developers made over $1 billion on iPhone, Jobs says</title>
    <summary>At today's WWDC 2010 Apple announced that payments to developers for iPhone, iPod Touch, and iPad apps have now exceeded $1 billion. Can Android catch up?</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>At today’s  <a href="http://www.zdnet.com/blog/btl/live-blog-steve-jobs-keynote-at-apple-wwdc/35441">WWDC 2010</a>, Apple announced that payments to developers for iPhone, iPod Touch, and iPad apps have now exceeded $1 billion US. Apple takes care of billing, taxes, and other administrative tasks, and in return takes a 30% cut of all sales. The rest goes directly to developers.</p><p>For free applications, developers can make money by showing advertisements instead of on the sale of the app. Apple’s new iAd platform aims to take over that market too, with a slightly larger cut going to Apple (40%).</p><p>According to a new report by Nielson quoted by Apple, in the first quarter of 2010 here are the smartphone shares in the US:</p><ol><li>RIM (Blackberry) 35%</li><li>Apple (iPhone) 28%</li><li>Microsoft (Windows Mobile) 19%</li><li>Google (Android) 9%</li><li>Other 9%</li></ol><p>However these numbers don’t tell the whole story. Only iPhone and Android have any significant developer ecosystem. By the end of June 2010 there will be 100 million “iOS” devices (iPhone, iPod Touch, and iPad) in the field according to Apple. Apple has a good head start on Android, but Android is catching up fast.</p><p>Most analysts feel it is inevitable that Android will surpass Android in the next couple of years given the dozens of partners producing the devices, all trying to compete with each other and with Apple in terms of price and features. But for the near term, Apple still rules the roost.</p></div>
    </content>
    <updated>2010-06-07T17:31:41Z</updated>
    <author>
      <name>Ed Burnette</name>
    </author>
    <source>
      <id>http://www.zdnet.com/blog/burnette/rss</id>
      <link href="http://www.zdnet.com/blog/burnette/rss" rel="alternate" type="text/html"/>
      <link href="http://www.zdnet.com/blog/burnette/rss" rel="self" type="application/atom+xml"/>
      <title>Ed Burnette's Dev Connection Blog RSS | ZDNet</title>
      <updated>2010-06-09T06:54:34Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-6705935.post-3662212812903626668</id>
    <link href="http://alblue.bandlem.com/feeds/3662212812903626668/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=6705935&amp;postID=3662212812903626668" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/6705935/posts/default/3662212812903626668" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/6705935/posts/default/3662212812903626668" rel="self" type="application/atom+xml"/>
    <link href="http://alblue.bandlem.com/2010/06/effective-ux-with-clipboard.html" rel="alternate" type="text/html"/>
    <title>Effective UX with the Clipboard</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>One of the things that becomes apparent if you use OSX for a while is that small things matter. It's not necessarily that writing in any particular target language is more or less capable than the other, but rather attention to detail – I've <a href="http://alblue.bandlem.com/2010/04/mac-doesn-get-much-love.html">written about this before</a>.</p>
<p>However, attention to <abbr title="User Experience">UX</abbr> can be the icing that turns a good product into a great product. The phrase “It just works” is often used with Mac products (both Apple and non-Apple) – when in fact, most software <em>works</em> in any case. So how is it done?</p>
<p>One tip I want to share here is the benefits of using the clipboard automatically where appropriate. I've <a href="http://alblue.bandlem.com/2010/02/link-to-source-repository-in-bundles.html">used this before</a> in examples, and proposed it for EGit (<a href="http://bugs.eclipse.org/315589">bug</a>, <a href="http://egit.eclipse.org/r/#change,803">review</a>) as well. My feeling of why it's not more widely used is simply that people haven't thought about doing it before.</p>
<p>If a user navigates into a dialog where they're expected to put in a line of structured text (say, a <code>git</code> URL for cloning), then the user really has two choices. The first is to re-type the text, character for character, by reading it off a page or e-mail. The second is to copy the text from that page and paste it in (with Command/Ctrl+C/V or mouse, for preference). The majority of times, especially if you're using a URL, you'll be using the clipboard to copy and paste the data in.</p>
<p>The second thing to observe is that you almost certainly have a good idea of what the text needs to look like. If that text begins with <code>git://</code>, then there's a pretty good chance that it's the URL in the right format. On the other hand, if it's <code>Did you enjoy the curry last night?</code> then it's probably some other irrelevant stuff from an e-mail or chat window. The point is <em>the program can automatically detect if it's valid or not</em>.</p>
<p>So, when activating the dialog, either at construction time or (better) at focus time, you can detect if the user's input is already in the right form, and use that. (A common case is when the dialog gains focus-switch, especially if the user already has the dialog open, Alt/Command tabs over to Firefox/Safari to copy the URL, then Alt/Command tabs back again.) There's really three cases here:</p>
<ul>
<li>The clipboard text is a random chat transcript, so we ignore it – net result, same as if we didn't introspect the clipboard in the first place</li>
<li>The clipboard text is in the right format, and the user has to paste it in manually upon dialog activation</li>
<li>The clipboard text is in the right format, and the program pastes it in automatically</li>
</ul>
<p>The number of cases where the data is <em>almost</em> in the right format (but not quite) is vanishingly small, and often can be resolved with a tighter regular expression. In fact, some programs that need a licence code to activate will send the code by mail, and then allow the entire message to be copied. Given that the licence code is a known format, it's possible to detect even if it appears anywhere in a block of text, not just if the entire text matches.</p>
<p>This technique has been <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=315589">pushed to the EGit project</a> for cloning git repositories. If you copy a git URL and go to the clone dialog (providing that you're using the development or nightly builds) then it will pre-fill the dialog out with that value.</p>
<p>Here's an example of detecting a URL inside a block of text on the clipboard:</p>
<pre>package com.example.clippy;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

import org.eclipse.swt.dnd.Clipboard;
import org.eclipse.swt.dnd.TextTransfer;
import org.eclipse.swt.widgets.Display;

public class ClipboardDemo {
  /**
   * Must be run in the main SWT thread
   */
  public static String getClipboardText() {
    Clipboard clippy = null;
    String text = null;
    try {
      clippy = new Clipboard(Display.getDefault());
      text = (String) clippy
          .getContents(TextTransfer.getInstance());
    } finally {
      if (clippy != null)
        clippy.dispose();
    }
    return text;
  }
  public static String getURL(String text) {
    Pattern p = Pattern.compile(".*(https?://\\S+).*"
      ,Pattern.DOTALL);
    if (text != null) {
      Matcher m = p.matcher(text);
      if (m.matches())
        return m.group(1);
    }
    return null;
  }
  public static void main(String[] args) {
    System.out.println("URL detected was: " + 
      getURL(getClipboardText()));
  }
}
</pre><div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/6705935-3662212812903626668?l=alblue.bandlem.com" width="1"/></div></div>
    </content>
    <updated>2010-06-07T14:06:50Z</updated>
    <published>2010-06-07T08:45:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="2010"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="tip"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="eclipse"/>
    <author>
      <name>AlBlue</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/06362201865553416948</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-6705935</id>
      <author>
        <name>AlBlue</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/06362201865553416948</uri>
      </author>
      <link href="http://alblue.bandlem.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/6705935/posts/default/-/eclipse" rel="self" type="application/atom+xml"/>
      <link href="http://alblue.bandlem.com/search/label/eclipse" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://www.blogger.com/feeds/6705935/posts/default/-/eclipse/-/eclipse?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <subtitle>Thoughts on Java, XML, Enterprise Java and random other topics from time to time</subtitle>
      <title>AlBlue's Weblog</title>
      <updated>2010-06-09T06:42:00Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://ianskerrett.wordpress.com/?p=1590</id>
    <link href="http://feedproxy.google.com/~r/IanSkerrett/~3/xtjF_XmwPXY/" rel="alternate" type="text/html"/>
    <title>Trends from the Eclipse Community Survey</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">The results of the Eclipse Community Survey 2010 are now available.   Thank you to everyone, all 1696 people, that took the time to give us your feedback.   A challenge for lots of open source communities is understanding the dynamics in the community, so these results provide  a useful data point. We have published a report, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ianskerrett.wordpress.com&amp;blog=405862&amp;post=1590&amp;subd=ianskerrett&amp;ref=&amp;feed=1"/></div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>The results of the Eclipse Community Survey 2010 are <a href="http://www.eclipse.org/org/community_survey/Eclipse_Survey_2010_Report.pdf">now available</a>.   Thank you to everyone, all 1696 people, that took the time to give us your feedback.   A challenge for lots of open source communities is understanding the dynamics in the community, so these results provide  a useful data point.</p>
<p>We have published a report, called the <a href="http://www.eclipse.org/org/community_survey/Eclipse_Survey_2010_Report.pdf">Open Source Developer Report</a>, that provides a summary of the survey results.  The detailed results and numbers are also available [<a href="http://www.eclipse.org/org/community_survey/Summary_Data_2010.xls">xls</a>]   [<a href="http://www.eclipse.org/org/community_survey/Summary_Data_2010.ods">ods</a>].  For those interesting in trends, we have done a similar surveys in <a href="http://www.eclipse.org/org/press-release/20071106_cbsurvey.php">2007</a> and <a href="http://www.eclipse.org/org/press-release/Eclipse_Survey_2009_final.pdf">2009</a>.</p>
<p>Each year I learn a lot analyzing the survey results.  <a href="http://ianskerrett.wordpress.com/2009/05/27/top-6-insights-from-the-eclipse-community-survey/">Last year I discovered</a> the popular products used in the Eclipse community and in 2010 a lot of those same products are still very popular.  However, some things did jump out as interesting trends for 2010.</p>
<p><strong>Trend #1. Linux on the developers desktop continues to grow</strong>.  We asked developers what was their primary operating system for software development.  In 2007, 20% said Linux was their development operating system. Now, in 2010 almost a third (33%) say Linux.  The biggest loser seems to be Windows 73.8% in 2007 down to 58.3% in 2010.  Interestingly, Mac OS X has only gone from 3.5% to 7.9%.</p>
<p><strong>Trend #2. JQuery has a lot of momentum and usage in the RIA space.</strong> JQuery ranked the highest (26.9%) RIA framework of those the stated RIA/Web Apps was their primary style of software.    Th next closest was Adobe Flex at 9.1%.  In the 2009 survey, JQuery had around 5% adoption.</p>
<p><strong>Trend #3. Open JDK has gain a lot of adoption.</strong> I don’t follow the JVM market that closely but I was pleasantly surprised to see 21.7% of the respondents state they target Open JDK.  Sun Hotspot predictably scored the highest at 68.8%.</p>
<p><strong>Trend #4. DVCS usage is growing; CVS is shrinking.</strong> DVCS is a hot trend for software development and Git support is a hot topic for Eclipse project committers.  Therefore, I was not surprised to see Git usage up from 2.4% (2009) to 6.8% (2010).   Mercurial usage also increased from 1.1% to 3%.   This growth seems to be coming from the decreased use of CVS, 20% (2009) to 12.6% (2010).  Subversion continues to be the most popular at 58.3%.</p>
<p><strong>Trend #5. Eclipse users upgrade quickly to new releases.</strong> 75.5% of the respondents said they were using Eclipse 3.5  (Galileo) and an additional 7.1% use the Helios milestones.   I’ve always known the Eclipse community moves quickly to a new release  but 82+% in less than 1 year is pretty impressive.   If you are building products that target Eclipse users, providing support for older versions of Eclipse might not be that important.  Granted, products that are built on top of Eclipse probably don’t move as fast.</p>
<p><strong>Trend #6. Lots of fragmentation in the methodology space.</strong> I don’t follow the software methodology space that closely but I was surprised by the fact that 1) 25% of the respondents don’t use a methodology and 2) the most popular, Scrum, has only 15% adoption.  The rest of the respondents identified over 18 different methodologies that they use for a development methodology.</p>
<p><strong>Trend #7. Open source participation seems to be stalled.</strong> In the survey, we asked a question about the corporate policies towards open source  participation. In 2009 48% claimed they could contribute back to OSS but in 2010 only 35.4% claim they could contribute back.    Conversely, 41% in 2010 claimed they use open source software but do not contribute back but in 2009 it was 27.1%.  Obviously not a trend any open source community would like to see.   I am not sure the reason companies would become less restrictive in their open source policies.   Any insight or feedback from the community would be appreciated.</p>
<p><strong>Trend #8. The community is satisfied.</strong> Once again it appears the Eclipse community is pretty satisfied, 39.9% are very satisfied and 48.5% are satisfied.   Pretty consistent with last year, so congratulations to everyone the makes Eclipse a great place.</p>
<p>There is a lot more information available in the <a href="http://www.eclipse.org/org/community_survey/Eclipse_Survey_2010_Report.pdf">report</a> and in the detailed data [<a href="http://www.eclipse.org/org/community_survey/Summary_Data_2010.xls">xls</a>]  [<a href="http://www.eclipse.org/org/community_survey/Summary_Data_2010.ods">ods</a>].  Let me know what you learned and your impressions.  As with any survey, there are obvious biases and this is just one data point but I do think it represents a decent view of what developers are doing.</p>
<br/>  <a href="http://feeds.wordpress.com/1.0/gocomments/ianskerrett.wordpress.com/1590/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ianskerrett.wordpress.com/1590/"/></a> <a href="http://feeds.wordpress.com/1.0/godelicious/ianskerrett.wordpress.com/1590/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ianskerrett.wordpress.com/1590/"/></a> <a href="http://feeds.wordpress.com/1.0/gostumble/ianskerrett.wordpress.com/1590/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ianskerrett.wordpress.com/1590/"/></a> <a href="http://feeds.wordpress.com/1.0/godigg/ianskerrett.wordpress.com/1590/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ianskerrett.wordpress.com/1590/"/></a> <a href="http://feeds.wordpress.com/1.0/goreddit/ianskerrett.wordpress.com/1590/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ianskerrett.wordpress.com/1590/"/></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ianskerrett.wordpress.com&amp;blog=405862&amp;post=1590&amp;subd=ianskerrett&amp;ref=&amp;feed=1"/></div>
    </content>
    <updated>2010-06-07T12:58:14Z</updated>
    <category term="eclipse"/><feedburner:origlink xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://ianskerrett.wordpress.com/2010/06/07/trends-from-the-eclipse-community-survey/</feedburner:origlink>
    <author>
      <name>Ian Skerrett</name>
    </author>
    <source>
      <id>http://ianskerrett.wordpress.com</id>
      <logo>http://www.gravatar.com/blavatar/9c84e29fb92c58a9b0f15e3a84ec0999?s=96&amp;d=http://s2.wp.com/i/buttonw-com.png</logo>
      <link href="http://ianskerrett.wordpress.com" rel="alternate" type="text/html"/>
      <link href="http://ianskerrett.wordpress.com/osd.xml" rel="search" type="application/opensearchdescription+xml"/>
      <link href="http://feeds.feedburner.com/IanSkerrett" rel="self" type="application/atom+xml"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>Marketing at Eclipse</subtitle>
      <title>Ian Skerrett</title>
      <updated>2010-06-09T06:12:03Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-1495223311988358528.post-4930690074784645118</id>
    <link href="http://koehnlein.blogspot.com/feeds/4930690074784645118/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=1495223311988358528&amp;postID=4930690074784645118" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/1495223311988358528/posts/default/4930690074784645118" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/1495223311988358528/posts/default/4930690074784645118" rel="self" type="application/atom+xml"/>
    <link href="http://koehnlein.blogspot.com/2010/06/xtext-webinar-and-eclipse-demo-camp.html" rel="alternate" type="text/html"/>
    <title>Xtext: Webinar and Eclipse Demo Camp</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Tomorrow (Tue, 8th of June) will be my Xtext presentation day ;-)<br/><br/>At 5pm CEST I will jump in for Sebastian in the <a href="http://live.eclipse.org/node/886">Xtext Webinar</a>. Sven and me will give a free one hour live seminar on Xtext introducing the framework and demonstrating its new fancy features in Helios. Moritz will assist us in answering your questions on the live chat. It's free and it's broadcast live via internet. Why not join? <br/><br/>If you're based in Germany's Ruhr area, you might want to visit the <a href="http://wiki.eclipse.org/Eclipse_DemoCamps_Helios_2010/Dortmund">Eclipse Demo Camp in Dortmund</a>. I will give another 20min demo of Xtext and - guess what - its new amazing features! But even for non-Xtext enthusiasts there will be nice demos, e.g on SAP's new graphical modeling framework "Graphiti", on developing Android apps with Eclipse and a lot more intriguing topics. <br/><br/>Finally, I plan to have my hopefully well-earned after-work pint in the Eclipse Stammtisch.<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/1495223311988358528-4930690074784645118?l=koehnlein.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2010-06-07T08:49:42Z</updated>
    <published>2010-06-07T08:30:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="Talk"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="Webinar"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="Eclipse"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="DSL"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="Xtext"/>
    <author>
      <name>Jan Köhnlein</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/02520748795681285494</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-1495223311988358528</id>
      <author>
        <name>Jan Köhnlein</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/02520748795681285494</uri>
      </author>
      <link href="http://koehnlein.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/1495223311988358528/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://koehnlein.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://www.blogger.com/feeds/1495223311988358528/posts/default?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <title>Jan's Blog</title>
      <updated>2010-06-08T12:54:40Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-7747481246630004369.post-5826496255929941844</id>
    <link href="http://java-persistence.blogspot.com/feeds/5826496255929941844/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=7747481246630004369&amp;postID=5826496255929941844" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/7747481246630004369/posts/default/5826496255929941844" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/7747481246630004369/posts/default/5826496255929941844" rel="self" type="application/atom+xml"/>
    <link href="http://java-persistence.blogspot.com/2010/06/off-to-epicenter-in-dublin.html" rel="alternate" type="text/html"/>
    <title>Off to Epicenter in Dublin</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><a href="http://epicenter.ie/2010_Doug_Clarke_Page"><img alt="" border="0" src="http://epicenter.ie/images/logo_small.png" style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 183px; height: 101px;"/></a><br/>I am once again off to Dublin this week to speak at the <a href="http://epicenter.ie/2010_Doug_Clarke_Page">Epicenter 2010 Conference</a> again. Although I do enjoy a good Guiness I am also looking forward to the conference and the topics I am covering this week as well as the hours of travel to catch up on some pre-release tasks. We are just wrapping up our 2.1 release of EclipseLink as part of the Eclipse Helios release train and there are many new features I am excited about so travelling this week will give me a chance to complete some examples for the release and blog about the features all EclipseLink users will want to learn about.<br/><br/>I am speaking this week on <a href="http://epicenter.ie/2010.html?zone_id=20&amp;mode=agenda&amp;session=144#session">performance </a>and <a href="http://epicenter.ie/2010.html?zone_id=20&amp;mode=agenda&amp;session=145#session">scalability</a>. Even after 13 years of helping customers use TopLink and now <a href="http://www.eclipse.org/eclipselink">EclipseLink </a>I still find diagnosing, solving, and innovating in these areas some of the most interesting work I take part in. Helping customers learn what they need to know about their models and application use cases and translating them into their object-relational mappings, schema, and usage of their persistence layer is challenging and often poorly understand by Java developers.<br/><br/>The persistence layer enables performance and scalability but there are many simple decisions developers can make while configuring and coding to their persistence layer which are made early in projects and have big effects late in projects when trying to reach their performance and scalability goals. Understanding what these decisions are and what the trade-offs are is so important and hopefully I'll help some of our Irish community avoid common pitfalls.<br/><br/>After working with a couple clients this week dealing with tough performance goals and very complex models I have some great examples I'll be adding to my cook book of slides on my way over the Atlantic.<br/><br/>Hope to see you in Dublin...<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/7747481246630004369-5826496255929941844?l=java-persistence.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2010-06-07T02:07:17Z</updated>
    <published>2010-06-07T01:09:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="eclipse eclipselink toplink jpa persistence performance scalability"/>
    <author>
      <name>Doug</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/02383574560699818383</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-7747481246630004369</id>
      <author>
        <name>Doug</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/02383574560699818383</uri>
      </author>
      <link href="http://java-persistence.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/7747481246630004369/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://java-persistence.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>A blog dedicated to Java Persistence issues and solutions related to EclipseLink and Oracle TopLink.</subtitle>
      <title>Java Persistence</title>
      <updated>2010-06-08T15:38:24Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-22723876.post-7909706753050315319</id>
    <link href="http://nathangervais.blogspot.com/feeds/7909706753050315319/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=22723876&amp;postID=7909706753050315319" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/22723876/posts/default/7909706753050315319" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/22723876/posts/default/7909706753050315319" rel="self" type="application/atom+xml"/>
    <link href="http://nathangervais.blogspot.com/2010/06/helios-and-download-page.html" rel="alternate" type="text/html"/>
    <title>Helios and the Download Page</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Yesterday I pushed out a new download page for the <a href="http://www.eclipse.org/downloads/index-helios.php">Helios Developer Builds</a>.  <br/><br/><a href="http://4.bp.blogspot.com/_343BBMlp_-0/TAk3YGQYK1I/AAAAAAAAABA/ItmE7k10ivE/s1600/download.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5478971308808612690" src="http://4.bp.blogspot.com/_343BBMlp_-0/TAk3YGQYK1I/AAAAAAAAABA/ItmE7k10ivE/s320/download.png" style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; cursor: hand; width: 307px; height: 320px;"/></a><br/><br/>The overall design goal for this page is to make the downloads page less cluttered while still providing all relevant information to the user.  This is the first stage in that process, its not finished, but I think we're close.  <br/><br/>If you've got any feedback, comments, or complaints please visit <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=310525">Bug 310525</a> and tell us about them.<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/22723876-7909706753050315319?l=nathangervais.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2010-06-04T17:27:32Z</updated>
    <published>2010-06-04T17:15:00Z</published>
    <author>
      <name>Nathan</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/12101051015202212319</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-22723876</id>
      <author>
        <name>Nathan</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/12101051015202212319</uri>
      </author>
      <link href="http://nathangervais.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/22723876/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://nathangervais.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <title>I'm with the Foundation</title>
      <updated>2010-06-04T17:27:32Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-16474715.post-3435641457096572072</id>
    <link href="http://cdtdoug.blogspot.com/feeds/3435641457096572072/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="http://cdtdoug.blogspot.com/2010/06/writing-games-for-android-and-other-app.html#comment-form" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/16474715/posts/default/3435641457096572072" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/16474715/posts/default/3435641457096572072" rel="self" type="application/atom+xml"/>
    <link href="http://cdtdoug.blogspot.com/2010/06/writing-games-for-android-and-other-app.html" rel="alternate" type="text/html"/>
    <title>Writing Games for Android ... and other app stores.</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Tools is my passion, especially tools for native programming. Being a game developer wannabe, I'm especially excited when I see game developers using the tools I help build. And that's one reason why I'm closely following and helping out with tooling for the Android Native Development Kit. There's a great community there that could really benefit from a good CDT integration, and maybe who will come help make that integration great.<br/><br/>At any rate, I watched Chris Pruett's session on Android game development from Google I/O and found it very educational. The first half was about technical details and tips behind Android game development, but the second half was just about good game development for mobile platforms. It's a great view and I've embedded it at the end of this post.<br/><br/>The real game changer (sorry to use the pun :) in my mind is the growth of app stores or markets. Pretty much every mobile platform vendor is creating some sort of one stop shopping experience for their devices and it's a great vehicle for app developers to quickly get their wares into the hands of paying customers. And with systems like Valve's Steam, you also get this great experience on your desktops and laptops.<br/><br/>The biggest advantage of markets, as Chris illustrated, is that it's also a great way to keep in touch with your customers. Customers tend to be brutally honest about what you've provided them, and it's good to get first hand looks at that feedback. And also, thanks to the markets, it's also easy to get updates and fixes into their hands. It's a win/win.<br/><br/>Anyway, it's a great view. Take a look.<br/><br/>Update: The embed didn't work very well. <a href="http://code.google.com/events/io/2010/sessions/writing-real-time-games-android.html">Just click this link instead.</a><div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/16474715-3435641457096572072?l=cdtdoug.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2010-06-04T15:26:41Z</updated>
    <published>2010-06-04T15:24:00Z</published>
    <author>
      <name>Doug Schaefer</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/14088309262879705593</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-16474715</id>
      <author>
        <name>Doug Schaefer</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/14088309262879705593</uri>
      </author>
      <link href="http://cdtdoug.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/16474715/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://cdtdoug.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://www.blogger.com/feeds/16474715/posts/default?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <subtitle>Hey all. This blog records my thoughts of the day about my life on the Eclipse CDT project. I will occasionally give opinions and news regarding the Eclipse CDT - the project and its ecosystem - and on open source in general. Please feel free to comment on anything I say. I appreciate it when people are honest with me. And, please, please, consider all of these opinions mine, not of my employer.</subtitle>
      <title>Doug on the Eclipse CDT</title>
      <updated>2010-06-06T17:18:56Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://blog.hantsuki.org/2010/06/03/eclipse-is-to-ibm-as-an-egg-is-to-a-chicken/</id>
    <link href="http://blog.hantsuki.org/2010/06/03/eclipse-is-to-ibm-as-an-egg-is-to-a-chicken/" rel="alternate" type="text/html"/>
    <title>Eclipse is to IBM, as an egg is to a chicken…</title>
    <summary>Actually, I’m not sure if that’s really a good analogy or not, but anyway…
opafan48: i have an issue with eclipse, i cant stand its connection to ibm, thats why i try to mind it..  how would u deal with this issue?
rcjsuen: opafan48: Eh?
rcjsuen: opafan48: Could you rephrase that?
rcjsuen: opafan48: You mean you don’t like [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Actually, I’m not sure if that’s really a good analogy or not, but anyway…</p>
<p><b>opafan48:</b> i have an issue with eclipse, i cant stand its connection to ibm, thats why i try to mind it..  how would u deal with this issue?<br/>
<b>rcjsuen:</b> opafan48: Eh?<br/>
<b>rcjsuen:</b> opafan48: Could you rephrase that?<br/>
<b>rcjsuen:</b> opafan48: You mean you don’t like the fact that IBM has people working on it?<br/>
<b>opafan48:</b> rcjsuen, not exactly, i dont like its origin.. which is as far as i read is in ibm..<br/>
<b>rcjsuen:</b> Well, there’s nothing you can do about it.<br/>
<b>rcjsuen:</b> That’s like saying<br/>
<b>rcjsuen:</b> I don’t like eggs because they come from chickens<br/>
<b>rcjsuen:</b> well okay it’s not like it’s the egg’s fault…?<br/>
<b>rcjsuen:</b> and it’s not like you can suddenly make eggs come from somewhere else<br/>
<b>rcjsuen:</b> Eclipse’s origin is IBM, and that isn’t going to change<br/>
<b>rcjsuen:</b> if you can’t stand it…i don’t know what to tell you<br/>
<b>opafan48:</b> a fork would be nice though :)<br/>
<b>opafan48:</b> with less commercial backing<br/>
<b>rcjsuen:</b> well, it’s open source, no one’s stopping anyone :o<br/>
<b>rcjsuen:</b> so it sounds like your problem is actually the fact that IBM has ppl on it<br/>
<b>opafan48:</b> i dont even kno the ppl.. so no problem with that<br/>
<b>rcjsuen:</b> Anyway, if you want to fork it, go right ahead.<br/>
<b>opafan48:</b> unfortunatelly i dont have either the talent nor the time..<br/>
<b>rcjsuen:</b> So what exactly would happen if it had less commercial backing anyway?<br/>
<b>rcjsuen:</b> I mean if it bothers you that much, feel free to use another tool. :)<br/>
<b>opafan48:</b> well i tried intellij idea, which is more sympathic in this issue.. but their license model doesnt fit my needs..<br/>
<b>rcjsuen:</b> I thought parts of IDEA was under ALv2<br/>
<b>rcjsuen:</b> And ALv2 is even more lax than the EPL.<br/>
<b>opafan48:</b> well thats not enough.. without the graph api<br/>
<b>rcjsuen:</b> opafan48: It sounds to me like you just want free stuff?<br/>
<b>opafan48:</b> rcjsuen, sure i do..</p>
<p><i>Well, at least this person’s honest…</i></p>
<p><b>NoobFukaire1:</b> a fork OF ECLIPSE?<br/>
<b>NoobFukaire1:</b> do you realize the magnitude of that<br/>
<b>rcjsuen:</b> opafan48: well i dunno what you want us to say here exactly<br/>
<b>rcjsuen:</b> you want a fork, okay, but you don’t have the time, okay…</p>
<p><i>Twenty or so minutes later…</i></p>
<p><b>opafan48:</b> anyway i check vi<br/>
* opafan48 has left #eclipse</p>
<p>So if you were on IRC at the time, what would you have said to opafan48?</p></div>
    </content>
    <updated>2010-06-03T22:50:58Z</updated>
    <category term="Eclipse"/>
    <author>
      <name>Remy</name>
    </author>
    <source>
      <id>http://blog.hantsuki.org</id>
      <link href="http://blog.hantsuki.org" rel="alternate" type="text/html"/>
      <link href="http://blog.hantsuki.org/category/technology/eclipse/feed" rel="self" type="application/rss+xml"/>
      <title>Hantsuki » Eclipse</title>
      <updated>2010-06-07T00:55:45Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-14521551.post-3778969513265826037</id>
    <link href="http://birtworld.blogspot.com/feeds/3778969513265826037/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=14521551&amp;postID=3778969513265826037" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/14521551/posts/default/3778969513265826037" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/14521551/posts/default/3778969513265826037" rel="self" type="application/atom+xml"/>
    <link href="http://birtworld.blogspot.com/2010/06/birt-excel-output.html" rel="alternate" type="text/html"/>
    <title>BIRT Excel Output</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">BIRT 2.5.2 provides a variety of tools to construct reports to analyze data.  These include charts, aggregation elements, drill to detail capabilities, nested tables, data cubes and crosstabs.  These features are presented very well in the AJAX based viewer when deployed to the web, supporting pagination, table of contents, and exporting of data and contents to other formats.  Out of the box, BIRT supports exporting to HTML, paginated HTML, WORD, PDF, PostScript, PPT, and Excel.  BIRT also provides an extension point to implement your own emitters.  For an example of implementing an XML emitter see <a href="http://www.developer.com/xml/article.php/10929_3732446_2/Developing-an-Eclipse-BIRT-XML-Report-Rendering-Extension.htm">Developing an Eclipse BIRT XML Report Rendering Extension</a> or t<a href="http://digiassn.blogspot.com/2007/08/birt-writing-emitter.html">BIRT: Writing an Emitter</a>.<br/><br/>As stated earlier BIRT supports exporting to Excel.  The BIRT Excel emitter creates a Microsoft Office XML XLS document that can be opened in Microsoft Office 2003 or greater.  To use this feature either add the __format=xls parameter to the BIRT viewer URL or use the AJAX export button.<br/><br/><a href="http://1.bp.blogspot.com/_GN1FyT5H8Kg/TAaxDA8otFI/AAAAAAAAAMo/m_7djTHKOBA/s1600/opensourcexls.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5478260662094836818" src="http://1.bp.blogspot.com/_GN1FyT5H8Kg/TAaxDA8otFI/AAAAAAAAAMo/m_7djTHKOBA/s400/opensourcexls.png" style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; cursor: hand; width: 400px; height: 275px;"/></a><br/><br/>if you are using the Report Engine API, simply set up a render option for XLS.<br/><br/><pre><br/><code><br/>                //RunAndRender Task<br/>  IReportRunnable design = null;<br/>  design = engine.openReportDesign("Reports/myreport.rptdesign"); <br/>  IRunAndRenderTask task = engine.createRunAndRenderTask(design);   <br/>  EXCELRenderOption options = new EXCELRenderOption(); <br/>  options.setOutputFormat("xls");<br/>  options.setOutputFileName("output/resample/myxls.xls");<br/>  task.setRenderOption(options);<br/>  task.run();<br/>  task.close();<br/><br/>                //or Render Task<br/>  IReportDocument document = null;<br/>  document = engine.openReportDocument("output/resample/myreport.rptdocument"); <br/>  EXCELRenderOption options = new EXCELRenderOption();<br/>  options.setOutputFormat("xls");<br/>  options.setOutputFileName("output/resample/xlsoutput.xls");<br/>  IRenderTask task = engine.createRenderTask(document);   <br/>  task.setRenderOption(options);<br/>  task.render();<br/><br/></code><br/></pre><br/>While the XLS output is quite good, some features are not supported.  For example new worksheets on page breaks are not created and images and charts are not exported to the XLS.   While the team continues to improve the XLS emitter there are some other options for emitting XLS.  One of these options is to use the <a href="http://sourceforge.net/projects/tribix/">Tribix emitter </a>located on source forge.  The Tribix project offers emitters for RTF, PPT and XLS.<br/><br/><a href="http://2.bp.blogspot.com/_GN1FyT5H8Kg/TAaxeqHn97I/AAAAAAAAAMw/DddnqMk4YwA/s1600/tribixdownload.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5478261137003247538" src="http://2.bp.blogspot.com/_GN1FyT5H8Kg/TAaxeqHn97I/AAAAAAAAAMw/DddnqMk4YwA/s400/tribixdownload.png" style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; cursor: hand; width: 374px; height: 400px;"/></a><br/><br/>If you wish to use just the XLS emitter, download the org.uguess.birt.report.engine.emitter.xls_version and org.uguess.birt.report.engine.common_version plugins and copy them to the plugins directory in your Eclipse install location.  You will also need to copy them to the runtime location as well.  For example, if you are using the WebViewer this will be the WebViewer/WEB-INF/Platform/plugins directory.  You will also need to remove org.eclipse.birt.report.engine.emitter.excel.config_version and org.eclipse.birt.report.engine.emitter.prototype.excel_version plugins from both locations to replace the out of the box XLS emitters.  Restart Eclipse with the –clean option and the Tribix emitter should work.  No API changes should be required if you are using the RE API.  New worksheets per page and image support should now work.<br/><br/><a href="http://2.bp.blogspot.com/_GN1FyT5H8Kg/TAaxsnXP2xI/AAAAAAAAAM4/RuhATz-tch0/s1600/tribixcharts.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5478261376781638418" src="http://2.bp.blogspot.com/_GN1FyT5H8Kg/TAaxsnXP2xI/AAAAAAAAAM4/RuhATz-tch0/s400/tribixcharts.png" style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; cursor: hand; width: 400px; height: 283px;"/></a><br/><br/>If you desire more XLS output options take a look at the Actuate XLS emitter that will be available in Actuate BIRT 11 which will be released this fall.  It allows exporting charts as either images or as native XLS charts.<br/><br/><a href="http://4.bp.blogspot.com/_GN1FyT5H8Kg/TAax6eBaT1I/AAAAAAAAANA/-VciF0rEcIw/s1600/ActuateBIRTXLSChartoutput.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5478261614792298322" src="http://4.bp.blogspot.com/_GN1FyT5H8Kg/TAax6eBaT1I/AAAAAAAAANA/-VciF0rEcIw/s400/ActuateBIRTXLSChartoutput.png" style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; cursor: hand; width: 400px; height: 212px;"/></a><br/><br/>It also provides the capability to export formulas using a new scripting language called EasyScript, within the BIRT Expression Builder.<br/><br/><a href="http://1.bp.blogspot.com/_GN1FyT5H8Kg/TAayFyN5S-I/AAAAAAAAANI/uV1DVAADbw0/s1600/ActuateEasyScript.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5478261809191930850" src="http://1.bp.blogspot.com/_GN1FyT5H8Kg/TAayFyN5S-I/AAAAAAAAANI/uV1DVAADbw0/s400/ActuateEasyScript.png" style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; cursor: hand; width: 400px; height: 255px;"/></a><br/><br/><a href="http://1.bp.blogspot.com/_GN1FyT5H8Kg/TAayMKhI8wI/AAAAAAAAANQ/lKlLwmWgh9I/s1600/ActuateFormulaExport.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5478261918794314498" src="http://1.bp.blogspot.com/_GN1FyT5H8Kg/TAayMKhI8wI/AAAAAAAAANQ/lKlLwmWgh9I/s400/ActuateFormulaExport.png" style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; cursor: hand; width: 400px; height: 236px;"/></a><br/><br/>The Actuate BIRT XLS emitter also offers the capability to export BIRT Crosstabs to native XLS Pivot Tables.<br/><br/><a href="http://1.bp.blogspot.com/_GN1FyT5H8Kg/TAayWlbuNJI/AAAAAAAAANY/SbN_0HThDJ8/s1600/ActuateXLSPivotTable.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5478262097818039442" src="http://1.bp.blogspot.com/_GN1FyT5H8Kg/TAayWlbuNJI/AAAAAAAAANY/SbN_0HThDJ8/s400/ActuateXLSPivotTable.png" style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; cursor: hand; width: 400px; height: 257px;"/></a><br/><br/>If you are interested in trying out the Actuate BIRT XLS emitter take a look at the Acutate 11 Milestone download page located on <a href="http://www.birt-exchange.org/org/wiki/index.php?title=Actuate_11">BIRT-Exchange</a>.<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/14521551-3778969513265826037?l=birtworld.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2010-06-03T18:10:37Z</updated>
    <published>2010-06-02T19:26:00Z</published>
    <author>
      <name>Jason Weathersby</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/13114050439576571984</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-14521551</id>
      <author>
        <name>Scott Rosenbaum</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/17441053019711310813</uri>
      </author>
      <link href="http://birtworld.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/14521551/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://birtworld.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://www.blogger.com/feeds/14521551/posts/default?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <subtitle>The Eclipse Business Intelligence and Reporting Tools project is an open-source project focused on the development and delivery of framework tools for reporting and business intelligence within the Eclipse platform.</subtitle>
      <title>BIRT World</title>
      <updated>2010-06-04T10:12:27Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-24248206.post-870214609778194055</id>
    <link href="http://blog.efftinge.de/feeds/870214609778194055/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=24248206&amp;postID=870214609778194055&amp;isPopup=true" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/24248206/posts/default/870214609778194055" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/24248206/posts/default/870214609778194055" rel="self" type="application/atom+xml"/>
    <link href="http://blog.efftinge.de/2010/06/5-good-reasons-to-watch-our-xtext.html" rel="alternate" type="text/html"/>
    <title>5 Good Reasons To Watch Our Xtext Webinar</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><a href="http://4.bp.blogspot.com/_Ii_da0jTxAY/TAdkNdhpqCI/AAAAAAAAAPM/820D5ULaDo4/s1600/Xtext-Webinar-2010-Logo-Kreide-sw.jpg"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5478457654146344994" src="http://4.bp.blogspot.com/_Ii_da0jTxAY/TAdkNdhpqCI/AAAAAAAAAPM/820D5ULaDo4/s400/Xtext-Webinar-2010-Logo-Kreide-sw.jpg" style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; cursor: hand; width: 400px; height: 217px;"/></a><div style="text-align: left;">Next Tuesday (June 8th) there will be an <a href="http://live.eclipse.org/node/886">interactive webinar </a><a href="http://live.eclipse.org/node/886">on Xtext at Eclipse Live</a>. Here are the best 5 reasons for you to show up:</div><div><br/><div><b>Reason I : </b>You want to learn how easy Domain-Specific Language (DSL) development can be</div><div><br/>People state that developing external DSLs is much more complicated than internal DSLs. With Xtext the opposite is the case. Xtext itself provides a concise language to describe DSLs, so that it takes only minutes to create a first draft of your language. You don't have to deal with complex meta programming or multiple syntax alternatives as you do in internal DSL development. With Xtext your language definition is concise and declarative <b>and</b> you get language specific IDE support.</div><div><br/><b>Reason II: </b>You want to see the new Helios features in action<br/><br/>In the Helios release Xtext graduated to version 1.0. It has grown up from a tiny little editor generator to a mature language development framework. Still simple things are simple, but you now get much more out of the box. Features like namespace-based scoping, a workspace index, a builder infrastructure, validation and linking against dirty editor state, quick fixes, linking to any Java elements and tight integration with JDT, enhanced serialization and formatting support and much more.</div><div><br/></div><div><b>Reason III:</b> You'ld like to see how "Modeling 2.0" looks like<br/><br/>The days of heavy weight, dogmatic modeling approaches are over. In 2010 Modeling technology is mature and a pragmatic solution to many problems. Xtext and EMF are a dream team! Models are now also code and integrate seamless with common development environments such as version control.<br/><br/><b>Reason IV:</b> You need a decent IDE for a particular programming language<br/><br/>It's astounding how many programming languages are used in the different industries. There are so many languages I'm sure you haven't heard of. Most of them have one thing in common: They lack decent tool support. I'm not talking about syntax coloring for Vim, but something close to what modern Java IDEs offer. We at <a href="http://www.itemis.com/">itemis</a> have already successfully implemented a couple of IDEs for various programming languages. We will show something in the webinar.<br/><br/><b>Reason V:</b> The webinar is free and interactive<br/><br/>As usual with Eclipse Live webinars, the event is free of charge and the integrated chat application allows us to communicate. The Xtext committers will attend and be happy to answer any questions.  Unfortunately <a href="http://zarnekow.blogspot.com/">Sebastian</a> won't be able to join (for personal reasons). But <a href="http://koehnlein.blogspot.com/">Jan</a> was so kind to jump in and do the presentation with me. We are looking forward to meet you online!</div><div>  <div>Have fun.<br/><div><br/></div></div></div></div><div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/24248206-870214609778194055?l=blog.efftinge.de" width="1"/></div></div>
    </content>
    <updated>2010-06-03T08:15:33Z</updated>
    <published>2010-06-03T07:41:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="webinar"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="eclipse"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="helios"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="xtext"/>
    <author>
      <name>Sven Efftinge</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/11751196715155150517</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-24248206</id>
      <author>
        <name>Sven Efftinge</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/11751196715155150517</uri>
      </author>
      <link href="http://blog.efftinge.de/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/24248206/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://blog.efftinge.de/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://www.blogger.com/feeds/24248206/posts/default?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <title>Sven Efftinge's Blog</title>
      <updated>2010-06-05T16:31:33Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-2310191777550204104.post-3073003865593821502</id>
    <link href="http://eclipseo.blogspot.com/feeds/3073003865593821502/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=2310191777550204104&amp;postID=3073003865593821502" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/2310191777550204104/posts/default/3073003865593821502" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/2310191777550204104/posts/default/3073003865593821502" rel="self" type="application/atom+xml"/>
    <link href="http://eclipseo.blogspot.com/2010/06/how-to-run-junit-programmatically.html" rel="alternate" type="text/html"/>
    <title>How to Run JUnit Programmatically</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">// JUnitLaunchShortcut  - The launch shortcut to launch JUnit tests.<br/><br/><br/>JUnitLaunchShortcut jUnitLaunchShortcut = new JUnitLaunchShortcut();<br/>jUnitLaunchShortcut.launch("Pass the Java Project containing JUnits Classes", "run");<br/><br/><br/><div style="text-align: right;">Regards's<br/><span style="color: rgb(255, 153, 255);">Karthikeyan</span><br/></div><div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/2310191777550204104-3073003865593821502?l=eclipseo.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2010-06-03T05:40:27Z</updated>
    <published>2010-06-03T05:34:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="Run JUnit Programmatically"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="JUnit Programmatically"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="JUnit"/>
    <author>
      <name>Karthikeyan</name>
      <email>karthykeyan.p@gmail.com</email>
      <uri>http://www.blogger.com/profile/18212284198766193692</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-2310191777550204104</id>
      <author>
        <name>Its_Me_Malai</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/04319454473329758815</uri>
      </author>
      <link href="http://eclipseo.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/2310191777550204104/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://eclipseo.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://www.blogger.com/feeds/2310191777550204104/posts/default?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <subtitle>This blog site is a symbol of our Passion towards Eclipse and a contribution to the Eclipse Community ... Eclipse Team, ANCiT Consulting</subtitle>
      <title>Its Eclipse in Clips ...</title>
      <updated>2010-06-03T05:50:56Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://live.eclipse.org/906 at http://live.eclipse.org</id>
    <link href="http://live.eclipse.org/node/906" rel="alternate" type="text/html"/>
    <title>Upcoming Event: Patterns and Best Practices for  Effective Java UI Testing</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Event Date: June 22, 2010 9:00 am GMT-8<br/><br/><a href="http://live.eclipse.org/www1.gotomeeting.com/register/309253720">Register Now</a><br/><br/>   

<div class="field field-type-text field-field-author" id="author">
  <span class="field-item">Phil Quitslund (Instantiations)</span>
</div>

<div class="resource-icon"><img border="0" src="http://live.eclipse.org/files/ECLP_webinar.gif"/> </div>  
<!--
<div class="field field-type-text field-field-title">
  <span class="field-item"><span class="title"><a href="/node/906">Patterns and Best Practices for  Effective Java UI Testing</a></span></span>
</div>
-->
<div id="abstract">
	<span class="field-label">Abstract:</span>  
	<div class="field field-type-text field-field-author">
	  <span class="field-item"><p>Join Java and Eclipse expert Phil Quitslund as he presents best practices for creating effective, consistent, and robust user interface tests. The user interface (UI) of an application is your front-line connection with the customer—if it doesn’t look good and work effectively the first time, your company reputation is at stake. The talk will address testing at all the stages of the development process and concrete examples will be drawn from extensive real-world experience testing Java/Eclipse/RCP applications.</p>
</span><br/>
	  <span class="field-item"><a href="http://del.icio.us/post?url=http%3A%2F%2Flive.eclipse.org%2Fnode%2F18&amp;title=Webinar" rel="nofollow" title="Bookmark this post on del.icio.us."><img alt="delicious" src="http://live.eclipse.org/modules/service_links/delicious.png"/> delicious</a> | <a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Flive.eclipse.org%2Fnode%2F18&amp;title=Webinar" rel="nofollow" title="Digg this post on digg.com."><img alt="digg" src="http://live.eclipse.org/modules/service_links/digg.png"/> digg</a> | <a href="http://www.dzone.com/links/add.html?url=http%3A%2F%2Flive.eclipse.org%2Fnode%2F18&amp;title=Webinar" rel="nofollow" title="Tag this post on DZone."><img alt="dzone" src="http://live.eclipse.org/modules/service_links/dzone.png"/> dzone</a></span>
	</div>
	
</div>

<div id="embedded">
	  </div>

<!-- <div id="comment_holder"></div> -->



<!-- ADMIN visible only fields --></div>
    </summary>
    <updated>2010-06-02T21:24:43Z</updated>
    <category scheme="http://live.eclipse.org/node/22" term="Member"/>
    <category scheme="http://live.eclipse.org/node/18" term="Webinar"/>
    <category scheme="http://live.eclipse.org/node/125" term="Enterprise"/>
    <category scheme="http://live.eclipse.org/node/136" term="RCP"/>
    <category scheme="http://live.eclipse.org/node/14" term="English"/>
    <author>
      <name>EclipseLive</name>
      <email>marta_george@instantiations.com</email>
    </author>
    <source>
      <id>http://live.eclipse.org/eclipse_live_upcoming</id>
      <link href="http://live.eclipse.org/eclipse_live_upcoming" rel="alternate" type="text/html"/>
      <link href="http://feeds.feedburner.com/eclipselive" rel="self" type="application/rss+xml"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <title>Eclipse Live New and Upcoming Resources</title>
      <updated>2010-06-09T06:13:12Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-14521551.post-7932873220674159902</id>
    <link href="http://www.eclipse.org/birt" rel="related" type="text/html"/>
    <link href="http://birtworld.blogspot.com/feeds/7932873220674159902/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=14521551&amp;postID=7932873220674159902" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/14521551/posts/default/7932873220674159902" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/14521551/posts/default/7932873220674159902" rel="self" type="application/atom+xml"/>
    <link href="http://birtworld.blogspot.com/2009/11/calling-spring-objects-from-birt.html" rel="alternate" type="text/html"/>
    <title>Calling Spring Objects from BIRT Expressions and Event Handlers</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Several examples are already available on the web, which demonstrate calling the BIRT engine from a Spring MVC application.<br/><br/><a href="http://internna.blogspot.com/2007/03/integrating-birt-with-spring-in-web.html">Integrating BIRT with Spring in a Web application</a><br/>and <br/><a href="http://blog.xebia.com/2006/08/29/reporting-the-eclipse-way/">Eclipse BIRT in Spring web applications</a><br/>are a couple of examples.<br/><br/>There is not much information on how to include Spring Beans within a report design.  This post details an example of injecting the Spring ApplicationContext into BIRT’s AppContext object which will allow you to call your Spring Beans in BIRT expressions or event handlers.  A link for the source is listed at the bottom.  A readme file containing instructions for building the example is included in the download.<br/><br/>You can include the BIRT runtime by following the post above or examining the download.  The Example implements a Spring Controller with the following code.<br/><br/><code><br/>package org.eclipse.birt.spring;<br/><br/>import javax.servlet.ServletContext;<br/>import javax.servlet.http.HttpServletRequest;<br/>import javax.servlet.http.HttpServletResponse;<br/><br/>import org.eclipse.birt.report.engine.api.HTMLRenderOption;<br/>import org.eclipse.birt.report.engine.api.HTMLServerImageHandler;<br/>import org.eclipse.birt.report.engine.api.IReportEngine;<br/>import org.eclipse.birt.report.engine.api.IReportRunnable;<br/>import org.eclipse.birt.report.engine.api.IRunAndRenderTask;<br/>import org.springframework.web.servlet.ModelAndView;<br/>import org.springframework.web.servlet.mvc.AbstractController;<br/><br/>public class BirtController extends AbstractController {<br/><br/>  private IReportEngine reportEngine;<br/><br/>  protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) throws Exception {<br/><br/> String reportName = request.getParameter("ReportName");<br/> ServletContext sc = request.getSession().getServletContext();<br/> reportEngine = BirtEngine.getBirtEngine(sc);<br/> IReportRunnable runnable = null;<br/> runnable = reportEngine.openReportDesign( sc.getRealPath("/Reports")+"/"+reportName );<br/>    IRunAndRenderTask runAndRenderTask = reportEngine.createRunAndRenderTask(runnable);<br/><br/>    HTMLRenderOption options = new HTMLRenderOption();<br/>    options.setOutputFormat("html");<br/>    options.setOutputStream(response.getOutputStream());<br/> options.setImageHandler(new HTMLServerImageHandler());<br/> options.setBaseImageURL(request.getContextPath()+"/images");<br/> options.setImageDirectory(sc.getRealPath("/images"));<br/>    runAndRenderTask.setRenderOption(options);<br/>    runAndRenderTask.run();<br/><br/>    return null;<br/>  }<br/><br/>}<br/></code><br/><br/>Note that no error checking is implemented in this example.  This controller class just extends the Spring AbstractController class passes the response object to the BIRT engine to output the report.  The report name is retrieved from the request.  Before running the report the BirtEngine class is used to retrieve the BIRT engine.  This is virtually the same BirtEngine class used in the servlet example available in the <a href="http://wiki.eclipse.org/Servlet_Example_%28BIRT%29_2.1">BIRT wiki</a> with some exceptions that are noted here.<br/><br/><code><br/>package org.eclipse.birt.spring;<br/><br/>import java.io.InputStream;<br/>import java.io.IOException;<br/>import java.util.Properties;<br/>import java.util.logging.Level;<br/><br/>import org.eclipse.birt.report.engine.api.EngineConfig;<br/>import org.eclipse.birt.report.engine.api.IReportEngine;<br/>import javax.servlet.*;<br/>import org.eclipse.birt.core.framework.PlatformServletContext;<br/>import org.eclipse.birt.core.framework.IPlatformContext;<br/>import org.eclipse.birt.core.framework.Platform;<br/>import org.eclipse.birt.core.exception.BirtException;<br/>import org.eclipse.birt.report.engine.api.IReportEngineFactory;<br/>import org.springframework.context.ApplicationContext; <br/><br/>public class BirtEngine {<br/><br/> private static IReportEngine birtEngine = null;<br/><br/> private static Properties configProps = new Properties();<br/><br/> private final static String configFile = "BirtConfig.properties";<br/><br/> public static synchronized void initBirtConfig() {<br/>  loadEngineProps();<br/> }<br/> public static synchronized IReportEngine getBirtEngine(ServletContext sc) {<br/>  if (birtEngine == null) <br/>  {<br/>   //optionally load engine props<br/>   //loadEngineProps();<br/>   EngineConfig config = new EngineConfig();<br/>   if( configProps != null){<br/>    String logLevel = configProps.getProperty("logLevel");<br/>    Level level = Level.OFF;<br/>    if ("SEVERE".equalsIgnoreCase(logLevel)) <br/>    {<br/>     level = Level.SEVERE;<br/>    } else if ("WARNING".equalsIgnoreCase(logLevel))<br/>    {<br/>     level = Level.WARNING;<br/>    } else if ("INFO".equalsIgnoreCase(logLevel)) <br/>    {<br/>     level = Level.INFO;<br/>    } else if ("CONFIG".equalsIgnoreCase(logLevel))<br/>    {<br/>     level = Level.CONFIG;<br/>    } else if ("FINE".equalsIgnoreCase(logLevel)) <br/>    {<br/>     level = Level.FINE;<br/>    } else if ("FINER".equalsIgnoreCase(logLevel)) <br/>    {<br/>     level = Level.FINER;<br/>    } else if ("FINEST".equalsIgnoreCase(logLevel)) <br/>    {<br/>     level = Level.FINEST;<br/>    } else if ("OFF".equalsIgnoreCase(logLevel)) <br/>    {<br/>     level = Level.OFF;<br/>    }<br/><br/>    config.setLogConfig(configProps.getProperty("logDirectory"), level);<br/>   }<br/>   config.setEngineHome("");<br/>   <br/>   IPlatformContext context = new PlatformServletContext( sc );<br/>   config.setPlatformContext( context );<br/>   config.getAppContext().put("PARENT_CLASSLOADER", BirtEngine.class.getClassLoader());<br/>   ApplicationContext sprCtx = ContextAccess.getApplicationContext();<br/>   config.getAppContext().put("spring",sprCtx);   <br/>   try<br/>   {<br/>    Platform.startup( config );<br/>   }<br/>   catch ( BirtException e )<br/>   {<br/>    e.printStackTrace( );<br/>   }<br/><br/>   IReportEngineFactory factory = (IReportEngineFactory) Platform<br/>   .createFactoryObject( IReportEngineFactory.EXTENSION_REPORT_ENGINE_FACTORY );<br/>   birtEngine = factory.createReportEngine( config );<br/>  }<br/>  return birtEngine;<br/> }<br/> public static synchronized void destroyBirtEngine() {<br/>  if (birtEngine == null) {<br/>   return;<br/>  }  <br/>  birtEngine.destroy();<br/>  Platform.shutdown();<br/>  birtEngine = null;<br/> }<br/> public Object clone() throws CloneNotSupportedException {<br/>  throw new CloneNotSupportedException();<br/> }<br/> private static void loadEngineProps() {<br/>  try {<br/>   //Config File must be in classpath<br/>   ClassLoader cl = Thread.currentThread ().getContextClassLoader();<br/>   InputStream in = null;<br/>   in = cl.getResourceAsStream (configFile);<br/>   configProps.load(in);<br/>   in.close();<br/>  } catch (IOException e) {<br/>   e.printStackTrace();<br/>  }<br/> }<br/>}<br/></code> <br/>This class just wraps access to the BIRT engine in a singleton.<br/>The notable changes are in these lines of code deal with the EngineConfig class.<br/><code><br/>   config.setEngineHome("");<br/>   <br/>   IPlatformContext context = new PlatformServletContext( sc );<br/>   config.setPlatformContext( context );<br/>   config.getAppContext().put("PARENT_CLASSLOADER", BirtEngine.class.getClassLoader());<br/>   ApplicationContext sprCtx = ContextAccess.getApplicationContext();<br/>   config.getAppContext().put("spring",sprCtx);  <br/></code><br/><br/>The setEngineHome is passed a blank value and setting the PlatformContext to use a PlatformServletContext class will by default look for the BIRT plugins in the WEB-INF/Platform/plugins directory.  Next we set the parent classloader for the report engine plugin so that classes available to the project will also be available to the BIRT engine.  The final line gets the Spring ApplicationContext instance and loads it into the BIRT AppContext object and names it “spring”.  The method used for retrieving the Spring context is described in a great post <a href="http://blog.jdevelop.eu/2008/07/06/access-the-spring-applicationcontext-from-everywhere-in-your-application/">here</a>. <br/><br/>The ContextAccess class is defined as follows.<br/><br/><code><br/>package org.eclipse.birt.spring;<br/>import org.springframework.context.ApplicationContext; <br/>public class ContextAccess {<br/> private static ApplicationContext ctx;<br/> public static void setApplicationContext(ApplicationContext applicationContext) {   <br/>  ctx = applicationContext;   <br/> }<br/> public static ApplicationContext getApplicationContext() {<br/>  return ctx;<br/> }<br/>}<br/></code><br/><br/>This Class just contains methods to set and get the static variable ctx, which will contain the Spring ApplicationContext with the addition of one more class.<br/><br/><code><br/><br/>package org.eclipse.birt.spring;<br/><br/>import org.springframework.beans.BeansException;<br/>import org.springframework.context.ApplicationContext;<br/>import org.springframework.context.ApplicationContextAware; <br/><br/><br/>public class SpringContextProvider implements ApplicationContextAware {<br/> public void setApplicationContext(ApplicationContext ctx) throws BeansException {<br/>  ContextAccess.setApplicationContext(ctx);<br/> }<br/>}<br/><br/></code><br/><br/>This Class implements the ApplicationContextAware interface which causes the Spring framework to callback this class with the Spring context, when it is created.  The Spring configuration file for this example looks like the following.<br/><br/>&lt;beans&gt;<br/> &lt;bean id="springContextProvider" class="org.eclipse.birt.spring.SpringContextProvider"&gt;<br/> &lt;/bean&gt;     <br/> &lt;bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"&gt;<br/>  &lt;property name="mappings"&gt;<br/>   &lt;props&gt;                <br/>    &lt;prop key="/runbirt.htm"&gt;birtController&lt;/prop&gt;<br/>   &lt;/props&gt;        <br/>  &lt;/property&gt;    <br/> &lt;/bean&gt;<br/> &lt;bean id="birtEngine"<br/>  class="org.eclipse.birt.spring.BirtEngine"<br/>  destroy-method="destroyBirtEngine"&gt;<br/> &lt;/bean&gt;<br/> &lt;bean id="birtController"<br/>  class="org.eclipse.birt.spring.BirtController"&gt;<br/> &lt;/bean&gt;<br/> &lt;bean id="carPojo"<br/>  class="org.eclipse.birt.spring.CarPojo"&gt;<br/> &lt;/bean&gt; <br/><br/>&lt;/beans&gt;<br/><br/>We have a carPojo bean that is available.  To access this from a BIRT expression, all we have to do is use the following syntax.<br/><br/><code><br/>var mypojo = spring.getBean("carPojo");<br/></code><br/><br/>You can then call the methods on the object. Eg <code>mypojo.getYear();</code><br/><br/><a href="http://4.bp.blogspot.com/_GN1FyT5H8Kg/SvLzpcdiV7I/AAAAAAAAAHI/0Vmh-WCz_OQ/s1600-h/expression.PNG"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5400646796510910386" src="http://4.bp.blogspot.com/_GN1FyT5H8Kg/SvLzpcdiV7I/AAAAAAAAAHI/0Vmh-WCz_OQ/s320/expression.PNG" style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; cursor: hand; width: 320px; height: 274px;"/></a><br/><br/>Output for the example is presented below.<br/><br/><a href="http://1.bp.blogspot.com/_GN1FyT5H8Kg/SvLz0-FxYpI/AAAAAAAAAHQ/BPdwDwyyUQ4/s1600-h/example.PNG"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5400646994516599442" src="http://1.bp.blogspot.com/_GN1FyT5H8Kg/SvLz0-FxYpI/AAAAAAAAAHQ/BPdwDwyyUQ4/s320/example.PNG" style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; cursor: hand; width: 320px; height: 230px;"/></a><br/><br/><br/><em>Caveats</em><br/>If you preview the report in the designer the report will not work.  This is because the Spring context is not available to the designer.  The report has to be deployed to test it.  There are many ways this example could be extended to circumvent this issue.  BIRT provides an extension point to enhance the expression builder which could be used with Spring Remoting to access the Spring context.  BIRT also provides an extension to implement a BIRT application context object within the designer that could be used in this same fashion.  I will try to implement one of these methods in the future to illustrate this concept.<br/><br/>The example can be downloaded from <a href="http://www.birt-exchange.org/devshare/designing-birt-reports/1082-accessing-spring-beans-from-birt-reports/#description">Birt-Exchange</a>.<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/14521551-7932873220674159902?l=birtworld.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2010-06-02T19:15:53Z</updated>
    <published>2009-11-05T15:38:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="scripts"/>
    <author>
      <name>Jason Weathersby</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/13114050439576571984</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-14521551</id>
      <author>
        <name>Scott Rosenbaum</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/17441053019711310813</uri>
      </author>
      <link href="http://birtworld.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/14521551/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://birtworld.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://www.blogger.com/feeds/14521551/posts/default?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <subtitle>The Eclipse Business Intelligence and Reporting Tools project is an open-source project focused on the development and delivery of framework tools for reporting and business intelligence within the Eclipse platform.</subtitle>
      <title>BIRT World</title>
      <updated>2010-06-04T10:12:27Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-7669578527628084045.post-605816072866833891</id>
    <link href="http://eclipselink.blogspot.com/feeds/605816072866833891/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=7669578527628084045&amp;postID=605816072866833891" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/7669578527628084045/posts/default/605816072866833891" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/7669578527628084045/posts/default/605816072866833891" rel="self" type="application/atom+xml"/>
    <link href="http://eclipselink.blogspot.com/2010/05/eclipselink-summit-2010-wrap-up.html" rel="alternate" type="text/html"/>
    <title>EclipseLink Summit 2010 Wrap Up</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><a href="http://wiki.eclipse.org/images/d/df/Eclipselink-summit-2010.jpg"><img alt="" border="0" src="http://wiki.eclipse.org/images/d/df/Eclipselink-summit-2010.jpg" style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 287px; height: 231px;"/></a><br/>Last week we held our first<a href="http://wiki.eclipse.org/EclipseLink/Development/Summit"> EclipseLink Summit</a> here in Ottawa with attendees from Canada, Germany, India, and the US. The principal goal of the summit was the exchange of technical information and ideas. We believe the event was a tremendous success!<br/><br/>We spent 2 days with committers leading technical sessions discussing areas from high level components and architecture to the detailed workings of EclipseLink's querying, caching, transactions, management, diagnostics, metadata processing, JPA 2.0 metamodel, and several other subsystems.<br/><br/>We would like to extend a big thank you to all of the committers who lead those sessions. The preparation time invested was obvious and the quality was amazing. We know it was tough to squeeze this additional work into your hectic pre-Helios schedules. The feedback from all attendees was excellent.<br/><br/>On the 3rd day of the Summit we focused more on the project itself. Starting with a talk from Jeff McAffer (EclipseSource) on OSGi and Eclipse RT technologies.  We then discussed EclipseLink and OSGi, documentation, development process, build, testing and our road map planning.<br/><br/>While not all of these sessions allowed us to come to concrete conclusions the discussions were great and will hopefully carry on in our weekly committer meetings where we continue to improve our processes and refine our direction.<br/><br/>For those interested a more detailed summary of our Thursday sessions will be published to the eclipselink-dev@eclipse.org mailing list and topics requiring further discussion will be added to the weekly meeting agenda.<br/><br/>Thanks again to all the presenters and attendees. We are all looking forward to future EclipseLInk Summits where we can gather committers, contributors, and and users to share ideas and grow our community.<br/><br/>Your Summit Program Committee<br/><br/>Doug Clarke, Peter Krogh, and Shaun Smith<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/7669578527628084045-605816072866833891?l=eclipselink.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2010-06-01T18:06:55Z</updated>
    <published>2010-06-01T01:54:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="EclipseLink Community"/>
    <author>
      <name>Doug</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/02383574560699818383</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-7669578527628084045</id>
      <author>
        <name>Doug</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/02383574560699818383</uri>
      </author>
      <link href="http://eclipselink.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/7669578527628084045/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://eclipselink.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://www.blogger.com/feeds/7669578527628084045/posts/default?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <subtitle>Team blog of the Eclipse Persistence Services Project (EclipseLink) committers.</subtitle>
      <title>EclipseLink Team Blog</title>
      <updated>2010-06-08T22:25:18Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://ianskerrett.wordpress.com/?p=1583</id>
    <link href="http://feedproxy.google.com/~r/IanSkerrett/~3/jxSBcumJPcE/" rel="alternate" type="text/html"/>
    <title>Welcome to 171 New Friends of Eclipse</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">The response of our Friends of Helios campaign has been simply outstanding!! Since we launched the campaign 171 people have joined as a Friend of Eclipse.   Thank you, thank you, thank you! We just need 189 more people to join by the end of July to hit our goal of 360 Friends of Helios.  If [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ianskerrett.wordpress.com&amp;blog=405862&amp;post=1583&amp;subd=ianskerrett&amp;ref=&amp;feed=1"/></div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p style="text-align: center;"><img alt="" class="aligncenter" height="63" src="http://www.eclipse.org/home/promotions/friends-helios/promo.jpg" width="443"/></p>
<p>The response of our <a href="http://eclipse.org/helios/friends.php">Friends of Helios</a> campaign has been simply outstanding!! Since we <a href="http://ianskerrett.wordpress.com/2010/05/12/wanted-360-friends-of-helios/">launched </a>the campaign <a href="http://eclipse.org/donate/donorlist.php?showAll=0">171 people </a>have joined as a Friend of Eclipse.   Thank you, thank you, thank you!</p>
<p>We just need 189 more people to join by the end of July to hit our goal of 360 Friends of Helios.  If you haven’t already joined please consider <a href="http://eclipse.org/donate/">joining today.</a></p>
<br/>  <a href="http://feeds.wordpress.com/1.0/gocomments/ianskerrett.wordpress.com/1583/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ianskerrett.wordpress.com/1583/"/></a> <a href="http://feeds.wordpress.com/1.0/godelicious/ianskerrett.wordpress.com/1583/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ianskerrett.wordpress.com/1583/"/></a> <a href="http://feeds.wordpress.com/1.0/gostumble/ianskerrett.wordpress.com/1583/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ianskerrett.wordpress.com/1583/"/></a> <a href="http://feeds.wordpress.com/1.0/godigg/ianskerrett.wordpress.com/1583/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ianskerrett.wordpress.com/1583/"/></a> <a href="http://feeds.wordpress.com/1.0/goreddit/ianskerrett.wordpress.com/1583/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ianskerrett.wordpress.com/1583/"/></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ianskerrett.wordpress.com&amp;blog=405862&amp;post=1583&amp;subd=ianskerrett&amp;ref=&amp;feed=1"/></div>
    </content>
    <updated>2010-06-01T15:43:05Z</updated>
    <category term="eclipse"/><feedburner:origlink xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://ianskerrett.wordpress.com/2010/06/01/welcome-to-171-new-friends-of-eclipse/</feedburner:origlink>
    <author>
      <name>Ian Skerrett</name>
    </author>
    <source>
      <id>http://ianskerrett.wordpress.com</id>
      <logo>http://www.gravatar.com/blavatar/9c84e29fb92c58a9b0f15e3a84ec0999?s=96&amp;d=http://s2.wp.com/i/buttonw-com.png</logo>
      <link href="http://ianskerrett.wordpress.com" rel="alternate" type="text/html"/>
      <link href="http://ianskerrett.wordpress.com/osd.xml" rel="search" type="application/opensearchdescription+xml"/>
      <link href="http://feeds.feedburner.com/IanSkerrett" rel="self" type="application/atom+xml"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>Marketing at Eclipse</subtitle>
      <title>Ian Skerrett</title>
      <updated>2010-06-09T06:12:03Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-25095519.post-5393117220521822228</id>
    <link href="http://aniefer.blogspot.com/feeds/5393117220521822228/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=25095519&amp;postID=5393117220521822228" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/25095519/posts/default/5393117220521822228" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/25095519/posts/default/5393117220521822228" rel="self" type="application/atom+xml"/>
    <link href="http://aniefer.blogspot.com/2010/05/opening-files-in-eclipse-from-command.html" rel="alternate" type="text/html"/>
    <title>Opening files in Eclipse from the command line</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">I ran a <a href="https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced;bug_status=RESOLVED;bug_status=VERIFIED;bug_status=CLOSED;classification=Eclipse;classification=RT;product=Equinox;product=JDT;product=PDE;product=Platform;target_milestone=3.6;target_milestone=3.6%20M1;target_milestone=3.6%20M2;target_milestone=3.6%20M3;target_milestone=3.6%20M4;target_milestone=3.6%20M5;target_milestone=3.6%20M6;target_milestone=3.6%20M7;target_milestone=3.6%20RC1;target_milestone=3.6%20RC2;target_milestone=3.6%20RC3;target_milestone=3.6%20RC4">query</a> to see all the bugs fixed in the Eclipse Platform in 3.6;  it is a long list (4309 and counting).  Felipe gets credit for the <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=4866">oldest bug fixed</a> (raised in 2001), but in a close second is <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=4922">bug 4922</a> (raised only a day later).<br/><br/>This bug is about opening files in eclipse from the command line.  Fixing it required a coordinated effort between Platform UI, <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=201154">SWT</a>, and the <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=178927">Equinox launcher</a>.  A lot of the credit for what was done goes to Kevin Barnes.<br/><br/>This post is an effort to explain some of the technical details of what is going here.<br/><br/><b>On the Mac...</b>: On the mac all we do is handle the apple event "<a href="http://developer.apple.com/mac/library/documentation/Darwin/Reference/ManPages/man3/Mac__AppleEvents.3pm.html">kAEOpenDocuments</a>", most of the rest of this post doesn't apply to the mac.<br/><br/><b>Windows and GTK... </b> Everything below applies to Windows and GTK, though there are some differences in the implementation details.<br/><br/><b>On Motif...</b> Sorry, this doesn't work on motif.<br/><h2>The Launcher</h2>Everything starts in the eclipse launcher.  We added a few new command line options:<br/><ul><li><tt style="font-weight: bold;">--launcher.openFile</tt> : obvious enough, specifies the file we want to open.</li><li><tt style="font-weight: bold;">--launcher.defaultAction</tt> : less obvious, specifies the action to take when the launcher is started without any '-' arguments on the command line.  Currently the only support value is "<tt>openFile</tt>".<br/></li><li><tt style="font-weight: bold;">--launcher.timeout</tt> : a timeout value for how long we should spend trying to communicate with an already running eclipse before we give up and just open a new eclipse instance.  Default is 60 (seconds).<br/></li></ul>The first argument is obvious enough, open the specified file in eclipse.<br/><div style="text-align: center;"><pre>eclipse --launcher.openFile myFile.txt<br/></pre></div>This is great, but it is a bit much to type on the command line and is <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=301033">not quite enough</a> to make everyone happy.  We introduced the "default action" argument.  This goes in the eclipse.ini file, the value should be "<tt>openFile</tt>":<br/><blockquote><pre>...<br/>-showsplash<br/>org.eclipse.platform<br/><span style="font-weight: bold;">--launcher.defaultAction</span><br/><span style="font-weight: bold;">openFile</span><br/>-vmargs<br/>-Xms256m<br/>-Xmx768m<br/></pre></blockquote>This tells the launcher that if it is called with a command line that only contains arguments that don't start with "<tt>-</tt>", then those arguments should be treated as if they followed "<tt>--launcher.openFile</tt>".<br/><div style="text-align: center;"><pre>eclipse myFile.txt<br/></pre></div>This is the kind of command line the launcher will receive on windows when you double click a file that is associated with eclipse, or you select files and choose "Open With" or "<a href="http://www.microsoft.com/windowsxp/using/setup/tips/advanced/sendtomenu.mspx">Send To</a>" Eclipse.<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=300532">Relative paths</a> will be resolved first against the current working directory, and second against the eclipse program directory.<br/><br/></p><h2>Talking to SWT</h2>The launcher talks to SWT through the use of a hidden window.  <b>The launcher and SWT both need to agree on the name of this window</b>.  This allows the launcher to find an already running eclipse and tell it to open the file.  Any RCP application will need to ensure they get this right for things to work.<br/><br/>The launcher bases this on its "official name".  The official name can be set with the <a href="http://help.eclipse.org/galileo/index.jsp?topic=/org.eclipse.platform.doc.isv/reference/misc/runtime-options.html"><tt>-name</tt></a> argument.  If <tt>-name</tt> is not set, then the official name is derived from the launcher executable, the extension is removed and the first letter is capitalized:  <tt>rcp.exe</tt> becomes <tt>Rcp</tt>.<br/><br/>SWT bases this on the value set with the <tt>Display.setAppName()</tt> function.  Normally, this is set by the Workbench when it creates the display and the value is the "appName" taken from the product extension point.<br/><br/><h2>Listening to SWT</h2>To take advantage of this, an RCP Application will need to register a listener for the SWT.OpenDocument event.  It should register this listener before calling <tt>PlatformUI.createAndRunWorkbench</tt> so that the listener is in place before the workbench starts running the event loop.  <br/><br/>The event loop will start running while the splash screen is still up, so events may arrive before the workbench is ready to actually open an editor for the file.  This means that the listener should save the file paths it gets from the OpenDocument events so they can be opened at some later time.  <tt>WorkbenchAdvisor#eventLoopIdle</tt> can be a good place to check for saved open file events.<br/><br/><h2>Implementation details</h2>Here is an overview of the flow of events in the launcher when processing --launcher.openFile on windows.<br/><ol><li>Get the Official Name.  As mentioned above, this is the "-name" argument, or derived from the executable name.  For this explanation, we will be using "<span style="font-weight: bold;">OfficialName</span>".</li><br/><li>Create and lock a <a href="http://msdn.microsoft.com/en-us/library/aa914601.aspx">mutex</a> named "SWT_Mutex_OfficialName".<br/><ul><li> If multiple files are selected and opened on windows, then a seperate eclipse process will be created for each one.  The mutex allows us to ensure only one eclipse instance is actually started.</li><li>One process will win the race to acquire the mutex, at this point, there will be no eclipse instance running that has the SWT window available. This process will start normally and eventually create the SWT window at which point it will release the mutex.</li><li>All the other processes wait trying to acquire the mutex, once the original process releases it, they will be able to find the SWT window and post their open file message there.</li><li>Each process only waits for <tt>--launcher.timeout</tt> seconds (default 60 seconds) before giving up and just starting its own full eclipse instance.</li></ul><br/></li><br/><li>Find the window named "SWT_Window_OfficialName"<br/><ul><li>If no such window exists, we are the first eclipse instance.  In this case, we set a timer to look again later and then proceed with starting eclipse.</li><li>The timer fires every second for <tt>--launcher.timeout</tt> seconds.</li><li>If we don't find the SWT window before the timeout (perhaps it took too long for the workbench to create the display), then we will be unable to open the file.</li><br/></ul><br/></li><li>Send a message to the SWT window<br/><ul><li>Once we've found the SWT window, we create a <a href="http://msdn.microsoft.com/en-us/library/ms644947%28VS.85%29.aspx">custom message</a> named "SWT_OPENDOC".  We <a href="http://msdn.microsoft.com/en-us/library/ms644950%28v=VS.85%29.aspx">send</a> this message with wParam &amp; lParam specifying a shared memory id.</li><li>We write to the name of the file to open into shared memory, and when SWT receives the SWT_OPENDOC message, it uses that id to read the shared memory.</li><li>The launcher has long used shared memory on all platforms for the splash screen, restarts and exit messages.</li><li>Once SWT reads the file name from shared memory, it posts its own SWT.OpenDocument event.</li></ul></li></ol>On GTK, things happen in a similar manner with a few differences:<br/><ol><li>We use <a href="http://linux.die.net/man/3/sem_open">semaphores</a>.<br/><ul><li> Semaphores are not cleaned up automatically if the process exits unexpectedly.  So we try to hold the semaphore for as short a time as possible and we install SIGINT and SIGQUIT signal handlers for the time we hold the semaphore.<br/></li><li>The launcher creates a hidden GTK window named <tt>SWT_Window_Launcher<b>OfficalName</b></tt> which is used in the same way as the mutex on windows.  This lets us avoid holding the semaphore for an extended time while the first eclipse process starts up.<br/></li></ul></li><br/><li>We use a <a href="http://library.gnome.org/devel/gdk3/stable/gdk3-Properties-and-Atoms.html#gdk-property-change">property</a> instead of a message.<br/><ul><li>The property is named <tt>org.eclipse.swt.filePath.message</tt>.</li><li>The value is a colon separate list of file paths to open.  Shared memory is not used like it is on windows.</li></ul></li></ol><div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/25095519-5393117220521822228?l=aniefer.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2010-05-31T21:04:45Z</updated>
    <published>2010-05-28T19:37:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="Launcher"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="Eclipse"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="OpenDocument"/>
    <author>
      <name>Andrew Niefer</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/10918930759740557341</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-25095519</id>
      <author>
        <name>Andrew Niefer</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/10918930759740557341</uri>
      </author>
      <link href="http://aniefer.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/25095519/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://aniefer.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://www.blogger.com/feeds/25095519/posts/default?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <subtitle>One more Eclipse developer.</subtitle>
      <title>Andrew Niefer</title>
      <updated>2010-06-08T17:28:51Z</updated>
    </source>
  </entry>

  <entry xml:lang="en-us">
    <id>http://www.jroller.com/andyl/entry/my_helios_release</id>
    <link href="http://www.jroller.com/andyl/entry/my_helios_release" rel="alternate" type="text/html"/>
    <title>My Helios release</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>
Well, the same procedure as <b><a href="http://www.jroller.com/andyl/entry/on_galileo_train">every year</a></b> (no, it's not p2 this time:-) - here is my personal "Helios" release including updates of all of my own plugins (there is no <b><a href="http://findbugs.sourceforge.net/">FindBugs</a></b> Eclipse plugin update until now, as I was/I'm heavily involved in the <b><a href="http://www.javaforge.com/project/HGE">MercurialEclipse</a></b> development). BTW, 5 of the plugins are hosted now on <b><a href="http://code.google.com/a/eclipselabs.org">Eclipse Labs</a></b> and using <b><a href="http://mercurial.selenic.com/">Mercurial</a></b> as version control system behind. 
</p>
<p><i><b>Side note</b>: Last August after the disaster with bugfix propagation between different branches in the FindBugs project I've started to looking for a replacement for the SVN (which was the evil system). I quickly became the committer rights in the MercurialEclipse plugin - and now few months later I've managed all of my project updates in a full featured IDE without the command line. 
</i></p>
<p>
There are no groundbreaking changes - mostly some code polishing and few small enhancements, as most of my plugins are mature enough. Go to the project pages to see what is the difference to the old versions. <b>Warning</b>: with this "Helios" release I give up support for Eclipse releases older Eclipse 3.5. Technically there are no changes preventing the code to run on older Eclipse versions, but I simply don't have time and energy to support ALL of the possible plugin/platform/OS combinations. Eclipse 3.5 + 3.6 should be enough from now.
</p><ul>
<li>
<b><a href="http://andrei.gmxhome.de/anyedit/index.html">AnyeditTools 2.3.1</a></b>
</li>
<li>
<b><a href="http://andrei.gmxhome.de/bytecode/index.html">Bytecode Outline 2.3.0</a></b>
</li>
<li>
<b><a href="http://andrei.gmxhome.de/datahierarchy/index.html">DataHierarchy 1.0.0</a></b>
</li>
<li>
<b><a href="http://andrei.gmxhome.de/skins/index.html">Extended VS Presentation 1.5.4</a></b>
</li>
<li>
<b><a href="http://andrei.gmxhome.de/filesync/index.html">FileSync 1.3.6</a></b>
</li>
<li>
<b><a href="http://andrei.gmxhome.de/jdepend4eclipse/index.html">JDepend4Eclipse 1.2.2</a></b>
</li>
</ul>
<p/>
<p>
Enjoy :-)
</p></div>
    </summary>
    <updated>2010-05-31T18:20:03Z</updated>
    <category term="Java"/>
    <category term="eclipse"/>
    <category term="helios"/>
    <category term="release"/>
    <author>
      <name>Andrei Loskutov</name>
    </author>
    <source>
      <id>http://www.jroller.com/andyl/</id>
      <link href="http://www.jroller.com/andyl/" rel="alternate" type="text/html"/>
      <link href="http://www.jroller.com/andyl/feed/entries/rss" rel="self" type="application/atom+xml"/>
      <rights>Copyright 2010</rights>
      <subtitle>(Andrei Loskutov sein Weblog)</subtitle>
      <title>Just code</title>
      <updated>2010-06-09T06:52:13Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-24248206.post-7646231212825894582</id>
    <link href="http://blog.efftinge.de/feeds/7646231212825894582/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=24248206&amp;postID=7646231212825894582&amp;isPopup=true" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/24248206/posts/default/7646231212825894582" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/24248206/posts/default/7646231212825894582" rel="self" type="application/atom+xml"/>
    <link href="http://blog.efftinge.de/2009/11/xtext-in-automotive-industry.html" rel="alternate" type="text/html"/>
    <title>Xtext in the automotive industry</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><a href="http://2.bp.blogspot.com/_Ii_da0jTxAY/Svw04lZ900I/AAAAAAAAANA/XSBSb3086sQ/s1600-h/P90053936.jpg"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5403251799656092482" src="http://2.bp.blogspot.com/_Ii_da0jTxAY/Svw04lZ900I/AAAAAAAAANA/XSBSb3086sQ/s400/P90053936.jpg" style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 400px; height: 267px;"/></a>At this year's <a href="http://www.blogger.com/www.eclipsecon.org/summiteurope2009/">Eclipse Summit Europe</a> there was a <a href="http://www.eclipsecon.org/summiteurope2009/sessions?id=988">very nice Xtext-related talk</a> given by <a href="https://www.xing.com/profile/Sebastian_Benz5">Sebastian Benz</a> who is working at BMW Car IT.<br/>The talk was about how they used <a href="http://www.xtext.org/">Xtext</a> in order to develop a textual syntax and corresponding IDE for the <a href="http://www.autosar.org/">AUTOSAR</a> standard. The name of the project is ARText and it is freely available to all AUTOSAR members as part of the <a href="http://www.artop.org/">Artop project</a>.<br/><br/>One of the biggest challenges when implementing the AUTOSAR standard is to create scalable solutions. AUTOSAR projects might become very, very big and in order to work with such huge projects the tools need to perform very well. In the modeling world people usually strife for repository-based (i.e. database-based) solutions as soon as projects get really big. However, the folks at BMW Car IT wanted to develop AUTOSAR projects in a traditional text-based manner and given all the good experiences with tools like JDT or IntelliJ, it's clear that text-based IDEs can scale very well.<br/><br/>In order to implement the language they first had tried the old Xtext version from oAW, which was way too slow. Then, later, when the new <a href="http://www.eclipse.org/Xtext">TMF Xtext</a> came around they gave it another try and saw that the performance had been improved significantly. Sebastian showed the following slide in his talk:<br/><a href="http://3.bp.blogspot.com/_Ii_da0jTxAY/SwZahStRobI/AAAAAAAAANY/BBnEHjCb9Ho/s1600/performance.jpg"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5406107930708779442" src="http://3.bp.blogspot.com/_Ii_da0jTxAY/SwZahStRobI/AAAAAAAAANY/BBnEHjCb9Ho/s400/performance.jpg" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 283px;"/></a>After that he explained how they have solved a couple of other problems, such as supporting different releases of the standard or making the language extendable. All the solutions looked very nice, they must have some very skilled people at BMW Car IT.<br/><br/>He compared working with the state-of-the-art commercial graphical modeling tool (What's the name of it?) and the ARText IDE and found that the use of ARText reduces development time by about 40%.<br/><br/>In the end there was this nice summary slide I don't want to withhold:<br/><span style="text-decoration: underline;"><br/></span><a href="http://2.bp.blogspot.com/_Ii_da0jTxAY/SwZa6Up44GI/AAAAAAAAANg/FkPqBJSRRhI/s1600/summary.jpg"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5406108360728174690" src="http://2.bp.blogspot.com/_Ii_da0jTxAY/SwZa6Up44GI/AAAAAAAAANg/FkPqBJSRRhI/s400/summary.jpg" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 283px;"/></a>It was a very nice talk and of course a pleasure to see that Xtext is used by such smart people in such an interesting environment. And even better it seems that they've had as much fun using Xtext as we had and still have when developing (and using) it. :-)<br/><br/>Btw.: If you have <a href="http://blog.efftinge.de/2009/09/xtext-in-wind-energy.html">other interesting applications</a> of Xtext or Eclipse Modeling in general, please contact me. (Even if you don't want me to blog about it ;-))<div><br/></div><div>Edited: Sebastian has recently posted a screencast showing ARText in action:</div><br/><div><br/><p><a href="http://vimeo.com/12080038">ARText in Action!</a> from <a href="http://vimeo.com/user3912163">Sebastian Benz</a> on <a href="http://vimeo.com">Vimeo</a>.</p><br/></div><div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/24248206-7646231212825894582?l=blog.efftinge.de" width="1"/></div></div>
    </content>
    <updated>2010-05-31T17:43:37Z</updated>
    <published>2009-11-12T15:22:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="eclipse summit"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="DSLs"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="eclipse"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="xtext"/>
    <author>
      <name>Sven Efftinge</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/11751196715155150517</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-24248206</id>
      <author>
        <name>Sven Efftinge</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/11751196715155150517</uri>
      </author>
      <link href="http://blog.efftinge.de/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/24248206/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://blog.efftinge.de/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://www.blogger.com/feeds/24248206/posts/default?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <title>Sven Efftinge's Blog</title>
      <updated>2010-06-05T16:31:33Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-27225531.post-7939035955482167670</id>
    <link href="http://lenettoyeur-on-eclipse.blogspot.com/feeds/7939035955482167670/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=27225531&amp;postID=7939035955482167670" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/27225531/posts/default/7939035955482167670" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/27225531/posts/default/7939035955482167670" rel="self" type="application/atom+xml"/>
    <link href="http://lenettoyeur-on-eclipse.blogspot.com/2010/05/eclipse-demo-camp-guelph.html" rel="alternate" type="text/html"/>
    <title>Eclipse demo Camp Guelph</title>
    <summary>Sonatype is hosting a Maven Meetup  and an Eclipse DemoCamp in Guelph, Ontario, and members of IBM, Sonatype and RIM will be a part of the presentation and demo lineups.So far, the DemoCamp presentations will cover topics such as API Tooling, Eclipse Integration, Tycho, and e4-based applications.Excited to hear about all this, register online at http://guestlistapp.com/events/21909 since seated</summary>
    <updated>2010-05-31T14:34:34Z</updated>
    <published>2010-05-31T14:31:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="democamp"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="guelph"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="eclipse"/>
    <author>
      <name>Le ScaL</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/05469838363528861975</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-27225531</id>
      <author>
        <name>Le ScaL</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/05469838363528861975</uri>
      </author>
      <link href="http://lenettoyeur-on-eclipse.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/27225531/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://lenettoyeur-on-eclipse.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://www.blogger.com/feeds/27225531/posts/default?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <subtitle>Things on eclipse from a core guy.</subtitle>
      <title>Pascal (aka LeNettoyeur) on Eclipse</title>
      <updated>2010-05-31T14:34:34Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-32881756.post-7979196781281471265</id>
    <link href="http://andymaleh.blogspot.com/2010/05/pair-programming-in-wild.html" rel="alternate" type="text/html"/>
    <title>Pair Programming in the Wild</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Pair-programming is probably one of <a href="http://www.extremeprogramming.org/" rel="nofollow" target="_blank">XP</a>'s most controversial practices, and that may have been one of the reasons I initially got attracted to it about 5 years ago. After all, sticking only to practices that are mainstream, will end up with mainstream results, yet studying out-of-the-box practices that may potentially yield a world's difference in productivity and quality, is like discovering an O(1) algorithm in comparison to O(n): big difference!<div><br/></div><div>So, what is pair programming about anyways?</div><div><br/></div><div>In a keynote presentation that I gave at the <a href="http://www.accurev.com/seminar/chicago20100525-4" rel="nofollow" target="_blank">Agile Comes To You Seminar</a> last week, I defined it as:</div><div><i/><blockquote><i>Two programmers solve problems together on </i><div><i>one machine: </i></div><div><ul><li><i>The driver (person on the keyboard) focuses on writing code </i></li><li><i>The navigator focuses on strategic direction</i></li></ul></div><div/></blockquote><div>Notice the emphasis on how the programmers "solve problems together" as opposed to write code together. In other words, writing code is not the bottleneck, solving problems is.</div></div><div><br/></div><div> If writing code was indeed a bottleneck, then pair programming would have been a very different skill. It would have been about one programmer learning how to type on two keyboards at once instead of two programmers typing on one keyboard. It would have been about dedicating your left brain for one computer monitor and your right brain for another. It would have been about writing code that writes code for you. All of these things would have been interesting skills to master if writing code was the bottleneck.</div><div><br/></div><div>In reality though, writing code is just a tiny concern in comparison to solving big programming problems for business. And, here are just a few examples of the problems I am talking about:</div><div><ul><li>Where do I put the responsibilities for reporting on a collection of objects to make the code as maintainable as possible in the future?</li><li>What is the most efficient SQL query I can write to have the report run fast?</li><li>Do I need pagination or is the result set small enough?</li><li>Is it worth applying the State Pattern to this problem or are the state related actions few enough to warrant not applying the pattern?</li><li>Do I need a layer of presentation objects between the models and the view or would the code end up simpler without it?</li></ul></div><div><br/></div><div>I cannot emphasize how often I have spent hours on such problems on my own, only to take a break and talk to another developer, and then get an immediate solution from their point of view.</div><div><br/></div><div>That made me curious about all the scenarios that benefit from pair programming: </div><div><ul><li>Decisions related to code aesthetics/API often get resolved quickly when validated against another developer's opinion, finishing faster, and with clearer code.</li><li>When deciding on one of multiple alternative solutions to a problem, a developer working alone may hesitate quite a bit about picking what is best for the team. Having a second developer present provides more confidence and speeds up the decision process.</li><li><a href="http://www.leaderu.com/cl-institute/habits/habit6.html" rel="nofollow" target="_blank">Synergy</a> is the idea of 1 + 1 &gt; 2. This can help a lot in solving problems that involve creativity. Often developer A has one solution in mind that is not optimal and developer B has another solution that is not optimal. So, leaving one developer to implement his solution alone may yield mediocre results whereas having the two developers discuss their solutions first may yield a new solution that is much better than the two original ones.</li><li>When solving a problem that requires multiple skills (e.g. OO skills vs SQL querying skills), it is common that no one developer on the team is the best in all of them. So, having two developers work on the problem will increase the chance of addressing all parts of the problem optimally, and at the same time cross pollinate the developer skills. For example, I have learned quite a bit from pairing with a developer who was proficient at SQL, while I helped him learn quite a bit about OO design.</li><li>When the driver spends too much time focusing on a problem that is of low priority, the navigator who has more of a bird's eye perspective will often notice that quickly and prevent the driver from getting derailed for a few hours unnecessarily.</li></ul></div><div><br/></div><div>Under the surface though, there are less apparent under-estimated benefits that improve developer skills and the development team quite a bit in the long term:</div><div><ul><li>Having developers socialize while programming on a daily basis increases team bonding and commitment toward the success of the project.</li><li>It can be quite fun, thus greatly motivational.</li><li>When developers of different experiences pair together, they cross pollinate their knowledge, learning quite a bit from each other, and getting stronger in the long term. One example of this is the number of shortcuts I learned while programming with the Eclipse IDE on Java projects. I got to a point where I can almost do anything by keyboard without ever wasting time reaching for the mouse. And, whenever I paired with new programmers, they would get surprised by the number of shortcuts I knew, and tell me that it intimidated them to learn that many shortcuts. I had to explain to them that it was like watering a plant: I learned all my shortcuts a few shortcuts a week over 12 months of pairing with different developers, thus expanding minimal yet consistent effort.</li></ul></div><div><br/></div><div>Given that I am clearly sold on pair programming, does that mean I do it all the time? Well, there are cases when I avoid it for practical reasons:</div><div><ul><li>I get exhausted from pairing for 5 hours straight. Yes, pairing can get exhausting, so it is important for a pair to realize the point at which they need to take a break from pairing.</li><li>I come to work tired from lack of sleep. I know I would not be effective pairing in that mode.</li><li>I have boiler plate work that is mind numbing such as data setup or the like. In this case, typing would indeed be the bottleneck, that can be a bad sign indicating lack of automation or having the wrong person do the job (developer doing the job of a data entry clerk).</li><li>I would like to work with a new technology on my own for a while in order to solidify my learning of it after having spent sometime pairing with someone on learning it.</li></ul></div><div><br/></div><div>So to summarize, pair programming is about synergistically solving problems, not just having two developers typing on one machine. As a result, the benefits are:</div><div><ul><li>Increased productivity</li><li>Higher code quality, indirectly contributing to productivity in the long term.</li><li>Better solutions, indirectly contributing to customer satisfaction.</li><li>Increased team commitment</li><li>Continuous improvement to developer skills</li></ul></div><div><br/></div><div>Comments are welcome, especially to share personal experiences or ask questions about pair programming in the wild.</div><div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/32881756-7979196781281471265?l=andymaleh.blogspot.com" width="1"/></div></div>
    </summary>
    <updated>2010-05-30T13:25:00Z</updated>
    <author>
      <name>Annas "Andy" Maleh</name>
    </author>
    <source>
      <id>http://pipes.yahoo.com/pipes/pipe.info?_id=HlcXmguf3BGdQ2H6Bx2yXQ</id>
      <link href="http://pipes.yahoo.com/pipes/pipe.info?_id=HlcXmguf3BGdQ2H6Bx2yXQ" rel="alternate" type="text/html"/>
      <link href="http://pipes.yahoo.com/pipes/pipe.run?_id=HlcXmguf3BGdQ2H6Bx2yXQ&amp;_render=rss" rel="self" type="application/rss+xml"/>
      <subtitle>Pipes Output</subtitle>
      <title>Andy Maleh - Eclipse Blog</title>
      <updated>2010-06-09T06:52:22Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-3318303833943079739.post-8555108461064231340</id>
    <link href="http://occasional-eclipse.blogspot.com/feeds/8555108461064231340/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=3318303833943079739&amp;postID=8555108461064231340" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/3318303833943079739/posts/default/8555108461064231340" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/3318303833943079739/posts/default/8555108461064231340" rel="self" type="application/atom+xml"/>
    <link href="http://occasional-eclipse.blogspot.com/2010/05/autonomy-mastery-and-bug-313989.html" rel="alternate" type="text/html"/>
    <title>Autonomy, Mastery, and bug 313989</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Dear diary: About a week ago, I took out a full 10 minutes from my <a href="http://nine.dk">day job</a> to watch an interesting video on YouTube about <a href="http://www.youtube.com/watch?v=u6XAPnuFjJc&amp;feature=player_embedded">what motivates people</a>, as recommended by <a href="http://intellectualcramps.blogspot.com/">David Carver</a>.<br/><br/>The video explains what might motivate people (who typically hold a challenging and rewarding day job) to contribute their efforts, for free, to open source projects, and it really got me thinking (spoiler alert -- go watch it first): The video concentrates on three significant drivers for motivation: Autonomy, Mastery, and a Sense of Purpose. I considered this is terms of my WTP interests:<br/><ul><li>"Autonomy" is right on target: Nobody told me to get involved with web tooling in Eclipse, this is purely an itch. For a free-time contributor, I believed I scratched my itch really good.</li><li>"Mastery" is on target too, since nothing teaches you a spec(*) as well as trying to implement it, or filing a bug against said implementation. It's nerdy, but rewarding!</li><li>"A Sense of Purpose" is a bit more difficult... What is the purpose of contributing to an open source project, anyway? Is it ... mastery for the sake of professional/career development? ... just "scratching an itch"? ... to improve the quality of a common resource? ... to earn the respect of my peers? ... to make the lives of users (other developers) easier? I'm not sure I have a clear answer on this one, but it got me thinking.<br/></li></ul>I wouldn't have taken as much notice if my watching this video didn't coincide with the WTP 3.2 RC2 build, which I took for a spin, and found three really annoying defects (bug <a href="https://bugs.eclipse.org/313989">313989</a> being the most trivial of those). These bugs weren't really enough to warrant PMC reviews and all that process, but to me, they felt just like when you notice the first scratch on the paint of your brand new car: Sure, you realise it's probably going to get worse -- but you would have preferred not to know about it.<br/><br/>The point is this: I should have found those bugs earlier! If I hadn't been so busy investigating all kinds of other unrelated, non-WTP stuff (issues in <a href="https://issues.apache.org/jira/browse/XALANJ-2419">Xalan</a> and <a href="http://opensource.atlassian.com/projects/hibernate/browse/HHH-5124">Hibernate</a>, besides investigating how face recognition works, just because...) I could have done much better! Boom, there goes my sense of purpose, no matter how I look at it: Lost in unfocused dabbling.<br/><br/>So my conclusion was this: The "sense of purpose" motivating me to work with WTP is to develop the best IDE for working with XML schemas and documents, and to make our XPath2 implementation consumable for the likely adopters.<br/>My open source effort will be concentrated on that (WTP+XML) for the next two years: Make it to the New and Noteworthy. So while I might take other tools for a spin (Xtext rocks!), those other projects shouldn't wait up for patches from me -- for the next two years.<br/><br/>P.S. And dear diary: I promise to write more often.<br/><br/>*: XML, XML Schema 1.0, SOAP 1.1, XML Catalog, XPath 2.0, XSLT 1 &amp; 2, XML Schema 1.1, the list goes on.<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/3318303833943079739-8555108461064231340?l=occasional-eclipse.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2010-05-30T01:02:15Z</updated>
    <published>2010-05-29T23:13:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="open source"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="eclipse"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="XML"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="motivation"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="xpath2"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="WTP"/>
    <author>
      <name>Jesper</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/15983201810190556000</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-3318303833943079739</id>
      <author>
        <name>Jesper</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/15983201810190556000</uri>
      </author>
      <link href="http://occasional-eclipse.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/3318303833943079739/posts/default/-/eclipse" rel="self" type="application/atom+xml"/>
      <link href="http://occasional-eclipse.blogspot.com/search/label/eclipse" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>A tinkerer reporting from the shadowy corners of Eclipse.</subtitle>
      <title>The Occasional Eclipse</title>
      <updated>2010-05-30T05:21:30Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://www.lemmster.de/blog/?p=227</id>
    <link href="http://www.lemmster.de/blog/index.php/2010/05/29/227" rel="alternate" type="text/html"/>
    <title>Do not ask what the committer reps can do for you, ask what you can do for the committer reps</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>In a <a href="http://industrial-tsi-wim.blogspot.com/2010/05/opinion-class-of-projects.html">recent blog post by Wim</a>, he asked how the Eclipse Foundation (EF) can help solve the tragedy of the commons problem and <a href="https://bugs.eclipse.org/313479">bug #313479</a> follows up on this direction by requesting the EF to support individual projects do fund-raising (think Friends of Eclipse at the project level). The committer representatives <a href="https://bugs.eclipse.org/313479#c36">have shown their intent</a> to raise this issue during the next board meeting, but to be prepared, they need to know if and how other (open source) organizations, communities and projects tackle project level donations.</p>
<p>If you happen to have an answer or be otherwise an expert on this matter, please leave a comment on <a href="https://bugs.eclipse.org/313479">bug #313479</a>. Thanks!</p></div>
    </content>
    <updated>2010-05-29T09:06:10Z</updated>
    <category term="eclipse"/>
    <author>
      <name>Markus Alexander Kuppe</name>
    </author>
    <source>
      <id>http://www.lemmster.de/blog</id>
      <link href="http://www.lemmster.de/blog/index.php/category/work/eclipse/feed" rel="self" type="application/atom+xml"/>
      <link href="http://www.lemmster.de/blog" rel="alternate" type="text/html"/>
      <subtitle>...living the offbeat</subtitle>
      <title>l e m m s t e r . d e » eclipse</title>
      <updated>2010-06-09T06:11:37Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-25023280.post-9192827806470607445</id>
    <link href="http://relengofthenerds.blogspot.com/feeds/9192827806470607445/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=25023280&amp;postID=9192827806470607445" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/25023280/posts/default/9192827806470607445" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/25023280/posts/default/9192827806470607445" rel="self" type="application/atom+xml"/>
    <link href="http://relengofthenerds.blogspot.com/2010/05/bundles-and-oranges-dare-to-compare.html" rel="alternate" type="text/html"/>
    <title>Bundles and Oranges: Dare to Compare</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Equinox p2 provides several <a href="http://help.eclipse.org/galileo/index.jsp?topic=/org.eclipse.platform.doc.isv/guide/p2_repositorytasks.htm">tools to manage repositories</a>.<br/><br/><div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/_cHqYDQknqAI/S_wpVlfyxcI/AAAAAAAAA6s/HVDEmi9esck/s1600/cutlery582099_60307636.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="http://3.bp.blogspot.com/_cHqYDQknqAI/S_wpVlfyxcI/AAAAAAAAA6s/HVDEmi9esck/s400/cutlery582099_60307636.jpg" width="280"/></a></div><br/>Image by <a href="http://www.sxc.hu/browse.phtml?f=view&amp;id=582099">Oliver Delgado</a> <br/><br/><br/>The <a href="http://help.eclipse.org/galileo/index.jsp?nav=/2_0_20_2">mirroring task</a> is used extensively in the Eclipse and RT Equinox build.  Mirroring a p2 repository allows you to copy the metadata and artifacts to a new location. You can mirror your entire repository or a subset of IUs to a new location. We call mirroring a subset of IUs slicing.<br/><br/><div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/_cHqYDQknqAI/S_wqnG81AmI/AAAAAAAAA60/vmLZGSc6rc8/s1600/oslice983682_93664655.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="300" src="http://4.bp.blogspot.com/_cHqYDQknqAI/S_wqnG81AmI/AAAAAAAAA60/vmLZGSc6rc8/s400/oslice983682_93664655.jpg" width="400"/></a></div><br/>Image by <a href="http://www.sxc.hu/browse.phtml?f=view&amp;id=983682">Safari11</a><br/><br/>The granularity of your <a href="http://relengofthenerds.blogspot.com/2009/03/slicing-and-dicing-p2-way.html">slicing</a> operation is dependent on the IUs you specify.<br/><br/><div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/_cHqYDQknqAI/S_wsSOPnV1I/AAAAAAAAA68/hjKkcb_hgI8/s1600/orangeslices278_8639.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://2.bp.blogspot.com/_cHqYDQknqAI/S_wsSOPnV1I/AAAAAAAAA68/hjKkcb_hgI8/s400/orangeslices278_8639.jpg" width="400"/></a></div><br/>Image by <a href="http://www.sxc.hu/photo/278">shin0</a><br/><br/><br/>We run the mirroring task with a comparator.  This allows us to compare the bundles that have just been built with the bundles that already exist from other builds in the <a href="http://relengofthenerds.blogspot.com/2009/02/implementing-composite-repos-in-your.html">composite repository</a>. We want to guarantee that the bundles with the same unique identifier and version have the same binary content.   Do you know which of or your bundles is not like the other?<br/><br/><div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/_cHqYDQknqAI/S_wykciKGvI/AAAAAAAAA7E/3jwNwT7HUZo/s1600/oranges783917_99091356.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="267" src="http://2.bp.blogspot.com/_cHqYDQknqAI/S_wykciKGvI/AAAAAAAAA7E/3jwNwT7HUZo/s400/oranges783917_99091356.jpg" width="400"/></a></div><br/>Image by <a href="http://www.sxc.hu/photo/783917%20">Stephanie Berghaeuser</a> <br/><br/>A different compiler with the same source could produce different byte code. Using a new builder can change the content of your bundles, for instance if you enable <a href="http://relengofthenerds.blogspot.com/2010/04/wheres-source.html">source references</a>. <br/><br/>We use a comparator with a baseline to compare the bundles with the same name and id available in our repositories with the ones that were just created in the current build.  Newer bundles with the same id and version are discarded.   This process guarantees that if a user installs a build from a repository or a zip, they will have the same bundles in their install. Otherwise, you risk inconsistent bundles for your users.  Not good.<br/><br/>We call the p2.mirror task like this:<br/><br/><div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/_cHqYDQknqAI/TAABmT8FjwI/AAAAAAAAA7c/5_Ewmh5Mrac/s1600/p2mirror.JPG" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="164" src="http://1.bp.blogspot.com/_cHqYDQknqAI/TAABmT8FjwI/AAAAAAAAA7c/5_Ewmh5Mrac/s640/p2mirror.JPG" width="640"/></a></div><br/><div class="separator" style="clear: both; text-align: center;"/><br/><br/>We are mirroring from the <i>source</i> (unzipped repository of our build time feature containing all features and plugins in the build) to the child repository <i>location</i>.  The <i>IgnoreErrors</i> flag is set to true so the mirroring operation  doesn't fail if there are differences. The org.eclipse.equinox.p2.repository.tools.jar.comparator is used to compare the bundles between the two locations and output the differences to a log.  The<i> repository location</i> or baseline is the existing composite  repository with content from older builds.   The  <i>comparatorLog</i> is parsed by a JUnit test which generates a failure if the log indicates differences. You can also exclude certain bundles from being compared, as you can see in the exclude stanza. <br/><br/>Other information on p2 repository tools and the comparator<br/><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=302283">Bug  302283 -               add ability to exclude  bundles when running  comparator with mirror task</a> <br/><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=312962">Bug 312962 -  Exclude doc bundles from comparator</a> <br/><a href="http://relengofthenerds.blogspot.com/2009/02/implementing-composite-repos-in-your.html">Implementing composite repositories in your build</a><br/><a href="http://relengofthenerds.blogspot.com/2009/03/slicing-and-dicing-p2-way.html">Slicing and dicing the p2 way</a> <br/><a href="http://aniefer.blogspot.com/2009/08/versioning-p2-slides-from-eclipsecon.html">Andrew's comparator slides from EclipseCon 2009</a><br/><br/><br/>Hey Kim, what's with all the oranges?  I'm very fortunate that I have the opportunity to run my first marathon with my friends on a beautiful course in Ottawa and Gatineau this Sunday.  It will be a challenge. After the race, there will be sweet orange slices in the recovery area for the <a href="http://ncm.ca/">39,000 people running in Ottawa</a> this weekend.<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/25023280-9192827806470607445?l=relengofthenerds.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2010-05-28T18:00:45Z</updated>
    <published>2010-05-28T17:38:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="p2"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="comparator"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="eclipse"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="running"/>
    <author>
      <name>Kim Moir</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/14700841495895160750</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-25023280</id>
      <author>
        <name>Kim Moir</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/14700841495895160750</uri>
      </author>
      <link href="http://relengofthenerds.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/25023280/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://relengofthenerds.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://www.blogger.com/feeds/25023280/posts/default?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <subtitle>Release Engineering for Eclipse and RT Equinox</subtitle>
      <title>Releng of the Nerds</title>
      <updated>2010-06-03T19:54:35Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>tag:blogger.com,1999:blog-29853730.post-8123522354923106323</id>
    <link href="http://feedproxy.google.com/~r/Developing/~3/17z1oZZ1qdk/no-osgi-on-your-phone.html" rel="alternate" type="text/html"/>
    <title>No OSGi on your phone</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><a href="http://www.osgi.org/">OSGi</a> was initially created for mobile and embedded world. I think it is the dream of an every OSGi geek dream to develop applications. for a cool OSGi engine that is bolted together with the operating system of your phone. An OSGi phone that would provide access to everything your phone can do together with all the goodness that comes from OSGi. A dream phone that would allow you to bring in your OSGi service that integrates with your cloud service, over the air when declared as dependency. Although, OSGI had a few attempts to really break into mobile phone world it is unfortunate that OSGi phone will remain a dreams for foreseeable future.<br/>
<br/>
<a href="http://1.bp.blogspot.com/_ZT4L3ZsR7hE/S_-dyYVKKyI/AAAAAAAABU8/RMrAMFH71h8/s1600/symbian_logo.png" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/_ZT4L3ZsR7hE/S_-dyYVKKyI/AAAAAAAABU8/RMrAMFH71h8/s1600/symbian_logo.png"/></a><a href="http://www.nokia.com/" target="_blank">Nokia</a> did work on an OSGi based Java environment for <a href="http://www.symbian.org/">Symbian</a> phones. Nokia even went to the trouble to create a <a href="http://jcp.org/en/jsr/detail?id=232">JSR</a> for it. It established a pretty ambitious R&amp;D program around OSGi. It was actually these ambitious goals that eventually caused it to fail. The R&amp;D program was ambitious because it not only promised to provide OSGi but it also tried to get <a href="http://en.wikipedia.org/wiki/MIDlet">Midlets</a> to work together with the OSGi engine. However, OSGi aware midlets model especially the MIDP security did not fit to OSGi and the R&amp;D effort was never able to deliver a solution that was acceptable. In my personal opinion the main flaw was on the effort was treating OSGi as another runtime on the device rather than the main engine.<br/>
<br/>
Most of the effort did not get wasted on Nokia's effort though. On the older MIDP environment all the pieces of the Java environment (all JSR implementation etc..) was compiled into a single binary together with the VM and was loaded together with it. OSGi model required a flexible architecture so almost all the pieces of the Java environment was re-designed for it so that they would be separate libraries consisting of a jar and possibly a native dll. These pieces are compiled separately and are loaded on demand by VM. This architecture later converted into MIDP environment as well. The Java environment of S60 3.2 and later devices and the Java environment currently available as part of the Open source Symbian foundation code carries this architecture. A few advanced APIs such as eSWT was also created in this era.<br/>
<br/>
<a href="http://1.bp.blogspot.com/_ZT4L3ZsR7hE/SSKkSjAlPLI/AAAAAAAAA2Y/4O8-8wn5XPg/s1600/logo_android%5B7%5D" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" src="http://1.bp.blogspot.com/_ZT4L3ZsR7hE/SSKkSjAlPLI/AAAAAAAAA2Y/4O8-8wn5XPg/s1600/logo_android%5B7%5D"/></a>A second opportunity was when Google started working on Android. The goals of the Android was almost a perfect match with OSGi. And this time OSGi would be the engine that runs all the services and applications of the phone which lacked on the earlier Nokia attempt. It is also known that there were members of the Android team who did know well about OSGi. It is hard to know as an outsider what really went but Android did not use OSGi and build its own version of concepts to provide similar functionality.<br/>
<br/>
Although there were later attempts like the <a href="http://developer.sprint.com/">Sprint</a> Titan platform to bring OSGi to mobile phones, they also failed when the smartphone market changed rapidly to different directions. Unfortunately, in the current climate it looks very unlikely that anyone will bother to spend the time and energy to make OSGi part of mobile phones.<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/29853730-8123522354923106323?l=www.gorkem-ercan.com" width="1"/></div>
<p><a href="http://feedads.g.doubleclick.net/~a/FBemcTv4uqAfODb69aBfC2-BVnw/0/da"><img border="0" ismap="true" src="http://feedads.g.doubleclick.net/~a/FBemcTv4uqAfODb69aBfC2-BVnw/0/di"/></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/FBemcTv4uqAfODb69aBfC2-BVnw/1/da"><img border="0" ismap="true" src="http://feedads.g.doubleclick.net/~a/FBemcTv4uqAfODb69aBfC2-BVnw/1/di"/></a></p><img height="1" src="http://feeds.feedburner.com/~r/Developing/~4/17z1oZZ1qdk" width="1"/></div>
    </summary>
    <updated>2010-05-28T10:50:48Z</updated>
    <category term="JSR-232"/>
    <category term="OSGi"/>
    <category term="eclipse"/><feedburner:origlink xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://www.gorkem-ercan.com/2010/05/no-osgi-on-your-phone.html</feedburner:origlink>
    <author>
      <name>gorkem</name>
      <email>noreply@blogger.com</email>
    </author>
    <source>
      <id>http://www.gorkem-ercan.com/</id>
      <author>
        <name>gorkem</name>
        <email>noreply@blogger.com</email>
      </author>
      <link href="http://www.gorkem-ercan.com/" rel="alternate" type="text/html"/>
      <link href="http://feeds.feedburner.com/Developing" rel="self" type="application/rss+xml"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>Simply about developing software</subtitle>
      <title>Gorkem Ercan</title>
      <updated>2010-06-09T06:16:39Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://ketan.padegaonkar.name/?p=428</id>
    <link href="http://ketan.padegaonkar.name/2010/05/28/an-embedded-interpreter-for-eclipse.html" rel="alternate" type="text/html"/>
    <title>An embedded interpreter for eclipse</title>
    <summary>As a java developer who is starting to use ruby and javascript for a lot of things lately — there is one thing I miss most. An embedded shell/interpreter for eclipse! An embedded console or an interpreter is a very powerful tool, it allows you to do some very interesting things with your software as [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>As a java developer who is starting to use ruby and javascript for a lot of things lately — there is one thing I miss most. An embedded shell/interpreter for eclipse!</p>
<p>An embedded console or an interpreter is a very <a href="http://www.robbyonrails.com/articles/2005/08/18/are-you-a-console-master">powerful tool</a>, it allows you to do some very interesting things with your software as it is running, play around with it, tweak it and anything else you can ever imagine. All of this without the edit-save-compile-relaunch cycle.</p>
<p>Lately I’ve been working on an embedded console for eclipse. The primary motivation was to try out scripting approaches for <a href="http://eclipse.org/swtbot">SWTBot</a>. But I soon realized that I was using it for more than just scripting tests. I was using it to learn how eclipse works, try out different approaches to decide which one is best.</p>
<p>Some of the features include code completion, history lookup. This is possible using jruby’s objectspace and the readline support.</p>
<p>Here’s a small teaser video of what you can do with it an embedded jruby console for eclipse.</p>
<p><span id="more-428"/></p>
<p>The update site url is here <a href="http://dl.swtbot.org/update-site">http://dl.swtbot.org/update-site</a></p>
<p>The example here uses SWTBot APIs. But there’s nothing stopping you from using anything else in any of your other plugins.</p>
<p>








</p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a href="http://ketan.padegaonkar.name/tag/eclipse/feed" title="Click me to see the sites."><strong><em>Bookmark It</em></strong></a>
<br/>
<div class="d428" style="overflow: hidden;">
<br/>
<a href="http://buzz.yahoo.com/submit?submitUrl=http%3A%2F%2Fketan.padegaonkar.name%2F2010%2F05%2F28%2Fan-embedded-interpreter-for-eclipse.html&amp;submitHeadline=An+embedded+interpreter+for+eclipse&amp;submitSummary=" rel="nofollow" title="Add to&#xA0;Buzz"><img alt="Add to&#xA0;Buzz" class="social_img" src="http://ketan.padegaonkar.name/wp-content/plugins/social-bookmarks/images/buzz.png" title="Add to&#xA0;Buzz"/></a>
<a href="http://del.icio.us/post?url=http%3A%2F%2Fketan.padegaonkar.name%2F2010%2F05%2F28%2Fan-embedded-interpreter-for-eclipse.html&amp;title=An+embedded+interpreter+for+eclipse" rel="nofollow" title="Add to&#xA0;Del.icio.us"><img alt="Add to&#xA0;Del.icio.us" class="social_img" src="http://ketan.padegaonkar.name/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&#xA0;Del.icio.us"/></a>
<a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fketan.padegaonkar.name%2F2010%2F05%2F28%2Fan-embedded-interpreter-for-eclipse.html&amp;title=An+embedded+interpreter+for+eclipse" rel="nofollow" title="Add to&#xA0;digg"><img alt="Add to&#xA0;digg" class="social_img" src="http://ketan.padegaonkar.name/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&#xA0;digg"/></a>
<br/>
<a href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fketan.padegaonkar.name%2F2010%2F05%2F28%2Fan-embedded-interpreter-for-eclipse.html" rel="nofollow" title="Add to&#xA0;Facebook"><img alt="Add to&#xA0;Facebook" class="social_img" src="http://ketan.padegaonkar.name/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&#xA0;Facebook"/></a>
<a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fketan.padegaonkar.name%2F2010%2F05%2F28%2Fan-embedded-interpreter-for-eclipse.html&amp;title=An+embedded+interpreter+for+eclipse" rel="nofollow" title="Add to&#xA0;Google Bookmarks"><img alt="Add to&#xA0;Google Bookmarks" class="social_img" src="http://ketan.padegaonkar.name/wp-content/plugins/social-bookmarks/images/google.png" title="Add to&#xA0;Google Bookmarks"/></a>
<a href="http://reddit.com/submit?url=http%3A%2F%2Fketan.padegaonkar.name%2F2010%2F05%2F28%2Fan-embedded-interpreter-for-eclipse.html&amp;title=An+embedded+interpreter+for+eclipse" rel="nofollow" title="Add to&#xA0;reddit"><img alt="Add to&#xA0;reddit" class="social_img" src="http://ketan.padegaonkar.name/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&#xA0;reddit"/></a>
<br/>
<a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fketan.padegaonkar.name%2F2010%2F05%2F28%2Fan-embedded-interpreter-for-eclipse.html&amp;title=An+embedded+interpreter+for+eclipse" rel="nofollow" title="Add to&#xA0;Stumble Upon"><img alt="Add to&#xA0;Stumble Upon" class="social_img" src="http://ketan.padegaonkar.name/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&#xA0;Stumble Upon"/></a>
<a href="http://www.technorati.com/faves?add=http%3A%2F%2Fketan.padegaonkar.name%2F2010%2F05%2F28%2Fan-embedded-interpreter-for-eclipse.html" rel="nofollow" title="Add to&#xA0;Technorati"><img alt="Add to&#xA0;Technorati" class="social_img" src="http://ketan.padegaonkar.name/wp-content/plugins/social-bookmarks/images/technorati.png" title="Add to&#xA0;Technorati"/></a>
<a href="http://twitter.com/home/?status=Check+out+An+embedded+interpreter+for+eclipse+@+http%3A%2F%2Fketan.padegaonkar.name%2F2010%2F05%2F28%2Fan-embedded-interpreter-for-eclipse.html" rel="nofollow" title="Add to&#xA0;Twitter"><img alt="Add to&#xA0;Twitter" class="social_img" src="http://ketan.padegaonkar.name/wp-content/plugins/social-bookmarks/images/twitter.png" title="Add to&#xA0;Twitter"/></a>
<br/>
<br/>
<a href="http://ketan.padegaonkar.name/tag/eclipse/feed" title="Click me to hide the sites.">Hide Sites</a>
</div>
</div>
<!-- Social Bookmarks END --></div>
    </content>
    <updated>2010-05-28T07:40:20Z</updated>
    <category term="Open Source"/>
    <category term="eclipse"/>
    <category term="jruby"/>
    <category term="swtbot"/>
    <author>
      <name>Ketan</name>
    </author>
    <source>
      <id>http://ketan.padegaonkar.name</id>
      <link href="http://ketan.padegaonkar.name/tag/eclipse/feed" rel="self" type="application/atom+xml"/>
      <link href="http://ketan.padegaonkar.name" rel="alternate" type="text/html"/>
      <subtitle>Where he blogs about his eclipse musings</subtitle>
      <title>Ketan's Musings » eclipse</title>
      <updated>2010-06-09T06:18:53Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-7721121862516881677.post-4382872944268850938</id>
    <link href="https://www.blogger.com/comment.g?blogID=7721121862516881677&amp;postID=4382872944268850938" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/7721121862516881677/posts/default/4382872944268850938" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/7721121862516881677/posts/default/4382872944268850938" rel="self" type="application/atom+xml"/>
    <link href="http://www.thescreencast.com/2010/05/how-to-gwt-roo.html" rel="alternate" type="text/html"/>
    <title>How To: GWT 2.1 and SpringSource Tool Suite (STS)</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><!-- google_ad_section_start -->
<div style="width: 85%;">
<p>
In this two-part screencast you are going to see how to install and use the <a href="http://www.springsource.com/products/springsource-google-download">SpringSource Tool Suite</a> with a <a href="http://code.google.com/webtoolkit/">Google Web Toolkit</a> to develop a working web application.
Screencast is based on Gooogle I/O 2010 <a href="http://www.youtube.com/watch?v=GQHlhIIxCIc">presentation</a>  with detailed step by step instructions how to install and use STS with GWT 2.1
</p>
</div>

<span class="fullpost">
<div style="width: 85%;">
<br/>
Install and configure SpringSource Tool Suite (<strong>03:00</strong>):
</div> 
<!-- google_ad_section_end -->
<br/>
<!-- first screencast begin -->
<!-- 
AC_FL_RunContent( 'codebase','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0','width','800','height','622','src','http://i199.photobucket.com/albums/aa155/deepdemo/roo/gwtRooInstalation','quality','high','pluginspage','http://www.macromedia.com/go/getflashplayer','movie','http://i199.photobucket.com/albums/aa155/deepdemo/roo/gwtRooInstalation'); //-->
<!-- first screencast end -->

<!-- first adds begin -->
<div style="padding-top: 25px;">
</div>
<!-- first adds end -->


<!-- google_ad_section_start -->
<div style="width: 85%;">
Create a simple GWT/Roo application:  (<strong>02:50</strong>):
</div> 
<!-- google_ad_section_end -->
<br/>
<!-- second screencast begin -->
<!-- 
AC_FL_RunContent( 'codebase','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0','width','800','height','622','src','http://i199.photobucket.com/albums/aa155/deepdemo/roo/gwtROO','quality','high','pluginspage','http://www.macromedia.com/go/getflashplayer','movie','http://i199.photobucket.com/albums/aa155/deepdemo/roo/gwtROO'); //-->
<!-- second screencast end -->

<div style="width: 85%; padding-top: 25px;">
Second screencast is derived from Google I/O example by <a href="http://www.youtube.com/watch?v=GQHlhIIxCIc">Ben Alex</a>:
</div> 



<div style="width: 85%; padding-top: 25px;">
<p>
If you liked this post, share it with others using the links below.
</p>
</div>
<!-- google_ad_section_end -->
</span><div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/7721121862516881677-4382872944268850938?l=www.thescreencast.com" width="1"/></div></div>
    </content>
    <updated>2010-05-26T18:38:41Z</updated>
    <published>2010-05-26T18:15:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="java"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="gwt"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="eclipse"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="spring roo"/>
    <author>
      <name>ongwave</name>
      <email>noreply@blogger.com</email>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-7721121862516881677</id>
      <author>
        <name>ongwave</name>
        <email>noreply@blogger.com</email>
      </author>
      <link href="http://www.thescreencast.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/7721121862516881677/posts/default/-/eclipse" rel="self" type="application/atom+xml"/>
      <link href="http://www.thescreencast.com/search/label/eclipse" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <title>The Screencast Blog</title>
      <updated>2010-06-08T19:02:12Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-5228580140566195617.post-5586853607588304245</id>
    <link href="http://flymewiththeeclipseway.blogspot.com/feeds/5586853607588304245/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=5228580140566195617&amp;postID=5586853607588304245" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/5228580140566195617/posts/default/5586853607588304245" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/5228580140566195617/posts/default/5586853607588304245" rel="self" type="application/atom+xml"/>
    <link href="http://flymewiththeeclipseway.blogspot.com/2010/05/notify-junit-results-to-growl-eclipse.html" rel="alternate" type="text/html"/>
    <title>Notify JUnit Results to Growl Eclipse Plugin</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">I made a Eclipse Plugin for long-period testing on Eclipse for Mac.<br/><a href="http://4.bp.blogspot.com/_hTf_YhoVHDo/S_1O5GVY71I/AAAAAAAAAJ8/eWfqqWcUvV0/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%EF%BC%882010-05-25+22.45.39%EF%BC%89.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5475619464812228434" src="http://4.bp.blogspot.com/_hTf_YhoVHDo/S_1O5GVY71I/AAAAAAAAAJ8/eWfqqWcUvV0/s320/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%EF%BC%882010-05-25+22.45.39%EF%BC%89.png" style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; cursor: hand; width: 320px; height: 111px;"/></a><br/><br/>Yes!, This plugin notify the test result to Growl.This is simple, but effective to drive to develop your application!<br/>This plugin uses native library. So there are some constraint to use it.<br/><span style="font-weight: bold;">If you use Eclipse for cocoa 64 bit edition, you can't use this plugin because the native library can't load on your Eclipse Environment.<br/></span><br/>The plugin is published below.<br/>http://kompiro.org/download/junit.extensions.eclipse.quick.mac.growl_0.1.0.201005252224.jar<br/>If you interested in this plug-in, then download and put it dropins folder!<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/5228580140566195617-5586853607588304245?l=flymewiththeeclipseway.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2010-05-26T16:45:32Z</updated>
    <published>2010-05-26T16:38:00Z</published>
    <author>
      <name>Hiroki Kondo(kompiro)</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/10730042929073818285</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-5228580140566195617</id>
      <author>
        <name>Hiroki Kondo(kompiro)</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/10730042929073818285</uri>
      </author>
      <link href="http://flymewiththeeclipseway.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/5228580140566195617/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://flymewiththeeclipseway.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>I love to develop Eclipse RCP.There are many dreams.What a extensible environment is it?</subtitle>
      <title>Fly me to the Helios</title>
      <updated>2010-05-28T05:09:17Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-1585332946379204379.post-3401229822254747641</id>
    <link href="http://intellectualcramps.blogspot.com/feeds/3401229822254747641/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=1585332946379204379&amp;postID=3401229822254747641" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/1585332946379204379/posts/default/3401229822254747641" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/1585332946379204379/posts/default/3401229822254747641" rel="self" type="application/atom+xml"/>
    <link href="http://intellectualcramps.blogspot.com/2010/05/where-do-bugs-hide.html" rel="alternate" type="text/html"/>
    <title>Where Do Bugs Hide?</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><a href="http://4.bp.blogspot.com/_KrN73FFeGok/S_0sK5jVZ8I/AAAAAAAAAO8/tssCXXJ_sxQ/s1600/coveragesummary.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5475581287711729602" src="http://4.bp.blogspot.com/_KrN73FFeGok/S_0sK5jVZ8I/AAAAAAAAAO8/tssCXXJ_sxQ/s400/coveragesummary.png" style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 94px;"/></a><br/>They hide in the code that is not being executed by your unit tests.   The code that is not under test is just an incubator for them to multiply and fester.   Along with code reviews, and static code analysis tools, tools like <a href="http://emma.sourceforge.net/">Emma</a> and <a href="http://www.atlassian.com/software/clover/">Clover</a>, should be a part of your build and development process.<br/><br/>For Maven users, it is as easy as adding emma:emma as one of the goals.<br/><br/>For Buildr users add : require "buildr/emma" to your Rake file, and targets of emma:xml emma:html to your build command line.<br/><br/>Hudson has a really nice Emma plugin that makes these results visible.  The stats do not tell the whole story but they tend to reveal a lot about the test coverage of your current test suite.<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/1585332946379204379-3401229822254747641?l=intellectualcramps.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2010-05-26T15:42:01Z</updated>
    <published>2010-05-26T14:11:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="build"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="eclipse"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="xml"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="testing"/>
    <author>
      <name>David Carver</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/09341170413510029324</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-1585332946379204379</id>
      <author>
        <name>David Carver</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/09341170413510029324</uri>
      </author>
      <link href="http://intellectualcramps.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/1585332946379204379/posts/default/-/eclipse" rel="self" type="application/atom+xml"/>
      <link href="http://intellectualcramps.blogspot.com/search/label/eclipse" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://www.blogger.com/feeds/1585332946379204379/posts/default/-/eclipse/-/eclipse?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <subtitle>A little bit of this and little bit of that.  Random thoughts about eclipse, agile development, and other pieces of information that make me go hmmmmm.</subtitle>
      <title>Intellectual Cramps</title>
      <updated>2010-06-08T14:22:13Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-17823979.post-2098777487977672283</id>
    <link href="http://divby0.blogspot.com/feeds/2098777487977672283/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=17823979&amp;postID=2098777487977672283" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/17823979/posts/default/2098777487977672283" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/17823979/posts/default/2098777487977672283" rel="self" type="application/atom+xml"/>
    <link href="http://divby0.blogspot.com/2010/05/my-love-hate-with-svn-part-8.html" rel="alternate" type="text/html"/>
    <title>My love-hate with SVN, Part 8: Installation Ease Of Use (UPDATED)</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>
Back in July 2009, I blogged about <a href="http://divby0.blogspot.com/2009/07/my-love-hate-with-svn-part-6.html">My love-hate with SVN, Part 6: Installation Ease Of Use</a>. With <a href="http://eclipse.org/helios/">Helios</a> just around the corner, I wanted to produce an updated repo for use with the latest &amp; greatest Eclipse 3.6.

</p><p>Now the <a href="http://wiki.eclipse.org/Equinox/p2/Ant_Tasks#Partial_Mirroring"><code>&lt;p2.mirror/&gt;</code></a> <a href="http://wiki.eclipse.org/Equinox/p2/Ant_Tasks/Partial_Mirroring/Example">script</a> will fetch and use Ant-Contrib automatically.

</p><p>Here's the updated 15M update site zip, which includes the following:

</p><blockquote><a href="http://download.jboss.org/jbosstools/requirements/helios/Subvsve079.I201005121900_SVNconn222.I201005121900_SVNKit133.6648_JNA323_ECF310.v201005082345-Update.zip">Subversive 0.7.9<br/>SVN Connector 2.2.2<br/>SVNKit 1.3.3<br/>JNA 3.2.3<br/>ECF 3.1.0</a></blockquote>

Any problems, please report them in <a href="http://bugs.eclipse.org/284077">bug 284077</a>.<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/17823979-2098777487977672283?l=divby0.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2010-05-25T20:52:39Z</updated>
    <published>2010-05-25T20:19:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="p2"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="svnkit"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="jna"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="eclipse"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="subversion"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="metadata"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="helios"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="mirror"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="eclipse36"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="subversive"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="svn"/>
    <author>
      <name>nickb</name>
      <email>nickboldt@gmail.com</email>
      <uri>http://www.blogger.com/profile/09200865148587349560</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-17823979</id>
      <author>
        <name>nickb</name>
        <email>nickboldt@gmail.com</email>
        <uri>http://www.blogger.com/profile/09200865148587349560</uri>
      </author>
      <link href="http://divby0.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/17823979/posts/default/-/eclipse" rel="self" type="application/atom+xml"/>
      <link href="http://divby0.blogspot.com/search/label/eclipse" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://www.blogger.com/feeds/17823979/posts/default/-/eclipse/-/eclipse?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <subtitle>Much ado about scripting, Linux &amp; Eclipse: card subject to change</subtitle>
      <title>DivByZero.com</title>
      <updated>2010-06-05T21:14:10Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://dev.eclipse.org/blogs/wayne/?p=1012</id>
    <link href="http://dev.eclipse.org/blogs/wayne/2010/05/25/eclipse-at-google-io/" rel="alternate" type="text/html"/>
    <title>Eclipse at Google I/O</title>
    <summary>Ian and I represented Eclipse in the Google I/O Sandbox. We used the Open Social support being developed in the E4 project as our hook. I estimate that less than 50% of the folks who dropped by the booth were familiar with Open Social. A lot of folks just dropped by to tell us how [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Ian and I represented Eclipse in the <a href="http://code.google.com/events/io/2010/sandbox.html">Google I/O Sandbox</a>. We used the <a href="http://wiki.eclipse.org/E4/OpenSocialGadgets">Open Social support being developed in the E4 project</a> as our hook. I estimate that less than 50% of the folks who dropped by the booth were familiar with <a href="http://www.opensocial.org/">Open Social</a>. A lot of folks just dropped by to tell us how happy they are with Eclipse.</p>
<p><a href="http://dev.eclipse.org/blogs/wayne/files/2010/05/wayneatgoogleio.jpg"><img alt="" class="aligncenter size-medium wp-image-1013" height="225" src="http://dev.eclipse.org/blogs/wayne/files/2010/05/wayneatgoogleio-300x225.jpg" width="300"/></a></p>
<p>The conference was thick with Eclipse-love, starting with multiple mentions during the keynotes on Tuesday. It was clear that everybody that was on stage assumed that everybody in the audience knew about Eclipse. </p>
<p>We received a steady flow of guests at our booth in the Sandbox. Most of the visitors knew about Eclipse. Well… they knew at least something about Eclipse. Most knew about Eclipse, the IDE. Ian and I took the opportunity to broaden horizons wherever we could. “Yes, Eclipse is a Java IDE. But would it surprise you to learn that Eclipse is really an integration platform? A platform for building tools? The most comprehensive set of open source modeling tools and runtimes anywhere? A runtime platform? Would it surprise you to learn that Eclipse has entered the runtime space? Heck, we have more than 200 different projects cover everything from IDEs to <a href="http://www.eclipse.org/higgins">identity management</a>, and <a href="http://www.eclipse.org/eclipselink">object persistence</a>” (it’s always a challenge to come up with a good pithy gamut for Eclipse).</p>
<p>A lot of our visitors use Eclipse to build applications with <a href="http://code.google.com/webtoolkit/">Google Web Toolkit</a> (GWT); they came to us with both kudos and questions about the <a href="http://code.google.com/p/gwt-tooling/">GWT Tooling</a>. I was a little embarrassed that I have not spent any time with GWT development, but still took the time to tell them about recent efforts to provide <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=310835">EMF support for GWT</a>, providing me with ample opportunity to introduce vast numbers of <a href="http://ed-merks.blogspot.com/2007/10/eclipse-summit-europe-day-two-big.html">modeling rednecks</a> to a brave new world.</p>
<p>Perhaps the lion’s share of the visitors to our humble booth use Eclipse to develop applications for <a href="http://www.android.com/">Android</a>. Again, there were kudos and questions. As is often the case with questions about Eclipse, the first challenge is to determine who is the right group to field the question.  Since the <a href="http://developer.android.com/sdk/index.html">Android SDK</a> is based so heavily on Eclipse, it’s difficult to know if the Android SDK project, or the <a href="http://www.eclipse.org/jdt">Java development tools</a> (JDT) project, or the <a href="http://www.eclipse.org/platform">Eclipse Platform</a> project, or some other source is the right place to go for help. Most of the questions were pretty solidly the domain of the Android SDK team, but the exercise highlighted the fact that finding help is still a big challenge. Frankly, I think that <a href="http://www.eclipse.org/forums">Eclipse Forums</a> are an excellent place to find help; but I also quite like <a href="http://stackoverflow.com/">Stack Overflow</a> (especially for questions that venture outside the domain of Eclipse projects). A couple of visitors asked about <a href="http://cdtdoug.blogspot.com/2009/09/using-cdt-for-android-native.html">building Android apps with native code</a>. Thankfully, Doug took interest in this topic some time ago, so we have an answer for this.</p>
<p>There were a lot of folks who just wanted to come by and bask in Eclipse greatness. I love the whole fan-boy thing. Some folks just want to say how much they love Eclipse. Others came to challenge me to show them something that they hadn’t already seen. For some, “CTRL-1″ did the the trick. For others, I pulled out <a href="http://www.eclipse.org/mylyn">Mylyn</a>. Nobody left disappointed.</p>
<p>My main take away from the conference is that Eclipse is very much a part of Google’s tool strategy. My sense is that there is a lot of opportunity for other Eclipse technology; like every other audience of Eclipse technology, our task is to leverage the love of Eclipse-based IDEs into broader knowledge of Eclipse as a whole. I think we made some excellent progress on that front last week. </p>
<p>I also managed to take away two phones: a <a href="http://www.google.com/phone">Nexus One</a> and an <a href="http://now.sprint.com/evo/">HTC EVO</a> (with a month of voice and data service that actually works in Canada). Both are very nice (though the EVO is a little bulky). They have inspired me to spend a little more time with the Android SDK. Let’s see what other Eclipse technology we can shove in there…</p></div>
    </content>
    <updated>2010-05-25T15:16:46Z</updated>
    <category term="Conferences"/>
    <author>
      <name>Wayne Beaton</name>
    </author>
    <source>
      <id>http://dev.eclipse.org/blogs/wayne</id>
      <link href="http://dev.eclipse.org/blogs/wayne/feed" rel="self" type="application/atom+xml"/>
      <link href="http://dev.eclipse.org/blogs/wayne" rel="alternate" type="text/html"/>
      <subtitle>Wayne Beaton's blog about Eclipse.</subtitle>
      <title>Eclipse hints, tips, and random musings</title>
      <updated>2010-05-25T15:16:46Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-16474715.post-915659408298285723</id>
    <link href="http://cdtdoug.blogspot.com/feeds/915659408298285723/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="http://cdtdoug.blogspot.com/2010/05/my-take-on-android-keynote-at-google-io.html#comment-form" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/16474715/posts/default/915659408298285723" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/16474715/posts/default/915659408298285723" rel="self" type="application/atom+xml"/>
    <link href="http://cdtdoug.blogspot.com/2010/05/my-take-on-android-keynote-at-google-io.html" rel="alternate" type="text/html"/>
    <title>My take on Android Keynote at Google I/O</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">No, I'm not at Google I/O, despite my twitter traffic during today's keynote. Mind you that was probably a give away that I wasn't there as even the Googlers struggled with wifi connectivity during their demos. At any rate, I was glued to see where Google was taking Android. And, to be honest, they didn't really surprise me much as pretty much everything they announced had a rumor associated with it. It's hard to keep secrets in this industry.<br/><br/>Despite the lack of surprises, there were a few interesting points that were made, and a couple that were not which gave me pause.<br/><br/>First, was Google TV. Yes it too was rumored and came out pretty much as was rumored. There were two things I found interesting about it. And no, a set top box based on Android isn't one of them as we pretty much expected that eventually. No, first was confirmation that the initial Google TV boxes will be based on Intel Atom chips. What that means is the real first confirmation of an x86 port of Android from Google officials. The new Android Native Development kit r4 that also came out today also confirms it with an x86 port of the native libraries. It's not quite cooked yet as there's no toolchain to build with and no image to run on, but they're there and a sign of things to come.<br/><br/>I guess the other thing that struck me about Google TV that I think was even more interesting was that they were running Google Chrome on top of Android on top of x86. I've heard rumbling about the lack of information about Chrome OS at the conference. Now, if they have Chrome running on Android for Google TV, why not run it on netbooks too? And then why have Chrome OS at all. That's where I'm guessing there won't be one or if it does appear, we'll all be wondering why when you can get all that plus Android apps to boot just like on Google TV. Or, maybe, that is what Chrome OS is. We'll see (or maybe not)...<br/><br/>So there were a few new things in the Android NDK for me to chew on. One that will make the CDT build integration I've been working on easier to do is the ability to build outside of the NDK directory tree (weird, yeah, but they previously reused the build system from the platform that is done that way). So look for that sometime in the near future. There's also gdb support for native applications. I'll need to see what's needed to hook that up to CDT's debug interfaces. In the end it'll be a great public example of how to use the CDT in a cross compile and remote debug scenario. Not to mention it'll be fun to use :).<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/16474715-915659408298285723?l=cdtdoug.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2010-05-21T01:08:33Z</updated>
    <published>2010-05-21T01:04:00Z</published>
    <author>
      <name>Doug Schaefer</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/14088309262879705593</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-16474715</id>
      <author>
        <name>Doug Schaefer</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/14088309262879705593</uri>
      </author>
      <link href="http://cdtdoug.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/16474715/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://cdtdoug.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://www.blogger.com/feeds/16474715/posts/default?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <subtitle>Hey all. This blog records my thoughts of the day about my life on the Eclipse CDT project. I will occasionally give opinions and news regarding the Eclipse CDT - the project and its ecosystem - and on open source in general. Please feel free to comment on anything I say. I appreciate it when people are honest with me. And, please, please, consider all of these opinions mine, not of my employer.</subtitle>
      <title>Doug on the Eclipse CDT</title>
      <updated>2010-06-06T17:18:56Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-2567423662647769389.post-8524919920577839440</id>
    <link href="http://ahuntereclipse.blogspot.com/feeds/8524919920577839440/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=2567423662647769389&amp;postID=8524919920577839440" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/2567423662647769389/posts/default/8524919920577839440" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/2567423662647769389/posts/default/8524919920577839440" rel="self" type="application/atom+xml"/>
    <link href="http://ahuntereclipse.blogspot.com/2010/05/helios-rc1-1-2-3-go.html" rel="alternate" type="text/html"/>
    <title>Helios RC1 +1, +2 +3, go</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">We are working though the final stages of the Helios Eclipse Simultaneous Release and this week is RC1.<br/><br/>Helios is organized in layers, Eclipse projects gets a number like +1, +3, -1. It is meant to indicate that a +2 project depends on the builds of a +1 and lower projects. <br/><br/>For example, GEF is +1 and depends on the 0 layer Eclipse platform build.<br/><br/>Now that the <a href="http://ahuntereclipse.blogspot.com/2010/04/graphical-modeling-at-eclipse.html">GMF Restructure</a> is completed, I was keen to make sure I adopt and build with all the RC1 builds for all the dependencies.<br/><br/>Historically, some projects do not do this. They build with the latest available. This leads to some problems and you will see an RC1a build here and there. I wanted to make sure GMF was clean.<br/><br/>GMF has historically been a +2 component. If you look at the diagram below, +2 never fit really well, but given there are +3 components depending on the GMF Runtime, we made it work.<br/><br/><a href="http://3.bp.blogspot.com/_GoPYMC8TqeA/S_Vs5l35jCI/AAAAAAAAAE0/YMWpldOFP-8/s1600/process.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5473400658813619234" src="http://3.bp.blogspot.com/_GoPYMC8TqeA/S_Vs5l35jCI/AAAAAAAAAE0/YMWpldOFP-8/s320/process.png" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 70px;"/></a><br/><br/>The projects in green are the builds I produced this week. Unfortunately, I was "mostly late" on all of them.<br/><br/>I produced GEF RC1 late on Monday 9:20 EST, we were late pushing some fixes for a few critical bugs.<br/><br/>I was delayed with the EMF project builds. I was waiting for UML2 RC1, but decided I could not wait anymore. EMF Transaction was the last one after EMF Query and EMF Validation on Tuesday at 3:11 EST. (The UML2 team did confirm they were not going to produce an RC1).<br/><br/>Since Tuesday was supposed to be +2, GMF Runtime was going to be a little late as well. It actually was built at midnight on Wednesday, the +3 day.<br/><br/>I decided not to wait for M2M QVTOML RC1 and pushed the last GMF Tooling build. So GMF Tooling got done Wednesday morning 9:09 AM in time for the RC1 Helios packages.<br/><br/>Apologies for the anyone out there waiting for any of the projects I am responsible for.<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/2567423662647769389-8524919920577839440?l=ahuntereclipse.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2010-05-20T18:09:20Z</updated>
    <published>2010-05-20T16:35:00Z</published>
    <author>
      <name>Anthony Hunter</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/03060102622123930690</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-2567423662647769389</id>
      <author>
        <name>Anthony Hunter</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/03060102622123930690</uri>
      </author>
      <link href="http://ahuntereclipse.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/2567423662647769389/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://ahuntereclipse.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>Anthony's blog for anything Eclipse...</subtitle>
      <title>Anthony Hunter's Eclipse Blog</title>
      <updated>2010-05-25T09:08:19Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://ketan.padegaonkar.name/?p=423</id>
    <link href="http://ketan.padegaonkar.name/2010/05/20/swtbot-and-eclipse-3-4-ganymede.html" rel="alternate" type="text/html"/>
    <title>SWTBot and Eclipse 3.4 (Ganymede)</title>
    <summary>SWTBot has so been supporting Eclipse Ganymede since the last 2+ years before it moved to eclipse.org. Ganymede is now almost 2 years old and the last bug fix release was in Feb 2009. There has been a Galileo release of Eclipse in the Summer of 2009, and there is a new release Helios coming [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p><a href="http://eclipse.org/swtbot">SWTBot</a> has so been supporting Eclipse <a href="http://wiki.eclipse.org/Ganymede">Ganymede</a> since the last 2+ years before it moved to eclipse.org.</p>
<p>Ganymede is now almost 2 years old and the last bug fix release was in Feb 2009.</p>
<p>There has been a <a href="http://wiki.eclipse.org/Galileo">Galileo</a> release of Eclipse in the Summer of 2009, and there is a new release <a href="http://wiki.eclipse.org/Helios">Helios</a> coming up the horizon.</p>
<p>Given this situation, it is very difficult to continue to provide a light weight testing tool that works across 3 different versions of eclipse on 4 different platforms linux, windows and macosx(carbon/cocoa) while backporting APIs that only work on newer eclipse versions.</p>
<p>In light of this, I’m considering dropping support for eclipse 3.4 for future releases. I’m happy to assist anyone wanting to contribute efforts towards maintaining a release of SWTBot for Ganymede.</p>
<p>The v2.0.0.568 of SWTBot made last night would be the last that supports Ganymede.</p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a href="http://ketan.padegaonkar.name/tag/eclipse/feed" title="Click me to see the sites."><strong><em>Bookmark It</em></strong></a>
<br/>
<div class="d423" style="overflow: hidden;">
<br/>
<a href="http://buzz.yahoo.com/submit?submitUrl=http%3A%2F%2Fketan.padegaonkar.name%2F2010%2F05%2F20%2Fswtbot-and-eclipse-3-4-ganymede.html&amp;submitHeadline=SWTBot+and+Eclipse+3.4+%28Ganymede%29&amp;submitSummary=" rel="nofollow" title="Add to&#xA0;Buzz"><img alt="Add to&#xA0;Buzz" class="social_img" src="http://ketan.padegaonkar.name/wp-content/plugins/social-bookmarks/images/buzz.png" title="Add to&#xA0;Buzz"/></a>
<a href="http://del.icio.us/post?url=http%3A%2F%2Fketan.padegaonkar.name%2F2010%2F05%2F20%2Fswtbot-and-eclipse-3-4-ganymede.html&amp;title=SWTBot+and+Eclipse+3.4+%28Ganymede%29" rel="nofollow" title="Add to&#xA0;Del.icio.us"><img alt="Add to&#xA0;Del.icio.us" class="social_img" src="http://ketan.padegaonkar.name/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&#xA0;Del.icio.us"/></a>
<a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fketan.padegaonkar.name%2F2010%2F05%2F20%2Fswtbot-and-eclipse-3-4-ganymede.html&amp;title=SWTBot+and+Eclipse+3.4+%28Ganymede%29" rel="nofollow" title="Add to&#xA0;digg"><img alt="Add to&#xA0;digg" class="social_img" src="http://ketan.padegaonkar.name/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&#xA0;digg"/></a>
<br/>
<a href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fketan.padegaonkar.name%2F2010%2F05%2F20%2Fswtbot-and-eclipse-3-4-ganymede.html" rel="nofollow" title="Add to&#xA0;Facebook"><img alt="Add to&#xA0;Facebook" class="social_img" src="http://ketan.padegaonkar.name/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&#xA0;Facebook"/></a>
<a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fketan.padegaonkar.name%2F2010%2F05%2F20%2Fswtbot-and-eclipse-3-4-ganymede.html&amp;title=SWTBot+and+Eclipse+3.4+%28Ganymede%29" rel="nofollow" title="Add to&#xA0;Google Bookmarks"><img alt="Add to&#xA0;Google Bookmarks" class="social_img" src="http://ketan.padegaonkar.name/wp-content/plugins/social-bookmarks/images/google.png" title="Add to&#xA0;Google Bookmarks"/></a>
<a href="http://reddit.com/submit?url=http%3A%2F%2Fketan.padegaonkar.name%2F2010%2F05%2F20%2Fswtbot-and-eclipse-3-4-ganymede.html&amp;title=SWTBot+and+Eclipse+3.4+%28Ganymede%29" rel="nofollow" title="Add to&#xA0;reddit"><img alt="Add to&#xA0;reddit" class="social_img" src="http://ketan.padegaonkar.name/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&#xA0;reddit"/></a>
<br/>
<a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fketan.padegaonkar.name%2F2010%2F05%2F20%2Fswtbot-and-eclipse-3-4-ganymede.html&amp;title=SWTBot+and+Eclipse+3.4+%28Ganymede%29" rel="nofollow" title="Add to&#xA0;Stumble Upon"><img alt="Add to&#xA0;Stumble Upon" class="social_img" src="http://ketan.padegaonkar.name/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&#xA0;Stumble Upon"/></a>
<a href="http://www.technorati.com/faves?add=http%3A%2F%2Fketan.padegaonkar.name%2F2010%2F05%2F20%2Fswtbot-and-eclipse-3-4-ganymede.html" rel="nofollow" title="Add to&#xA0;Technorati"><img alt="Add to&#xA0;Technorati" class="social_img" src="http://ketan.padegaonkar.name/wp-content/plugins/social-bookmarks/images/technorati.png" title="Add to&#xA0;Technorati"/></a>
<a href="http://twitter.com/home/?status=Check+out+SWTBot+and+Eclipse+3.4+%28Ganymede%29+@+http%3A%2F%2Fketan.padegaonkar.name%2F2010%2F05%2F20%2Fswtbot-and-eclipse-3-4-ganymede.html" rel="nofollow" title="Add to&#xA0;Twitter"><img alt="Add to&#xA0;Twitter" class="social_img" src="http://ketan.padegaonkar.name/wp-content/plugins/social-bookmarks/images/twitter.png" title="Add to&#xA0;Twitter"/></a>
<br/>
<br/>
<a href="http://ketan.padegaonkar.name/tag/eclipse/feed" title="Click me to hide the sites.">Hide Sites</a>
</div>
</div>
<!-- Social Bookmarks END --></div>
    </content>
    <updated>2010-05-20T14:42:11Z</updated>
    <category term="Open Source"/>
    <category term="eclipse"/>
    <category term="swtbot"/>
    <author>
      <name>Ketan</name>
    </author>
    <source>
      <id>http://ketan.padegaonkar.name</id>
      <link href="http://ketan.padegaonkar.name/tag/eclipse/feed" rel="self" type="application/atom+xml"/>
      <link href="http://ketan.padegaonkar.name" rel="alternate" type="text/html"/>
      <subtitle>Where he blogs about his eclipse musings</subtitle>
      <title>Ketan's Musings » eclipse</title>
      <updated>2010-06-09T06:18:52Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-2117597481687734563.post-3462068600400267225</id>
    <link href="http://henrik-eclipse.blogspot.com/feeds/3462068600400267225/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=2117597481687734563&amp;postID=3462068600400267225" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/2117597481687734563/posts/default/3462068600400267225" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/2117597481687734563/posts/default/3462068600400267225" rel="self" type="application/atom+xml"/>
    <link href="http://henrik-eclipse.blogspot.com/2010/05/implementing-date-support-with-quickfix.html" rel="alternate" type="text/html"/>
    <title>Implementing Date Support with Quickfix using Xtext</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><h2>Intro</h2>
<p>Now that Xtext is at 1.0 RC1 I thought it was time to start using more of all the new features for Eclipse b3. One of the features I wanted to add was to support time stamps in a nice way in the editor. Internally, a time stamp is naturally stored as a <code>java.util.Date</code> so there is never a question about the exact UTC it is representing. When editing however, you may want to use some other format (if not copying an actual timestamp, you may want to use something like 'feb 10, 11:00:00am' .</p>
<p>The issue is that the reference to 'feb 10, 11:00:00am' in the source text has no time zone information, and the name of the month may not be in english etc. In order for the source to be valid everywhere, it would be required to fully specify the date format used, as well as the timezone and store this in the source. I choose a middle ground where the editor understands the more human friendly formats and offers to help to convert it to a format that is always possible to parse.</p>
<p>All of this may not be all that interesting, but it gave me opportunity to try some features of Xtext that I had not used. The rest of this blog is about my first iteration of the implementation, and it shows some Xtext techniques like:</p>
<ul>
  <li>Using an ecore data type in the grammar</li>

  <li>A Date value converter</li>

  <li>Overriding the SyntaxErrorMessageProvider</li>

  <li>Providing a quick fix for a ValueConverterException</li>
</ul>

<h2>The Grammar</h2>
<p>First step is to define the grammar that involves a time stamp</p>
<pre>import "http://www.eclipse.org/emf/2002/Ecore" as ecore
Entity : "timestamp" '=' TIMESTAMP ;
TIMESTAMP returns ecore::EDate : STRING ;
</pre>This simply declares that a language element 'Entity' has a 'timestamp'. The TIMESTAMP rule declares that it returns an <code>ecore:EDate</code>. Luckily we don't have to state more than the import of ecore to make use of it in our language. Also in our favour is that EDate is declared in ecore. If this was for a datatype not in ecore, we would need to create a model containing the definition of the data type. As this was not the case here, we can move on to the data converter.

<p>Date Value Converter</p>This is almost boiler plate code, but there are some interesting details. Here is the converter method.

<div align="left" class="java" style="overflow: scroll;">
  <table bgcolor="#FFFFFF" border="0" cellpadding="3" cellspacing="0">
    <tbody>
      <tr>
        <!-- start source code -->

        <td align="left" nowrap="nowrap" valign="top"><code><font color="#808080">01</font> <font color="#FFFFFF">  </font><font color="#646464">@ValueConverter</font><font color="#000000">(</font><font color="#000000">rule =</font> <font color="#2A00FF">"TIMESTAMP"</font><font color="#000000">)</font><br/>
        <font color="#808080">02</font> <font color="#FFFFFF">  </font><font color="#7F0055"><b>public</b></font> <font color="#000000">IValueConverter&lt;java.util.Date&gt; TimestampValue</font><font color="#000000">() {</font><br/>
        <font color="#808080">03</font> <font color="#FFFFFF">    </font><font color="#7F0055"><b>return new</b></font> <font color="#000000">AbstractNullSafeConverter&lt;Date&gt;</font><font color="#000000">() {</font><br/>
        <font color="#808080">04</font><br/>
        <font color="#808080">05</font> <font color="#FFFFFF">      </font><font color="#646464">@Override</font><br/>
        <font color="#808080">06</font> <font color="#FFFFFF">      </font><font color="#7F0055"><b>protected</b></font> <font color="#000000">String internalToString</font><font color="#000000">(</font><font color="#000000">Date value</font><font color="#000000">) {</font><br/>
        <font color="#808080">07</font> <font color="#FFFFFF">        </font><font color="#000000">SimpleDateFormat fmt =</font> <font color="#7F0055"><b>new</b></font> <font color="#000000">SimpleDateFormat</font><font color="#000000">(</font><font color="#2A00FF">"yyyyMMddHHmmssZ"</font><font color="#000000">)</font><font color="#000000">;</font><br/>
        <font color="#808080">08</font> <font color="#FFFFFF">        </font><font color="#000000">fmt.setTimeZone</font><font color="#000000">(</font><font color="#000000">TimeZone.getTimeZone</font><font color="#000000">(</font><font color="#2A00FF">"UTC"</font><font color="#000000">))</font><font color="#000000">;</font><br/>
        <font color="#808080">09</font> <font color="#FFFFFF">        </font><font color="#7F0055"><b>return</b></font> <font color="#990000">'"'</font> <font color="#000000">+ fmt.format</font><font color="#000000">(</font><font color="#000000">value</font><font color="#000000">)</font> <font color="#000000">+</font> <font color="#990000">'"'</font><font color="#000000">;</font><br/>
        <font color="#808080">10</font> <font color="#FFFFFF">      </font><font color="#000000">}</font><br/>
        <font color="#808080">11</font><br/>
        <font color="#808080">12</font> <font color="#FFFFFF">      </font><font color="#646464">@Override</font><br/>
        <font color="#808080">13</font> <font color="#FFFFFF">      </font><font color="#7F0055"><b>protected</b></font> <font color="#000000">Date internalToValue</font><font color="#000000">(</font><font color="#000000">String string, AbstractNode node</font><font color="#000000">)</font> <font color="#7F0055"><b>throws</b></font> <font color="#000000">ValueConverterException</font> <font color="#000000">{</font><br/>
        <font color="#808080">14</font> <font color="#FFFFFF">        </font><font color="#000000">string = string.substring</font><font color="#000000">(</font><font color="#990000">1</font><font color="#000000">, string.length</font><font color="#000000">()</font> <font color="#000000">-</font> <font color="#990000">1</font><font color="#000000">)</font><font color="#000000">;</font><br/>
        <font color="#808080">15</font><br/>
        <font color="#808080">16</font> <font color="#FFFFFF">        </font><font color="#3F7F5F">// First choice, if a timestamp string, use it.</font><br/>
        <font color="#808080">17</font> <font color="#FFFFFF">        </font><font color="#7F0055"><b>try</b></font> <font color="#000000">{</font><br/>
        <font color="#808080">18</font> <font color="#FFFFFF">          </font><font color="#3F7F5F">// Allow non UTC strings since they are fully qualified with offset and can thus</font><br/>
        <font color="#808080">19</font> <font color="#FFFFFF">          </font><font color="#3F7F5F">// be parsed by anyone.</font><br/>
        <font color="#808080">20</font> <font color="#FFFFFF">          </font><font color="#000000">SimpleDateFormat fmt =</font> <font color="#7F0055"><b>new</b></font> <font color="#000000">SimpleDateFormat</font><font color="#000000">(</font><font color="#2A00FF">"yyyyMMddHHmmssZ"</font><font color="#000000">)</font><font color="#000000">;</font><br/>
        <font color="#808080">21</font> <font color="#FFFFFF">          </font><font color="#000000">fmt.setTimeZone</font><font color="#000000">(</font><font color="#000000">TimeZone.getTimeZone</font><font color="#000000">(</font><font color="#2A00FF">"UTC"</font><font color="#000000">))</font><font color="#000000">;</font><br/>
        <font color="#808080">22</font> <font color="#FFFFFF">          </font><font color="#7F0055"><b>return</b></font> <font color="#000000">fmt.parse</font><font color="#000000">(</font><font color="#000000">string</font><font color="#000000">)</font><font color="#000000">;</font><br/>
        <font color="#808080">23</font> <font color="#FFFFFF">        </font><font color="#000000">}</font><br/>
        <font color="#808080">24</font> <font color="#FFFFFF">        </font><font color="#7F0055"><b>catch</b></font><font color="#000000">(</font><font color="#000000">ParseException e</font><font color="#000000">) {</font><br/>
        <font color="#808080">25</font> <font color="#FFFFFF">          </font><font color="#3F7F5F">// ignore and try timestamp format</font><br/>
        <font color="#808080">26</font> <font color="#FFFFFF">        </font><font color="#000000">}</font><br/>
        <font color="#808080">27</font> <font color="#FFFFFF">        </font><font color="#3F7F5F">// Second choice - if using java default for the locale</font><br/>
        <font color="#808080">28</font> <font color="#FFFFFF">        </font><font color="#3F7F5F">// Needs special processing as it probably does not contain TZ in the string)</font><br/>
        <font color="#808080">29</font> <font color="#FFFFFF">        </font><font color="#7F0055"><b>try</b></font> <font color="#000000">{</font><br/>
        <font color="#808080">30</font> <font color="#FFFFFF">          </font><font color="#3F7F5F">// try the default locale style of Date Time and see if it parses</font><br/>
        <font color="#808080">31</font> <font color="#FFFFFF">          </font><font color="#000000">DateFormat.getDateTimeInstance</font><font color="#000000">()</font><font color="#000000">.parse</font><font color="#000000">(</font><font color="#000000">string</font><font color="#000000">)</font><font color="#000000">;</font><br/>
        <font color="#808080">32</font> <font color="#FFFFFF">          </font><font color="#3F7F5F">// if this parsed, it is not likely that the default is the full</font><br/>
        <font color="#808080">33</font> <font color="#FFFFFF">          </font><font color="#3F7F5F">// format with timezone offset, so flag this as a special error :)</font><br/>
        <font color="#808080">34</font> <font color="#FFFFFF">          </font><font color="#3F7F5F">// that is fixable</font><br/>
        <font color="#808080">35</font> <font color="#FFFFFF">          </font><font color="#3F7F5F">// Although simple, it makes sense from a user perspective, a time in</font><br/>
        <font color="#808080">36</font> <font color="#FFFFFF">          </font><font color="#3F7F5F">// local format can be entered and transformed to a timestamp.</font><br/>
        <font color="#808080">37</font> <font color="#FFFFFF">          </font><font color="#7F0055"><b>throw new</b></font> <font color="#000000">ValueConverterException</font><font color="#000000">(</font><font color="#2A00FF">"Not in timestamp format"</font><font color="#000000">, node,</font> <font color="#7F0055"><b>new</b></font> <font color="#000000">NonUTCTimestampException</font><font color="#000000">())</font><font color="#000000">;</font><br/>
        <font color="#808080">38</font> <font color="#FFFFFF">        </font><font color="#000000">}</font><br/>
        <font color="#808080">39</font> <font color="#FFFFFF">        </font><font color="#7F0055"><b>catch</b></font><font color="#000000">(</font><font color="#000000">ParseException e</font><font color="#000000">) {</font><br/>
        <font color="#808080">40</font> <font color="#FFFFFF">          </font><font color="#000000">DateFormat fmt = DateFormat.getDateTimeInstance</font><font color="#000000">()</font><font color="#000000">;</font><br/>
        <font color="#808080">41</font> <font color="#FFFFFF">          </font><font color="#000000">String defaultFormat =</font> <font color="#000000">(</font><font color="#000000">fmt</font> <font color="#7F0055"><b>instanceof</b></font> <font color="#000000">SimpleDateFormat</font><font color="#000000">)</font><br/>
        <font color="#808080">42</font> <font color="#FFFFFF">              </font><font color="#000000">?</font> <font color="#000000">((</font><font color="#000000">SimpleDateFormat</font><font color="#000000">)</font> <font color="#000000">fmt</font><font color="#000000">)</font><font color="#000000">.toLocalizedPattern</font><font color="#000000">()</font><br/>
        <font color="#808080">43</font> <font color="#FFFFFF">              </font><font color="#000000">:</font> <font color="#2A00FF">"Default format for the locale"</font><font color="#000000">;</font><br/>
        <font color="#808080">44</font> <font color="#FFFFFF">          </font><font color="#7F0055"><b>throw new</b></font> <font color="#000000">ValueConverterException</font><font color="#000000">(</font><font color="#2A00FF">"Not in valid format: Use 'yyyyMMddHHmmssZ' or "</font> <font color="#000000">+ defaultFormat +</font><br/>
        <font color="#808080">45</font> <font color="#FFFFFF">              </font><font color="#2A00FF">"Parse error:"</font> <font color="#000000">+ e.getMessage</font><font color="#000000">()</font><font color="#000000">, node,</font> <font color="#7F0055"><b>null</b></font><font color="#000000">)</font><font color="#000000">;</font><br/>
        <font color="#808080">46</font><br/>
        <font color="#808080">47</font> <font color="#FFFFFF">        </font><font color="#000000">}</font><br/>
        <font color="#808080">48</font> <font color="#FFFFFF">      </font><font color="#000000">}</font><br/>
        <font color="#808080">49</font> <font color="#FFFFFF">    </font><font color="#000000">}</font><font color="#000000">;</font><br/>
        <font color="#808080">50</font> <font color="#FFFFFF">  </font><font color="#000000">}</font></code></td><!-- end source code -->
      </tr>
    </tbody>
  </table>
</div>
<p>The code first tries to convert the string entered by the user using the wanted timestamp format. If this fails, an attempt is made to use the default format. If this works, we know we have source text that (most likely) does not have the correct time zone information in it, and we want to offer a quick fix to convert the format. But how can that be done — the ValueConverterException does not allow us to specify a 'diagnostic code' that allows a quick fix to detect the particular problem. The <code>ValueConverterException</code> is also final (in the 1.0RC1 release at least), so the only option is to use a marker Exception as the cause (In this case <code>NonUTCTimestampException</code>).</p>
<p>The final attempt to convert (again using the preferred timestamp format) is there simply to catch the error (it could have been remembered from the first attempt).</p>
<p>As you will see later, the design can be improved further by supplying the actual format that was used to successfully parse the entered timestamp in the marker exception, but I left that for a later iteration.</p>
<p>Note that the error message includes the two valid formats as feedback to the user in case the entered text was unparsable. It would be easy to try several formats.</p>
<h2>Overriding the Syntax Error Message Provider</h2>
<p>The default SyntaxErrorMessageProvider is a class that hands out <code>SyntaxError</code> instances describing a problem occuring in a particular context. In my case I just wanted to add handling of the ValueConverterException with my special non-UTC cause Exception.</p>
<p>Here it is</p>
<div align="left" class="java" style="overflow: scroll;">
  <table bgcolor="#FFFFFF" border="0" cellpadding="3" cellspacing="0">
    <tbody>
      <tr>
        <!-- start source code -->

        <td align="left" nowrap="nowrap" valign="top"><code><font color="#808080">1</font> <font color="#7F0055"><b>public class</b></font> <font color="#000000">BeeLangSyntaxErrorMessageProvider</font> <font color="#7F0055"><b>extends</b></font> <font color="#000000">SyntaxErrorMessageProvider</font> <font color="#000000">{</font><br/>
        <font color="#808080">2</font> <font color="#FFFFFF">  </font><font color="#646464">@Override</font><br/>
        <font color="#808080">3</font> <font color="#FFFFFF">  </font><font color="#7F0055"><b>public</b></font> <font color="#000000">SyntaxErrorMessage getSyntaxErrorMessage</font><font color="#000000">(</font><font color="#000000">IValueConverterErrorContext context</font><font color="#000000">) {</font><br/>
        <font color="#808080">4</font> <font color="#FFFFFF">    </font><font color="#7F0055"><b>if</b></font><font color="#000000">(</font><font color="#000000">!</font><font color="#000000">(</font><font color="#000000">context.getValueConverterException</font><font color="#000000">()</font><font color="#000000">.getCause</font><font color="#000000">()</font> <font color="#7F0055"><b>instanceof</b></font> <font color="#000000">NonUTCTimestampException</font><font color="#000000">))</font><br/>
        <font color="#808080">5</font> <font color="#FFFFFF">      </font><font color="#7F0055"><b>return super</b></font><font color="#000000">.getSyntaxErrorMessage</font><font color="#000000">(</font><font color="#000000">context</font><font color="#000000">)</font><font color="#000000">;</font><br/>
        <font color="#808080">6</font> <font color="#FFFFFF">    </font><font color="#7F0055"><b>return new</b></font> <font color="#000000">SyntaxErrorMessage</font><font color="#000000">(</font><font color="#000000">context.getDefaultMessage</font><font color="#000000">()</font><font color="#000000">, IBeeLangDiagnostic.ISSUE_TIMESTAMP__NON_UTC</font><font color="#000000">)</font><font color="#000000">;</font><br/>
        <font color="#808080">7</font><br/>
        <font color="#808080">8</font> <font color="#FFFFFF">  </font><font color="#000000">}</font></code></td><!-- end source code -->
      </tr>
    </tbody>
  </table>
</div>
<p>As you can see, this is straight forward, simply return a <code>SyntaxErrorMessage</code> with a diagnostic code (a static string) that I called <code>IBeeLangDiagnostic.ISSUE_TIMESTAMP__NON_UTC</code>. At this point, non of the new code (except the data value conversion is in effect, and a bit of magic is needed to make it kick in.</p>
<p>Xtext makes good use of <a href="http://code.google.com/p/google-guice/">google guice</a> dependency injection. In addition to the standard guice, there is also advanced so called 'polymorphic dispatching'. This means, that even if it is not apparent in the guice module Xtext generates for a DSL that something can be bound to a specialized class, it is still just as easy to bind almost anything by simply adding a method.</p>
<p>Here is the part that was added to the guice module for my DSL</p>
<div align="left" class="java" style="overflow: scroll;">
  <table bgcolor="#FFFFFF" border="0" cellpadding="3" cellspacing="0">
    <tbody>
      <tr>
        <!-- start source code -->

        <td align="left" nowrap="nowrap" valign="top"><code><font color="#808080">1</font> <font color="#FFFFFF">  </font><font color="#7F0055"><b>public</b></font> <font color="#000000">Class&lt;?</font> <font color="#7F0055"><b>extends</b></font> <font color="#000000">ISyntaxErrorMessageProvider&gt; bindISyntaxErrorMessageProvider</font><font color="#000000">() {</font><br/>
        <font color="#808080">2</font> <font color="#FFFFFF">    </font><font color="#7F0055"><b>return</b></font> <font color="#000000">BeeLangSyntaxErrorMessageProvider.</font><font color="#7F0055"><b>class</b></font><font color="#000000">;</font><br/>
        <font color="#808080">3</font> <font color="#FFFFFF">  </font><font color="#000000">}</font></code></td><!-- end source code -->
      </tr>
    </tbody>
  </table>
</div>
<p>This means that whenever the Xtext runtime wants an implementation of the <code>ISyntaxErrorMessageProvider</code>, it will now get an instance of the specialized class shown earlier.</p>
<h2>The Quick Fix<br/>
<br/></h2>
<p>The final part of the puzzle is to provide the quick fix. There really is not much to say but to show the code:</p>
<div align="left" class="java" style="overflow: scroll;">
  <table bgcolor="#FFFFFF" border="0" cellpadding="3" cellspacing="0">
    <tbody>
      <tr>
        <!-- start source code -->

        <td align="left" nowrap="nowrap" valign="top"><code><font color="#808080">01</font> <font color="#FFFFFF">  </font><font color="#646464">@Fix</font><font color="#000000">(</font><font color="#000000">IBeeLangDiagnostic.ISSUE_TIMESTAMP__NON_UTC</font><font color="#000000">)</font><br/>
        <font color="#808080">02</font> <font color="#FFFFFF">  </font><font color="#7F0055"><b>public</b></font> <font color="#7F0055"><b>void</b></font> <font color="#000000">transformDate</font><font color="#000000">(</font><font color="#7F0055"><b>final</b></font> <font color="#000000">Issue issue, IssueResolutionAcceptor acceptor</font><font color="#000000">) {</font><br/>
        <font color="#808080">03</font> <font color="#FFFFFF">    </font><font color="#000000">acceptor.accept</font><font color="#000000">(</font><br/>
        <font color="#808080">04</font> <font color="#FFFFFF">      </font><font color="#000000">issue,</font> <font color="#2A00FF">"Convert to timestamp"</font><font color="#000000">,</font> <font color="#2A00FF">"Converts the valid Date/Time to a fully specified time"</font><font color="#000000">, null,</font><br/>
        <font color="#808080">05</font> <font color="#FFFFFF">      </font><font color="#7F0055"><b>new</b></font> <font color="#000000">IModification</font><font color="#000000">() {</font><br/>
        <font color="#808080">06</font> <font color="#FFFFFF">        </font><font color="#7F0055"><b>public</b></font> <font color="#7F0055"><b>void</b></font> <font color="#000000">apply</font><font color="#000000">(</font><font color="#000000">IModificationContext context</font><font color="#000000">)</font> <font color="#7F0055"><b>throws</b></font> <font color="#000000">Exception</font> <font color="#000000">{</font><br/>
        <font color="#808080">07</font> <font color="#FFFFFF">          </font><font color="#000000">IXtextDocument xtextDocument = context.getXtextDocument</font><font color="#000000">()</font><font color="#000000">;</font><br/>
        <font color="#808080">08</font> <font color="#FFFFFF">          </font><font color="#000000">String dateString;</font><br/>
        <font color="#808080">09</font> <font color="#FFFFFF">          </font><font color="#000000">dateString = xtextDocument.get</font><font color="#000000">(</font><font color="#000000">issue.getOffset</font><font color="#000000">()</font><font color="#000000">, issue.getLength</font><font color="#000000">())</font><font color="#000000">;</font><br/>
        <font color="#808080">10</font> <font color="#FFFFFF">          </font><font color="#7F0055"><b>if</b></font><font color="#000000">(</font><font color="#000000">dateString.length</font><font color="#000000">()</font> <font color="#000000">&lt;=</font> <font color="#990000">2</font><font color="#000000">)</font><br/>
        <font color="#808080">11</font> <font color="#FFFFFF">            </font><font color="#7F0055"><b>return</b></font><font color="#000000">;</font> <font color="#3F7F5F">// something is wrong, it should be at least ""</font><br/>
        <font color="#808080">12</font> <font color="#FFFFFF">          </font><font color="#000000">dateString = dateString.substring</font><font color="#000000">(</font><font color="#990000">1</font><font color="#000000">, dateString.length</font><font color="#000000">()</font> <font color="#000000">-</font> <font color="#990000">1</font><font color="#000000">)</font><font color="#000000">;</font><br/>
        <font color="#808080">13</font> <font color="#FFFFFF">          </font><font color="#3F7F5F">// try to convert and throw exception if it fails.</font><br/>
        <font color="#808080">14</font> <font color="#FFFFFF">          </font><font color="#000000">Date date = DateFormat.getDateTimeInstance</font><font color="#000000">()</font><font color="#000000">.parse</font><font color="#000000">(</font><font color="#000000">dateString</font><font color="#000000">)</font><font color="#000000">;</font><br/>
        <font color="#808080">15</font><br/>
        <font color="#808080">16</font> <font color="#FFFFFF">          </font><font color="#3F7F5F">// reformat as timestamp using UTC</font><br/>
        <font color="#808080">17</font> <font color="#FFFFFF">          </font><font color="#000000">SimpleDateFormat fmt =</font> <font color="#7F0055"><b>new</b></font> <font color="#000000">SimpleDateFormat</font><font color="#000000">(</font><font color="#2A00FF">"yyyyMMddHHmmssZ"</font><font color="#000000">)</font><font color="#000000">;</font><br/>
        <font color="#808080">18</font> <font color="#FFFFFF">          </font><font color="#000000">fmt.setTimeZone</font><font color="#000000">(</font><font color="#000000">TimeZone.getTimeZone</font><font color="#000000">(</font><font color="#2A00FF">"UTC"</font><font color="#000000">))</font><font color="#000000">;</font><br/>
        <font color="#808080">19</font> <font color="#FFFFFF">          </font><font color="#000000">dateString =</font> <font color="#990000">'"'</font> <font color="#000000">+ fmt.format</font><font color="#000000">(</font><font color="#000000">date</font><font color="#000000">)</font> <font color="#000000">+</font> <font color="#990000">'"'</font><font color="#000000">;</font><br/>
        <font color="#808080">20</font><br/>
        <font color="#808080">21</font> <font color="#FFFFFF">          </font><font color="#000000">xtextDocument.replace</font><font color="#000000">(</font><font color="#000000">issue.getOffset</font><font color="#000000">()</font><font color="#000000">, issue.getLength</font><font color="#000000">()</font><font color="#000000">, dateString</font><font color="#000000">)</font><font color="#000000">;</font><br/>
        <font color="#808080">22</font> <font color="#FFFFFF">        </font><font color="#000000">}</font><br/>
        <font color="#808080">23</font> <font color="#FFFFFF">      </font><font color="#000000">})</font><font color="#000000">;</font><br/>
        <font color="#808080">24</font> <font color="#FFFFFF">  </font><font color="#000000">}</font></code></td><!-- end source code -->
      </tr>
    </tbody>
  </table>
</div>
<p>This is pretty much bolier plate code for a quick fix (when generating a DSL with Xtext, there is a sample that shows ow it is done). The code above simply converts the source string using the default format in the value converter, turning it into a timestamp in the correct format. It the replaces the string in the input text.</p>
<p>An improvement would be to pass the date format used in the 'Issue' (it is possible to pass data with a diagnostic code), but I did not look into how to do this with the SyntaxError class yet.</p>
<p>A big thank you to Sebastian Zarnekow at Itemis for pointing me in the right direction</p><div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/2117597481687734563-3462068600400267225?l=henrik-eclipse.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2010-05-19T22:22:23Z</updated>
    <published>2010-05-19T21:59:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="eclipse"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="xtext"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="b3"/>
    <author>
      <name>Henrik</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/18131140901733897033</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-2117597481687734563</id>
      <author>
        <name>Henrik</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/18131140901733897033</uri>
      </author>
      <link href="http://henrik-eclipse.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/2117597481687734563/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://henrik-eclipse.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <title>Eclipse by Planetary Transits</title>
      <updated>2010-06-08T02:01:40Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-35738028.post-3965717514048583015</id>
    <link href="http://blog.rcp-company.com/feeds/3965717514048583015/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=35738028&amp;postID=3965717514048583015" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/35738028/posts/default/3965717514048583015" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/35738028/posts/default/3965717514048583015" rel="self" type="application/atom+xml"/>
    <link href="http://blog.rcp-company.com/2010/05/eclipse-banking-day-in-copenhagen-just.html" rel="alternate" type="text/html"/>
    <title>Eclipse Banking Day in Copenhagen - just around the corner</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">In just two weeks, we will have an <a href="http://wiki.eclipse.org/Eclipse_Banking_Day_Copenhagen">Eclipse Banking Day in Copenhagen</a>. The event takes place at IBM's offices in Lyngby north of Copenhagen on June, 1. As of this moment there are 80 registered participants, so we have room for just a few more.<br/><br/>For those that don't know yet, here is the official description of the event:<br/><blockquote>Eclipse Banking Day is a day-long event for senior technical developers, architects and managers in the finance industry to learn how to better leverage Eclipse technology and the Eclipse community as part of their development strategy. The event will focus on three themes:<br/><ul><li>Eclipse as a platform for application development; </li><li>Leveraging Eclipse modeling technology for data exchange; and</li><li>Collaborating with the open source community.</li></ul>Attendees will have the chance to hear speakers from leading financial institutions and experts from the Eclipse community. This event builds on the success of Eclipse Banking Days in <a href="http://wiki.eclipse.org/EclipseBankingDayLondon">London</a>, <a href="http://wiki.eclipse.org/EclipseBankingDayNYC">New York</a> and Frankfurt.</blockquote><br/>Attendees to the event must be employees or contractors of a financial institution. There is no cost to attend but pre-registration is required.<br/><br/>We found many different and varied speakers - some with a banking background and some with a technical background - some of them are:<br/><ul><li>Mike Milinkovich, director of Eclipse Foundation, giving the keynote.</li><li>Martin von Haller Grønbæk, IT-attorney, who speaks about the legal issues surrounding licensing and IP rights</li><li>Jochen Krause, Eclipse Source, talking about RAP and how an RCP application can be presented in a web browser</li><li>Oliver Wolf, SOREPA, talking about SOA technologies in Eclipse</li><li>Patrik Tennberg, Nordea, talking about their RCP application in the bank</li><li>And many more </li></ul>The full program is found <a href="http://wiki.eclipse.org/Eclipse_Banking_Day_Copenhagen#Agenda">here</a>. There will also be ample opportunity to talk with all these people during the day.<br/><br/>We have room for 100 people from the financial world in the Nordic countries (Denmark, Sweden, Norway and Finland) which helps determine the development strategy of their firms. It's typically people from banks, insurance companies, pension funds, and mortgage companies with titles such as CTO, development manager, system architect and the like. <br/><br/>Eclipse Banking Day is sponsored by BSI AG, EclipseSpource, the Eclipse Foundation, IBM, Instantiations, Purple Scout, ReportSoft, SOPERA and the RCP Company. The support provided by these organizations has made it possible to offer this event free of charge to participants.<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/35738028-3965717514048583015?l=blog.rcp-company.com" width="1"/></div></div>
    </content>
    <updated>2010-05-19T18:48:47Z</updated>
    <published>2010-05-19T18:48:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="conferences"/>
    <author>
      <name>Tonny Madsen</name>
      <email>tonny.madsen@rcp-company.com</email>
      <uri>http://www.blogger.com/profile/11274095267997707957</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-35738028</id>
      <author>
        <name>Tonny Madsen</name>
        <email>tonny.madsen@rcp-company.com</email>
        <uri>http://www.blogger.com/profile/11274095267997707957</uri>
      </author>
      <link href="http://blog.rcp-company.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/35738028/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://blog.rcp-company.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://www.blogger.com/feeds/35738028/posts/default?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <subtitle>Plugging in made easy</subtitle>
      <title>Tonny Madsen</title>
      <updated>2010-05-20T01:31:53Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-5620932762413494076.post-295245774449729503</id>
    <link href="http://kenn-hussey.blogspot.com/feeds/295245774449729503/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=5620932762413494076&amp;postID=295245774449729503" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/5620932762413494076/posts/default/295245774449729503" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/5620932762413494076/posts/default/295245774449729503" rel="self" type="application/atom+xml"/>
    <link href="http://kenn-hussey.blogspot.com/2010/05/on-model-based-modeling-builds.html" rel="alternate" type="text/html"/>
    <title>On Model-Based Modeling Builds...</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">In principle, I think most people agree that builds should be a shared responsibility, i.e., everyone should be equally able to do builds and the effort to do so should be equally distributed. Unfortunately, equal effort can sometimes result in nobody doing anything at all, because hardly anybody wants to! Trying to do the right thing in this context has launched many an accidental career in release engineering. So the best we can do is make the build effort as efficient as possible, giving everyone less reason to complain.<br/><br/>This has become essential for the Modeling project, which now has roughly sixty active sub-projects, many of which are one or two committer efforts with no way to justify a full-time release engineer. With that in mind, the Modeling PMC has <a href="http://wiki.eclipse.org/Modeling_PMC_Meeting%2C_2010-03-16">recently decided</a> to standardize on one build engine - Buckminster (often affectionately referred to as "Bucky") - for all of its projects, starting with the Helios release.<br/><br/>Why standardize? The obvious reason is to spread the joy of supporting build infrastructure across multiple projects. Less obvious, but no less important, is our not-so-distant goal of having a single build chain that can support true continuous integration for the entire Modeling stack, which should be much simpler if all of the builds are using the same technology.<br/><br/>Why Buckminster? The people and technology were familiar, so that was obviously a factor. But we tried to make as objective a decision as possible. Key considerations were the following:<br/><br/><ul><li><a href="http://www.eclipse.org/modeling/emft/?project=cdo">CDO</a> and <a href="http://wiki.eclipse.org/Teneo">Teneo</a>, having independently Buckminsterized last year, were enthusiastic supporters and made a strong case for the benefits.</li></ul><ul><li>Unlike the alternatives, Buckminster is model-driven (it uses EMF). This makes it a no-brainer for us modeling zealots.</li></ul><ul><li>We wanted to be able to reuse existing metadata, which is an advantage that Bucky has over Maven alternatives.</li></ul><ul><li>Having a build that runs the same way in a developer workspace as on the server makes it much more efficient to spread build responsibilities across the teams.</li></ul><ul><li>Adopting Buckminster gets us a step closer to using b3 (Buckminster will soon be supported as a build execution engine for b3), which we think is the future.</li></ul><ul><li>Last, but not least, someone (i.e., <a href="http://blog.cloudsmith.com/">Cloudsmith</a>) stepped up to do the work!</li></ul><br/>Upon closer inspection, Buckminster had a few <a href="http://henrik-eclipse.blogspot.com/2010/05/buckminster-36-new-noteworthy.html">holes</a> that needed filling. Support for automated build identifier generation/insertion, CVS tagging, and dependency version range management were non-negotiable for build slackers like <a href="http://ed-merks.blogspot.com/">Ed Merks</a> (not to mention the rest of us mere mortals), and automated build promotion via Hudson was also highly desireable. So we rushed these changes through in time for Helios.<br/><br/>The effort of migrating from various older build systems (PDE Build, Athena, and variants) was not inconsequential. However, it ended up being relatively painless. One reason I can say this is because Michal Ruzicka (Buckminster committer and my colleague at Cloudsmith) did pretty much all the work. Michal was able to Buckminsterize most of the key Modeling projects in roughly a month of effort, which was pretty amazing, all things considered. Thanks again, Michal!<br/><br/>The first Buckminster build of EMF went live with M7 two weeks ago and the many other Modeling projects will soon follow. We'll be cutting a few key projects over as Helios heads toward completion. A number of others have chosen to postpone switching until just after the Helios release.<br/><br/>We'll send out periodic updates as the individual projects adopt the new build system over the coming weeks, so stay tuned for more details. In the meantime, if you want to hear more about what we're doing (and how), let us know!<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/5620932762413494076-295245774449729503?l=kenn-hussey.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2010-05-18T23:13:04Z</updated>
    <published>2010-05-18T23:12:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="Cloudsmith"/>
    <author>
      <name>Kenn Hussey</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/15584300551729300431</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-5620932762413494076</id>
      <author>
        <name>Kenn Hussey</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/15584300551729300431</uri>
      </author>
      <link href="http://kenn-hussey.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/5620932762413494076/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://kenn-hussey.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://www.blogger.com/feeds/5620932762413494076/posts/default?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <subtitle>(in case you've been wondering)</subtitle>
      <title>This Is The Frequency</title>
      <updated>2010-06-08T13:20:58Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>tag:blogger.com,1999:blog-29853730.post-780073272898038868</id>
    <link href="http://feedproxy.google.com/~r/Developing/~3/aSOz_tHzxsU/mobile-phone-is-new-browser.html" rel="alternate" type="text/html"/>
    <title>Mobile phone is the new browser</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><div>Internet, especially web has changed our world. It has become a major part of how we shop, have conversations, have relations, learn, teach etc... <a href="http://en.wikipedia.org/wiki/Web_browser">Web browser</a> has been the principal tool for most of the interaction with Internet. <a href="http://en.wikipedia.org/wiki/ViolaWWW">Viola</a> was the first web browser I have ever used. Regardless of many advances on the web technology and many browsers and browser versions that accompany them, the main capability of the web browser stayed constant. <br/>
<br/>
Internet, on the other hand, did not remain constant, continued to be part of our work and leisure life. When we moved into the <a href="http://en.wikipedia.org/wiki/Cloud_computing">cloud computing</a> era, a mindset change of how we think about computing also accompanied it. Our interaction with Internet evolved to be two way, creating content, taking part in the social networks became the normal interaction. Using cloud services for all sorts of computing needs started to be the primary choice.<br/>
The new Internet experience and cloud services, to enable their full potential, require a new browser. A browser that is not made only for consuming content but also for creating it. One that can be an almost natural part of our daily life. Our current browsers do provide a limited way to participate on the web mostly in a textual manner, It is a better than nothing interim solution. They fail completely on becoming a natural part of our life. I believe, the new browser is the mobile phone, and I do not mean just the mobile browser that comes with your phone. <br/>
<br/>
I think it is easier to understand why we need a new tool for easier content creation. Active contribution has been central to <a href="http://en.wikipedia.org/wiki/Web_2.0">Web 2.0</a>, the concept that has been shaping the web for the last decade. We are at a point, that we expect to be able to contribute to web applications that we use. Most mobile phones already include great content creation tools on board. Camera, video, GPS capabilities already provides opportunities for content creation. Web sites like CNN's <a href="http://www.ireport.com/">iReport </a>do benefit from these capabilities. A quick visit to Flickr's <a href="http://www.flickr.com/cameras/">camera finder</a> reveals that at least one of the top five cameras on the Flickr community is a cameraphone. GPS is also another mobile phone built-in feature that is having an impact on content creation. <a href="http://www.panoramio.com/">Panaromio</a>, is a good example of how <a href="http://en.wikipedia.org/wiki/Geotagging">geotagging</a> the content, in this case photos, innovates what can be considered a legacy content. An excellent example of how mobile phones can serve our needs for content creation in new and innovative ways is the <a href="http://ocarina.smule.com/">Ocarina</a> app. for iPhone. An application that allows you to create music using the sensors of the phone and then share your creation. Applications like Ocarina is a precursor of how our new browser can innovate our latest addiction.<br/>
<div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/_ZT4L3ZsR7hE/S_MBUNLBckI/AAAAAAAABUs/uZ4miOEiEUA/s1600/mzl.iqyjcire.320x480-75.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="213" src="http://2.bp.blogspot.com/_ZT4L3ZsR7hE/S_MBUNLBckI/AAAAAAAABUs/uZ4miOEiEUA/s320/mzl.iqyjcire.320x480-75.jpg" width="320"/></a></div><br/>
Of course, a mobile phone because it is mobile and with us all the time is already part of our life. However, its communication capabilities is what makes mobile phones eligible to be the browser of our life. Broadband 3G and WLAN is crucial for communicating with the cloud services. Besides its various built-in sensors, its further communication technologies, such as <a href="http://en.wikipedia.org/wiki/Bluetooth">bluetooth</a> and <a href="http://en.wikipedia.org/wiki/Near_Field_Communication">NFC</a>, allows mobile phones to act as a gateway for all kinds of remote sensors. What do I really mean by browsing your life and how it relates to sensors, let me try to explain by some examples.  An already widely used example of such applications is the <a href="http://www.apple.com/ipod/nike/">Nike+ </a>products where the data collected by sensors during sports activity is uploaded to a service using a mobile device, in this case iPod. Another similar service that I enjoy using is the<a href="http://sportstracker.nokia.com/"> sports tracker,</a> where data is collected for outdoor sports through GPS and optionally a heart rate monitor by a mobile phone and uploaded to a cloud service. This technology can easily stretch beyond sports. Another <a href="http://corventis.com/EU/avivo.asp">product</a> that consists of a wearable monitor for collecting medical information such as the hearth rate, respiration, body fluid status already exist. The product uses its own separate transmitter to transfer the collected data to the web service for further processing. I think, in the future, this transmitter will be replaced by a mobile phone software and which in turn will make the service more affordable and common. I believe what we see today are just the beginning of the kind of services that will be built around the life browsing capabilities of mobile phones.<br/>
<br/>
I hope this gives another perspective on why the traditional consumer electronics companies are less relevant to mobile phone market. Mobile phones are not about consumer electronics anymore it is about the next and possibly the final round of <a href="http://en.wikipedia.org/wiki/Browser_wars">browser wars</a>.</div><div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/29853730-780073272898038868?l=www.gorkem-ercan.com" width="1"/></div>
<p><a href="http://feedads.g.doubleclick.net/~a/urRoZLdC03gER_zA_EDQWWLiXGk/0/da"><img border="0" ismap="true" src="http://feedads.g.doubleclick.net/~a/urRoZLdC03gER_zA_EDQWWLiXGk/0/di"/></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/urRoZLdC03gER_zA_EDQWWLiXGk/1/da"><img border="0" ismap="true" src="http://feedads.g.doubleclick.net/~a/urRoZLdC03gER_zA_EDQWWLiXGk/1/di"/></a></p><img height="1" src="http://feeds.feedburner.com/~r/Developing/~4/aSOz_tHzxsU" width="1"/></div>
    </summary>
    <updated>2010-05-18T21:17:42Z</updated>
    <category term="mobile"/>
    <category term="devices"/>
    <category term="browser"/><feedburner:origlink xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://www.gorkem-ercan.com/2010/05/mobile-phone-is-new-browser.html</feedburner:origlink>
    <author>
      <name>gorkem</name>
      <email>noreply@blogger.com</email>
    </author>
    <source>
      <id>http://www.gorkem-ercan.com/</id>
      <author>
        <name>gorkem</name>
        <email>noreply@blogger.com</email>
      </author>
      <link href="http://www.gorkem-ercan.com/" rel="alternate" type="text/html"/>
      <link href="http://feeds.feedburner.com/Developing" rel="self" type="application/rss+xml"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>Simply about developing software</subtitle>
      <title>Gorkem Ercan</title>
      <updated>2010-06-09T06:16:38Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-25023280.post-7940041113388664777</id>
    <link href="http://relengofthenerds.blogspot.com/feeds/7940041113388664777/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=25023280&amp;postID=7940041113388664777" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/25023280/posts/default/7940041113388664777" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/25023280/posts/default/7940041113388664777" rel="self" type="application/atom+xml"/>
    <link href="http://relengofthenerds.blogspot.com/2010/05/webmaster-kudos.html" rel="alternate" type="text/html"/>
    <title>Webmaster kudos</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Sometimes, while working in open source, we don't take time to say thanks. We are so intent on fixing bugs and moving on to the next one.  <br/><br/>I'd like to take the opportunity to say thanks to the <a href="http://dev.eclipse.org/blogs/eclipsewebmaster/">webmasters</a> for some work they did this weekend that substantially improved CVS performance.   From Denis<br/><br/>"We moved the download.eclipse.org and archive.eclipse.org mounts to the other NFS server (the one that serves pserver and other less important stuff), and that seems to have made an enormous difference".<br/><br/>Our build now takes 40-50 minutes less because of this change. This makes our team much more productive.  And a faster build makes me a happy release engineer.  <br/><br/><div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/_cHqYDQknqAI/S_K2HOhp20I/AAAAAAAAA6k/KJw7qNp3b6s/s1600/2086641_23234fb0f8_o.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="480" src="http://2.bp.blogspot.com/_cHqYDQknqAI/S_K2HOhp20I/AAAAAAAAA6k/KJw7qNp3b6s/s640/2086641_23234fb0f8_o.jpg" width="640"/></a></div><br/><br/>Image © psd, http://www.flickr.com/photos/psd/2086641/ licensed under Creative Commons by-nc-sa 2.0<br/><br/>Thank you Matt and Denis for all your hard work improving the eclipse.org infrastructure.<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/25023280-7940041113388664777?l=relengofthenerds.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2010-05-18T15:56:12Z</updated>
    <published>2010-05-18T15:51:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="eclipse"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="thanks"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="webmaster"/>
    <author>
      <name>Kim Moir</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/14700841495895160750</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-25023280</id>
      <author>
        <name>Kim Moir</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/14700841495895160750</uri>
      </author>
      <link href="http://relengofthenerds.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/25023280/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://relengofthenerds.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://www.blogger.com/feeds/25023280/posts/default?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <subtitle>Release Engineering for Eclipse and RT Equinox</subtitle>
      <title>Releng of the Nerds</title>
      <updated>2010-06-03T19:54:35Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://blog.hantsuki.org/2010/05/17/staging-changes-one-by-one/</id>
    <link href="http://blog.hantsuki.org/2010/05/17/staging-changes-one-by-one/" rel="alternate" type="text/html"/>
    <title>Staging changes, one by one…</title>
    <summary>It’s been exactly one month since I bickered about the EGit plug-in and I must say that it’s really come a long way. I would like to thank the developers for their hard work, their employers for letting them work on open source *cough, cough*, and for reviewing and committing my patches as I push [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>It’s been exactly one month since I <a href="http://blog.hantsuki.org/2010/04/17/egit-and-me/">bickered</a> about the EGit plug-in and I must say that it’s really come a long way. I would like to thank the developers for their hard work, their employers for letting them work on open source *cough, cough*, and for reviewing and committing my patches as I push them to <a href="http://egit.eclipse.org/r/">Gerrit</a> for review.</p>
<p>Regarding my last blog post on this matter, the <a href="http://egit.eclipse.org/r/#change,577">synchronization feature</a> that I hacked up has now been handed off over to <a href="http://luksza.org/">Dariusz Luksza</a>, the (un?)lucky student who will be working on JGit/EGit thanks to the Google Summer of Code programme. Naturally, this is good news for me because it means I can spend more time on <a href="http://www.jp.playstation.com/scej/title/demons-souls/"><i>Demon’s Souls</i></a> (holy mackerel, this game is hard, I’m pretty sure I died ten times in three hours) and <a href="http://us.starcraft2.com/"><i>StarCraft II</i></a>. But, of course, programming is my true calling (or is it IRC?) so I’ve actually been cooking up a side dish during the evenings and the weekends.</p>
<p/><center><img src="http://blog.hantsuki.org/wp-content/uploads/2010/05/egit-staging.png"/></center><p/>
<p>Obviously, I’ve already pushed the <a href="http://egit.eclipse.org/r/716">change</a> to Gerrit for review by the EGit developers. If anyone’s feeling adventurous and decides to fetch the change and test it, please feel free to leave a comment on <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=313263">bug 313263</a>. As I said before, I don’t know anything about Git, so what makes sense to me probably doesn’t make any sense to you. ;)</p></div>
    </content>
    <updated>2010-05-18T00:43:03Z</updated>
    <category term="Eclipse"/>
    <author>
      <name>Remy</name>
    </author>
    <source>
      <id>http://blog.hantsuki.org</id>
      <link href="http://blog.hantsuki.org" rel="alternate" type="text/html"/>
      <link href="http://blog.hantsuki.org/category/technology/eclipse/feed" rel="self" type="application/rss+xml"/>
      <title>Hantsuki » Eclipse</title>
      <updated>2010-06-07T00:55:45Z</updated>
    </source>
  </entry>

  <entry xml:lang="en-us">
    <id>http://www.jroller.com/andyl/entry/eclipse_labs_and_mercurialeclipse</id>
    <link href="http://www.jroller.com/andyl/entry/eclipse_labs_and_mercurialeclipse" rel="alternate" type="text/html"/>
    <title>Eclipse Labs and MercurialEclipse</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>
Believe or not - two days after we have announced the <b><a href="http://www.jroller.com/andyl/entry/mercurialeclipse_1_6_0_final">1.6.0 MercurialEclipse plugin release</a></b>, <b><a href="http://dev.eclipse.org/blogs/mike/2010/05/13/introducing-eclipse-labs/">Mike announced</a></b> that <b><a href="http://www.eclipselabs.org/">Eclipse Labs</a></b> will use <b><a href="http://mercurial.selenic.com/">Mercurial</a></b> as version control system. This is a perfect match!
</p>
<p>
Please don't even try to start your first Eclipse Labs project with Subversion. <b><a href="http://www.jroller.com/andyl/entry/what_is_a_good_vcs">Subversion time is over</a></b>. It is now "legacy" and clearly behind Git and Mercurial. Please give <b><a href="http://mercurial.selenic.com/">Mercurial</a></b> (and <b><a href="http://www.javaforge.com/project/HGE">MercurialEclipse</a></b>) a try! It is worth the effort, especially if you use MercurialEclipse as Mercurial GUI frontend.
</p>
<p>
The video below shows first steps with MercurialEclipse and Google Code (==Eclipse Labs). Additionally I highly recommend you this <b><a href="http://ekkescorner.wordpress.com/blog-series/git-mercurial/">detailed series of posts about using DVC systems in Eclipse</a></b>, particularly Mercurial with <b><a href="http://www.javaforge.com/project/HGE">MercurialEclipse</a></b>.
</p>
<p>






</p>
<p>
Are you new to <b><a href="http://mercurial.selenic.com/">Mercurial</a></b>? Just check this <b><a href="http://www.jroller.com/andyl/entry/mercurial_tutorials">great Mercurial tutorials for beginners</a></b>.
</p></div>
    </summary>
    <updated>2010-05-14T13:44:26Z</updated>
    <category term="Java"/>
    <category term="eclipse"/>
    <category term="labs"/>
    <category term="mercurial"/>
    <category term="plugin"/>
    <author>
      <name>Andrei Loskutov</name>
    </author>
    <source>
      <id>http://www.jroller.com/andyl/</id>
      <link href="http://www.jroller.com/andyl/" rel="alternate" type="text/html"/>
      <link href="http://www.jroller.com/andyl/feed/entries/rss" rel="self" type="application/atom+xml"/>
      <rights>Copyright 2010</rights>
      <subtitle>(Andrei Loskutov sein Weblog)</subtitle>
      <title>Just code</title>
      <updated>2010-06-09T06:52:09Z</updated>
    </source>
  </entry>

  <entry xml:lang="en-us">
    <id>http://www.eclipse.org/webtools/news.php#permalink140</id>
    <link href="http://download.eclipse.org/webtools/downloads/" rel="alternate" type="text/html"/>
    <title>WTP 3.2 RC1 Declared!</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><div>
        3.2 RC1 has been declared!
        <a href="http://download.eclipse.org/webtools/downloads/">download</a>
        it now!
    </div><p><a href="http://www.eclipse.org/webtools/news.php#permalink140">More news</a></p></div>
    </summary>
    <updated>2010-05-14T00:52:00Z</updated>
    <source>
      <id>http://www.eclipse.org/webtools/</id>
      <author>
        <name>Webtools News</name>
      </author>
      <link href="http://www.eclipse.org/webtools/" rel="alternate" type="text/html"/>
      <link href="http://www.eclipse.org/webtools/news/" rel="self" type="application/rss+xml"/>
      <rights>Copyright (c) 2001, 2007 IBM Corporation and others. All rights
reserved. This program and the accompanying materials are made available
under the terms of the Eclipse Public License v1.0 which accompanies
this distribution, and is available at
http://www.eclipse.org/legal/epl-v10.html Contributors: IBM Corporation
- initial API and implementation</rights>
      <subtitle>This RSS feed contains the latest news from the Eclipse Web Tools
Platform (WTP) project. The Eclipse WTP project contains Web tools and
frameworks for the Eclipse platform.</subtitle>
      <title>Eclipse Web Tools Platform Project: News</title>
      <updated>2010-06-09T06:52:44Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-30049963.post-1533295681091053577</id>
    <link href="http://eclipse-debug.blogspot.com/feeds/1533295681091053577/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=30049963&amp;postID=1533295681091053577" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/30049963/posts/default/1533295681091053577" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/30049963/posts/default/1533295681091053577" rel="self" type="application/atom+xml"/>
    <link href="http://eclipse-debug.blogspot.com/2010/05/add-new-expression-inline-in.html" rel="alternate" type="text/html"/>
    <title>"Add new expression" inline in Expressions View</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><a href="http://1.bp.blogspot.com/_zT-lAlLsQQ8/S-w321MrG9I/AAAAAAAAABI/_sIdXBr5QsQ/s1600/Add_new_expression.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5470809062481009618" src="http://1.bp.blogspot.com/_zT-lAlLsQQ8/S-w321MrG9I/AAAAAAAAABI/_sIdXBr5QsQ/s400/Add_new_expression.png" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 200px;"/></a><br/>The debugger expressions view has a new feature: the ability to add a new expression without opening a dialog.  When user clicks on "Add new expression" entry, a cell editor is activated to enter the new expression. <br/><br/>I hope most people will appreciate this little convenience but since introducing it few months ago I got <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=312177">one complaint</a> and a request to make it optional.  What do you think?  Is it worth adding yet another preference to try to make everyone happy?<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/30049963-1533295681091053577?l=eclipse-debug.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2010-05-13T17:46:45Z</updated>
    <published>2010-05-13T17:20:00Z</published>
    <author>
      <name>Pawel Piech</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/16885370055529903756</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-30049963</id>
      <author>
        <name>Mike Rennie</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/11412892738963099114</uri>
      </author>
      <link href="http://eclipse-debug.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/30049963/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://eclipse-debug.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://www.blogger.com/feeds/30049963/posts/default?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <subtitle>The IBM Winnipeg Eclipse Team develops the platform debug framework, the JDT debugger, PDE, API Tooling, Ant and p2.</subtitle>
      <title>Eclipse Lives In Winnipeg</title>
      <updated>2010-05-25T18:15:52Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://dev.eclipse.org/blogs/mike/?p=257</id>
    <link href="http://dev.eclipse.org/blogs/mike/2010/05/13/introducing-eclipse-labs/" rel="alternate" type="text/html"/>
    <title>Introducing Eclipse Labs</title>
    <summary>Back in December, I discussed a number of initiatives that the Eclipse Foundation was going to be working on in 2010. The one that attracted the most feedback was “Eclipse Labs”. Well, we are very happy to announce that thanks to Google, this idea has become a reality. Better yet, Google has already released a [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Back in December, I discussed <a href="http://dev.eclipse.org/blogs/mike/2009/12/07/project-community-enhancements-for-2010/">a number of initiatives</a> that the Eclipse Foundation was going to be working on in 2010. The one that attracted the most feedback was “Eclipse Labs”. Well, we are very happy to announce that <a href="http://googlecode.blogspot.com/2010/05/announcing-eclipse-labs.html">thanks to Google</a>, this idea has become a reality. Better yet, Google has already released a cool new project “<a href="http://google-opensource.blogspot.com/2010/05/introducing-workspace-mechanic-for.html">Workspace Mechanic</a>” on Eclipse Labs.</p>
<p>The Eclipse community has a large and vibrant ecosystem of commercial and open source add-ons to the Eclipse platform.  In the open source world, there are two options if you want to start an Eclipse oriented project: 1) propose a project with the Eclipse Foundation or 2) start a project on one of the existing forges, ex. Google Code, SourceForge, Codehaus, etc.  For some projects, the IP due diligence and development process expected of Eclipse projects is not warranted.  However, creating an Eclipse project on a forge makes it difficult to gain visibility in the Eclipse community.  Can we find a third option that allows projects to start and prosper without the process of the Foundation but at the same time gain some of the visibility Eclipse projects often get by being at the Foundation?</p>
<p>Last year, we started a discussion with the people running the Project Hosting on Google Code service to see if they would be interested in creating an Eclipse area on Google Code.   They had already been thinking along the same lines and were very receptive to the idea.   Therefore, I am excited to announce the availability of <a href="http://www.eclipselabs.org">Eclipse Labs</a>, a third option for Eclipse oriented open source projects.</p>
<p><strong>What is Eclipse Labs?</strong><br/>
If you have ever created a project on Google Code you will quickly recognize Eclipse Labs.   Eclipse Labs allows you to very quickly create an open source project with access to an issue tracking system, source code repository (Subversion or Mercurial) and a project web site.  The default license is EPL but you can change it to the other licenses available on Google Code.  Anyone can create a project on Eclipse Labs at any time.    (Assuming you agree to the Google Code terms of use and the Eclipse Labs guidelines.)  Eclipse Labs projects are encouraged to use the org.eclipselabs namespace, but are not required to do so.</p>
<p>Eclipse Labs project owners will also be encouraged to create tags/labels to describe your project.  We have pre-populated a set of Eclipse specific labels that will be displayed on the Eclipse Labs search page.   Eclipse Labs will also have an API that allows people to search on these labels.   My hope is that Eclipse projects will begin to highlight on their own web site Eclipse Labs projects that are relevant to their own project.  For example, Eclipse BIRT could list all the BIRT add-ons created on Eclipse Labs.   We also want to populate <a href="http://marketplace.eclipse.org/">Eclipse Marketplace</a> with the projects from Eclipse Labs.  The API is not yet available but it should be in the next couple of weeks.   I think this will present a lot of opportunity for cross pollination for Eclipse Labs projects.</p>
<p><strong>What is Eclipse Labs Not?</strong><br/>
Remember, this is a third option.  Projects hosted on Eclipse Labs are not official Eclipse projects.  Therefore, they can’t be called Eclipse projects, use the org.eclipse namespace or be included in the Release Train or Packages.  If an Eclipse project wants to include an Eclipse Labs project they will need to go through the normal IP process.  If a project wants any of these benefits they must become an Eclipse Foundation project.  The details have been specified in the Eclipse Labs Guidelines.</p>
<p><strong>Moving Forward</strong><br/>
<a href="http://www.eclipselabs.org">Eclipse Labs</a> is open for business now.  It is still in a beta form, so please provide your feedback.  </p>
<p>Our hope is that Eclipse Labs quickly grows to a larger number of projects than are already hosted at the Eclipse Foundation.   We need to make it as easy as possible for someone to open source their awesome Eclipse based technology.  Not all projects need to be hosted at the Eclipse Foundation and in fact I am hoping more projects will start at Eclipse Labs and then, if they choose, graduate to the Eclipse Foundation.</p>
<p><strong>Big Thanks to Google</strong><br/>
The people at Google have been great during this process.  Google has once again shown their commitment and support for the open source community.  Obviously without this support Eclipse Labs would not have been possible.</p>
<p>Thanks also goes to Ian Skerrett for driving this from our side!</p></div>
    </content>
    <updated>2010-05-13T17:42:48Z</updated>
    <category term="Foundation"/>
    <category term="Open Source"/>
    <category term="Strategy"/>
    <author>
      <name>Mike Milinkovich</name>
    </author>
    <source>
      <id>http://dev.eclipse.org/blogs/mike</id>
      <link href="http://dev.eclipse.org/blogs/mike/feed" rel="self" type="application/atom+xml"/>
      <link href="http://dev.eclipse.org/blogs/mike" rel="alternate" type="text/html"/>
      <subtitle>Musings on the Eclipse Foundation, the community and the ecosystem</subtitle>
      <title>Life at Eclipse</title>
      <updated>2010-05-13T17:42:48Z</updated>
    </source>
  </entry>

  <entry xml:lang="en-us">
    <id>http://www.jroller.com/eu/entry/m2eclipse_pom_editor</id>
    <link href="http://www.jroller.com/eu/entry/m2eclipse_pom_editor" rel="alternate" type="text/html"/>
    <title>Beauty of the Maven POM editor</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">It is great to see that <a href="http://www.sonatype.com/people/2010/05/maven-101-dependency-management">people still like</a> Maven POM editor I designed few years ago for Maven integration for Eclipse. The editor allows simple XML editing with number of code completions and template support, as well as structured form-based view of the entire Maven POM model. It also includes several tools, such as Dependency Hierarchy and Dependency Graph views for the current project.
<br/><br/>

Not many people know that POM editor can be used with pom.xml files outside of Eclipse workspace, including files opened from CVS or SVN Repositories, History view or Maven Repositories view. So, you can see a form-based representation of the project dependencies, as well as explore dependency hierarchy for projects without importing them into Eclipse workspace. 
<br/><br/>

Unfortunately there is several regressions since Sonatype took over the project. For example you can't see form-based representation of an effective POM and editor pages had been shuffled in an odd order, but most of the features still there.
<br/><br/>

I believe that POM editor is playing a key role in Maven integration for Eclipse and it opens huge number of possibilities to help developer to do various common tasks, from analyzing project dependencies from artifact down to the class level, down to collaboration within project team. That is why I created extension points to allow 3rd party integrations. For example, you can add a custom POM editor page/tag using <a href="https://docs.sonatype.org/display/M2ECLIPSE/Extension+Points+and+API#ExtensionPointsandAPI-editorPage">org.maven.ide.eclipse.editor.pageFactories</a> extension point. Custom menus can be also added in various places using standard Eclipse's object contribution mechanism. So, it is now up to you to extend it.</div>
    </summary>
    <updated>2010-05-13T17:16:53Z</updated>
    <category term="Eclipse"/>
    <category term="eclipse"/>
    <category term="m2eclipse"/>
    <category term="maven"/>
    <author>
      <name>Eugene Kuleshov</name>
    </author>
    <source>
      <id>http://www.jroller.com/eu/</id>
      <link href="http://www.jroller.com/eu/" rel="alternate" type="text/html"/>
      <link href="http://www.jroller.com/eu/feed/entries/rss?cat=%2FEclipse" rel="self" type="application/atom+xml"/>
      <rights>Copyright 2010</rights>
      <subtitle>I can believe anything, provided that it is quite incredible.</subtitle>
      <title>Euxx</title>
      <updated>2010-06-09T06:51:15Z</updated>
    </source>
  </entry>

  <entry>
    <id>http://www.jroller.com/carlossg/entry/eclipse_iam_with_wtp_support</id>
    <link href="http://www.jroller.com/carlossg/entry/eclipse_iam_with_wtp_support" rel="alternate" type="text/html"/>
    <title>Eclipse IAM WTP support, now EARs too</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>I recently had some time to spend in Eclipse IAM, working on improving the WTP support.</p><p>Version 0.11.0 already had good support for WAR projects, including war overlays (which was a bit tricky to implement in Eclipse). Now the last builds of the coming 0.12.0 version have EAR support.</p><p>You can import your Maven EAR projects and Eclipse will recognize the Maven-generated application.xml and configure automatically the dependencies to the other WAR projects opened in the workspace, with <b>no extra configuration</b> from you. And from the usual WTP "Run in Server" wizard you can run the EAR project and all associated WAR files in your favorite application server.</p><p>You can install the development builds of 0.12 from <a href="http://q4e.googlecode.com/svn/trunk/updatesite-dev/">http://q4e.googlecode.com/svn/trunk/updatesite-dev/</a> until it's released, and check the <a href="http://code.google.com/p/q4e/wiki/Installation">installation instructions</a> for requirements or if you have issues. For help and feedback, we have a <a href="http://www.eclipse.org/forums/index.php?t=thread&amp;frm_id=56">newsgroup at Eclipse</a>.<br/></p></div>
    </content>
    <updated>2010-05-13T14:00:41Z</updated>
    <published>2010-05-13T13:56:47Z</published>
    <category label="eclipse" term="/eclipse"/>
    <category scheme="http://rollerweblogger.org/ns/tags/" term="ear"/>
    <category scheme="http://rollerweblogger.org/ns/tags/" term="eclipse"/>
    <category scheme="http://rollerweblogger.org/ns/tags/" term="iam"/>
    <category scheme="http://rollerweblogger.org/ns/tags/" term="java"/>
    <category scheme="http://rollerweblogger.org/ns/tags/" term="maven"/>
    <category scheme="http://rollerweblogger.org/ns/tags/" term="war"/>
    <category scheme="http://rollerweblogger.org/ns/tags/" term="wtp"/>
    <author>
      <name>Carlos Sanchez</name>
    </author>
    <source>
      <id>http://www.jroller.com/carlossg/feed/entries/atom</id>
      <link href="http://www.jroller.com/carlossg/feed/entries/atom?cat=%2Feclipse" rel="self" type="application/atom+xml"/>
      <link href="http://www.jroller.com/carlossg/" rel="alternate" type="text/html"/>
      <subtitle>Carlos Sanchez weblog about Java at the End of the Universe</subtitle>
      <title>Carlos Sanchez's Weblog</title>
      <updated>2010-05-13T14:00:41Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-27225531.post-1020669741988842745</id>
    <link href="http://lenettoyeur-on-eclipse.blogspot.com/feeds/1020669741988842745/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=27225531&amp;postID=1020669741988842745" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/27225531/posts/default/1020669741988842745" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/27225531/posts/default/1020669741988842745" rel="self" type="application/atom+xml"/>
    <link href="http://lenettoyeur-on-eclipse.blogspot.com/2010/05/p2-api-presentation-posted.html" rel="alternate" type="text/html"/>
    <title>p2 API presentation posted</title>
    <summary>The slides of my EclipseCon talk on the p2 API are now available on slideshare: http://www.slideshare.net/PascalRapicault/discovering-the-p2-apiEnjoy!</summary>
    <updated>2010-05-12T13:22:45Z</updated>
    <published>2010-05-12T13:20:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="p2"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="eclipsecon"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="equinox"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="API"/>
    <author>
      <name>Le ScaL</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/05469838363528861975</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-27225531</id>
      <author>
        <name>Le ScaL</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/05469838363528861975</uri>
      </author>
      <link href="http://lenettoyeur-on-eclipse.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/27225531/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://lenettoyeur-on-eclipse.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://www.blogger.com/feeds/27225531/posts/default?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <subtitle>Things on eclipse from a core guy.</subtitle>
      <title>Pascal (aka LeNettoyeur) on Eclipse</title>
      <updated>2010-05-31T14:34:34Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://www.vasanth.in/2010/05/11/eclipse-plugin-startexplorer/</id>
    <link href="http://feedproxy.google.com/~r/vasantheclipse/~3/isV0Hf41L9A/" rel="alternate" type="text/html"/>
    <title>Eclipse Plugin: StartExplorer</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">When I am working with Eclipse quite a few times I would copy a file’s path or want to open a location in Command Prompt to run some scripts. This is always cumbersome. I have to go to the properties and copy the path, go to command prompt, cd to the location…
StartExplorer is a [...]


Related posts:<ol><li><a href="http://www.vasanth.in/2008/08/21/eclipse-plugin-wicked-shell/" rel="bookmark" title="Permanent Link: Eclipse Plugin: Wicked Shell">Eclipse Plugin: Wicked Shell</a></li>
<li><a href="http://www.vasanth.in/2008/08/18/eclipse-tip-java-editor-breadcrumb-navigation-bar/" rel="bookmark" title="Permanent Link: Eclipse Tip: Java Editor Breadcrumb Navigation Bar">Eclipse Tip: Java Editor Breadcrumb Navigation Bar</a></li>
<li><a href="http://www.vasanth.in/2004/01/13/eclipse-tip-keeping-plugins-and-workspace-separate/" rel="bookmark" title="Permanent Link: Eclipse Tip: Keeping plugins and workspace separate">Eclipse Tip: Keeping plugins and workspace separate</a></li>
<li><a href="http://www.vasanth.in/2005/03/10/eclipse-tip-show-key-assist/" rel="bookmark" title="Permanent Link: Eclipse Tip: Show key assist">Eclipse Tip: Show key assist</a></li>
<li><a href="http://www.vasanth.in/2006/01/10/eclipse-plugin-macro-recorder/" rel="bookmark" title="Permanent Link: Eclipse Plugin: Macro Recorder">Eclipse Plugin: Macro Recorder</a></li>
</ol></div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p align="center"><a href="http://www.vasanth.in/wp-content/uploads/2010/05/StartExplorer.png"><img alt="StartExplorer" border="0" height="84" src="http://www.vasanth.in/wp-content/uploads/2010/05/StartExplorer_thumb.png" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px;" title="StartExplorer" width="450"/></a> </p>
<p align="left">When I am working with Eclipse quite a few times I would copy a file’s path or want to open a location in Command Prompt to run some scripts. This is always cumbersome. I have to go to the properties and copy the path, go to command prompt, cd to the location…</p>
<p align="left"><a href="http://startexplorer.sourceforge.net/">StartExplorer</a> is a nice plugin that does all of these and more. The screenshot should say a lot… Options like show resource in explorer, start cmd.exe here topped with keyboard shortcuts. Saves a lot of time for me everyday. You can create custom commands too.</p>


<p>Related posts:</p><ol><li><a href="http://www.vasanth.in/2008/08/21/eclipse-plugin-wicked-shell/" rel="bookmark" title="Permanent Link: Eclipse Plugin: Wicked Shell">Eclipse Plugin: Wicked Shell</a></li>
<li><a href="http://www.vasanth.in/2008/08/18/eclipse-tip-java-editor-breadcrumb-navigation-bar/" rel="bookmark" title="Permanent Link: Eclipse Tip: Java Editor Breadcrumb Navigation Bar">Eclipse Tip: Java Editor Breadcrumb Navigation Bar</a></li>
<li><a href="http://www.vasanth.in/2004/01/13/eclipse-tip-keeping-plugins-and-workspace-separate/" rel="bookmark" title="Permanent Link: Eclipse Tip: Keeping plugins and workspace separate">Eclipse Tip: Keeping plugins and workspace separate</a></li>
<li><a href="http://www.vasanth.in/2005/03/10/eclipse-tip-show-key-assist/" rel="bookmark" title="Permanent Link: Eclipse Tip: Show key assist">Eclipse Tip: Show key assist</a></li>
<li><a href="http://www.vasanth.in/2006/01/10/eclipse-plugin-macro-recorder/" rel="bookmark" title="Permanent Link: Eclipse Plugin: Macro Recorder">Eclipse Plugin: Macro Recorder</a></li>
</ol><p/><img height="1" src="http://feeds.feedburner.com/~r/vasantheclipse/~4/isV0Hf41L9A" width="1"/></div>
    </content>
    <updated>2010-05-11T16:13:17Z</updated>
    <category term="Eclipse"/>
    <category term="Java"/>
    <category term="Software"/><feedburner:origlink xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://www.vasanth.in/2010/05/11/eclipse-plugin-startexplorer/</feedburner:origlink>
    <author>
      <name>Vasanth Dharmaraj</name>
    </author>
    <source>
      <id>http://www.vasanth.in</id>
      <link href="http://www.vasanth.in" rel="alternate" type="text/html"/>
      <link href="http://feeds.feedburner.com/vasantheclipse" rel="self" type="application/atom+xml"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>my thoughts on dot net, java, tablet pc, formula one, xbox gaming...</subtitle>
      <title>Vasanth Dharmaraj's Blog » Eclipse</title>
      <updated>2010-06-09T06:18:22Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://vineet.i3labs.org/wp/?p=39</id>
    <link href="http://vineet.i3labs.org/wp/2010/05/11/what-i-have-been-working-on-for-the-last-2-years/" rel="alternate" type="text/html"/>
    <title>What I have been working on for the last 2+ years</title>
    <summary>Many of you will have seen me around, often speaking at EclipseCon (since ‘07). But this year, I couldn’t make it - we have been working on releasing something cool. See the video below: 



Most UML Tools focus on generating code from diagrams, in addition we want useful diagrams made easily from code. Where other [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Many of you will have seen me around, often speaking at EclipseCon (since ‘07). But this year, I couldn’t make it - we have been working on releasing something cool. See the video below: </p>
<p/><center><br/>
<br/>
</center><p/>
<p>Most UML Tools focus on generating code from diagrams, in addition we want useful diagrams made easily from code. Where other tools require months of work to get something useful, we want to get you useful results in minutes if not seconds. Some tools require reading lots of documentation to use, but we have wanted a tool that you can get up to speed in 5 minutes.</p>
<p>What do you think of it? I would like to hear what you think. Post comments here or on the <a href="http://vineet.i3labs.org/wp/wp-content/plugins/feed-statistics.php?url=aHR0cDovL2Jsb2cuYXJjaGl0ZXhhLmNvbQ==">Architexa blog</a>.</p>
 <img height="1" src="http://vineet.i3labs.org/wp/wp-content/plugins/feed-statistics.php?view=1&amp;post_id=39" style="display: none;" width="1"/></div>
    </content>
    <updated>2010-05-11T15:58:31Z</updated>
    <category term="Eclipse"/>
    <author>
      <name>Vineet</name>
    </author>
    <source>
      <id>http://vineet.i3labs.org/wp</id>
      <link href="http://vineet.i3labs.org/wp/category/eclipse/feed/" rel="self" type="application/atom+xml"/>
      <link href="http://vineet.i3labs.org/wp" rel="alternate" type="text/html"/>
      <subtitle>From Informational Interfaces to Software Engineering using RDF, Eclipse, etc.</subtitle>
      <title>Vineet's Journal » Eclipse</title>
      <updated>2010-05-11T15:58:56Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-34692233.post-8669006505744720242</id>
    <link href="http://underlap.blogspot.com/feeds/8669006505744720242/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=34692233&amp;postID=8669006505744720242" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/34692233/posts/default/8669006505744720242" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/34692233/posts/default/8669006505744720242" rel="self" type="application/atom+xml"/>
    <link href="http://underlap.blogspot.com/2010/05/virgo-kernel-checked-in-and-ready-for.html" rel="alternate" type="text/html"/>
    <title>Virgo kernel checked in and ready for use</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">The Virgo kernel was <a href="http://dev.eclipse.org/mhonarc/lists/virgo-dev/msg00023.html">checked in</a> to Eclipse git earlier today and is ready for you to <a href="http://wiki.eclipse.org/Virgo">take it for a spin</a>.<br/><br/><a href="http://3.bp.blogspot.com/_RRoi_WAgixw/S-lh4OMb7VI/AAAAAAAAAHU/aw6Lhtk74Ag/s1600/drive.jpeg" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://3.bp.blogspot.com/_RRoi_WAgixw/S-lh4OMb7VI/AAAAAAAAAHU/aw6Lhtk74Ag/s320/drive.jpeg" width="254"/></a><br/><br/>No, this isn't the Virgo kernel - it's a 5 Mb hard disk from 1956 which weighed over a ton. The Virgo kernel zip file would have needed a couple of tons of hard disk for storage. Thank goodness times have moved on.<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/34692233-8669006505744720242?l=underlap.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2010-05-11T14:01:30Z</updated>
    <published>2010-05-11T13:58:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="Virgo"/>
    <author>
      <name>Glyn</name>
      <email>glyn.normington@spamprotectiondeletethis.yahoo.co.uk</email>
      <uri>http://www.blogger.com/profile/08741529390385812080</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-34692233</id>
      <author>
        <name>Glyn</name>
        <email>glyn.normington@spamprotectiondeletethis.yahoo.co.uk</email>
        <uri>http://www.blogger.com/profile/08741529390385812080</uri>
      </author>
      <link href="http://underlap.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/34692233/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://underlap.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://www.blogger.com/feeds/34692233/posts/default?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <title>Mind the Gap</title>
      <updated>2010-05-14T15:23:33Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-5620932762413494076.post-8503111386809423247</id>
    <link href="http://kenn-hussey.blogspot.com/feeds/8503111386809423247/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=5620932762413494076&amp;postID=8503111386809423247" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/5620932762413494076/posts/default/8503111386809423247" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/5620932762413494076/posts/default/8503111386809423247" rel="self" type="application/atom+xml"/>
    <link href="http://kenn-hussey.blogspot.com/2010/05/on-google-io.html" rel="alternate" type="text/html"/>
    <title>On Google I/O...</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">I'll be out at <a href="http://code.google.com/events/io/2010/">Google I/O</a> on May 19 and 20, talking up the work we've been doing with EMF on GWT and just generally learning more about all the great Google technologies we depend on.<br/><br/>Regarding <a href="http://kenn-hussey.blogspot.com/2010/05/on-where-were-using-emf.html">EMF support for Google Widget Toolkit</a>, we hope to have a working implementation of full modeling support for GWT applications before too long. Ed has been hard at work on this, and we'll soon have optimized object serialization between client and server, and a generic GWT editor for EMF-based models. We think this work will be really useful for GWT development once it's done.<br/><br/>With respect to other Google technologies, Cloudsmith is particularly interested in App Engine and BigTable; we're using them now but still coming up the learning curve. Next after that is Wave, which we'd like to use but doesn't seem quite ready for prime time. We're hoping/expecting to see a renewed Wave commitment and inspirational roadmap from Google at I/O next week.<br/><br/>Planning on being there? Let me know if you'd like to meet up!<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/5620932762413494076-8503111386809423247?l=kenn-hussey.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2010-05-10T21:21:55Z</updated>
    <published>2010-05-10T21:21:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="Cloudsmith"/>
    <author>
      <name>Kenn Hussey</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/15584300551729300431</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-5620932762413494076</id>
      <author>
        <name>Kenn Hussey</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/15584300551729300431</uri>
      </author>
      <link href="http://kenn-hussey.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/5620932762413494076/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://kenn-hussey.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://www.blogger.com/feeds/5620932762413494076/posts/default?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <subtitle>(in case you've been wondering)</subtitle>
      <title>This Is The Frequency</title>
      <updated>2010-06-08T13:20:58Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-2117597481687734563.post-4369168270873336930</id>
    <link href="http://henrik-eclipse.blogspot.com/feeds/4369168270873336930/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=2117597481687734563&amp;postID=4369168270873336930" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/2117597481687734563/posts/default/4369168270873336930" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/2117597481687734563/posts/default/4369168270873336930" rel="self" type="application/atom+xml"/>
    <link href="http://henrik-eclipse.blogspot.com/2010/05/b3-aggregator.html" rel="alternate" type="text/html"/>
    <title>The b3 aggregator</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p style="margin-top: 0.4em; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; line-height: 1.5em;"><font face="Arial, sans-serif"><span style="font-size: small; line-height: 15px;">The Eclipse b3 Aggregator is based on and part of the <i>Eclipse b3</i> project. Eclipse b3 provides a versatile and adaptable framework supporting build, assembly and deployment processes. It supports a rich set of use cases. One of those - the aggregation of repositories - is the focus of the <i>b3 Aggregator</i> tool.</span></font></p>
<p style="margin-top: 0.4em; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; line-height: 1.5em;"><font face="Arial, sans-serif"><span style="font-size: small; line-height: 15px;">The Eclipse b3 Aggregator combines repositories from various sources into a new aggregated p2 repository. It can also be configured to produce a hybrid p2/Maven2 repository. There are many situations where using aggregated repositories is a good solution, here are some examples:</span></font></p>
<ol style="line-height: 1.5em; margin-top: 0.3em; margin-right: 0px; margin-bottom: 0px; margin-left: 3.2em; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px;">
  <li style="margin-bottom: 0.1em;"><span style="font-family: Arial, sans-serif; font-size: small; line-height: 15px;"><b>Projects want to provide convenient access to their products</b> - Installation instructions requiring the user to visit several repos for a complete install are not uncommon. An aggregated repo for all those locations provides a convenient one-stop-shop strategy. The aggregation can perform mirroring of all consumed p2 repos or selectively provide indirection via a composite repo.</span><br/></li>

  <li style="margin-bottom: 0.1em;"><font face="Arial, sans-serif"><span style="font-size: small; line-height: 15px;"><b>Organizations or teams want control over internally used components</b> - It may be necessary to have gated access to relevant/"blessed" p2 repos where an organizational "healthcheck" has been performed prior to internal distribution. Furthermore, internally used aggregated repos can provide a common basis for all organizational users (i.e. for both IDE distribution as well as for content used when building internal applications).</span></font></li>

  <li style="margin-bottom: 0.1em;"><font face="Arial, sans-serif"><span style="font-size: small; line-height: 15px;"><b>Increase repository availability</b> - by aggregating and mirroring what is used from multiple update sites into internally controlled servers.</span></font></li>

  <li style="margin-bottom: 0.1em;"><font face="Arial, sans-serif"><span style="font-size: small; line-height: 15px;"><b>Distributed Development Support</b> - an overall product repository is produced by aggregating contributions from multiple teams.</span></font></li>

  <li style="margin-bottom: 0.1em;"><font face="Arial, sans-serif"><span style="font-size: small; line-height: 15px;"><b>Owners of a p2 repo for a given project may not be in position to host all required or recommended components due to licensing issues</b> - Buckminster's SVN support can serve as an example here, as it requires components available in the main Eclipse p2 repo as well as third-party components. Hence users have to visit several repos for a complete install.<br/></span></font></li>
</ol>
<p style="margin-top: 0.4em; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; line-height: 1.5em;"><font face="Arial, sans-serif"><span style="font-size: small; line-height: 15px;">The b3 Aggregator is focused on supporting these specific requirements, and it plays an important role in the full scope of the b3 project. The Aggregator is however used in scenarios outside of the traditional "build domain" and this has been reflected in the user interface which does not delve into the details of "building" and should therefore be easy to use by non build experts.</span></font></p>
<p style="margin-top: 0.4em; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; line-height: 1.5em;"/>
<h2><font face="Arial, sans-serif">Functional Overview</font></h2>
<p><font face="Arial, sans-serif"><span style="font-family: Arial, sans-serif; font-size: small; line-height: 15px;">The b3 Aggregator performs aggregation and validation of repositories. The input to the aggregator engine (that tells it what to do) is a <i>b3aggr</i> EMF model. Such a model is most conveniently created by using the b3 Aggregator editor. This editor provides both editing and interactive execution of aggregation commands. The editor is based on a standard EMF "tree and properties view" style editor where nodes are added and removed to form a tree, and the details of nodes are edited in a separate properties view. Once a b3aggr model has been created it is possible to use the command line / headless aggregator to perform aggregation (and other related commands). (Note that since the b3aggr is "just and EMF model", it can be produced via EMF APIs, transformation tools, etc. and thus support advanced use cases).</span></font></p><img src="http://wiki.eclipse.org/images/e/e9/B3_aggregator_sample_1.png" width="70%"/>
<p style="margin-top: 0.4em; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; line-height: 1.5em;"><font face="Arial, sans-serif"><span style="font-family: Arial, sans-serif; font-size: small; line-height: 19px;">The model mainly consists of <i>Contributions</i>; specifications of what to include from different repositories, and Validation Repositories; repositories that are used when validating, but that are not included in the produced aggregation (i.e. they are not copied). The model also contains specification of various processing rules (exclusions, transformation of names, etc.), and specification of <i>Contacts</i>; individuals/mailing-lists to inform when processing fails.</span></font></p>
<p style="margin-top: 0.4em; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; line-height: 1.5em;"><font face="Arial, sans-serif"><span style="font-family: Arial, sans-serif; font-size: small; line-height: 19px;">Here are some of the important features supported by the b3 Aggregator in Eclipse 3.6M7:</span></font></p>
<ul style="margin-top: 0.3em; margin-right: 0px; margin-bottom: 0px; margin-left: 1.5em; line-height: 1.5em; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px;">
  <li style="margin-bottom: 0.1em;"><font face="Arial, sans-serif"><span style="font-family: Arial, sans-serif; font-size: small; line-height: 19px;"><b>p2</b> and <b>maven2</b> support — the aggregator can aggregate from and to both p2 and maven2 repositories.</span></font></li>

  <li style="margin-bottom: 0.1em;"><font face="Arial, sans-serif"><span style="font-family: Arial, sans-serif; font-size: small; line-height: 19px;"><b>Maven2 name mapping support</b> — names in the p2 domain are automatically mapped to maven2 names using built in rules. Custom rules are also supported.</span></font></li>

  <li style="margin-bottom: 0.1em;"><font face="Arial, sans-serif"><span style="font-family: Arial, sans-serif; font-size: small; line-height: 19px;"><b>Mirroring</b> — artifacts from repositories are mirrored/downloaded/copied to a single location</span></font></li>

  <li style="margin-bottom: 0.1em;"><font face="Arial, sans-serif"><span style="font-family: Arial, sans-serif; font-size: small; line-height: 19px;"><b>Selective mirroring</b> — an aggregation can produce an aggregation consisting of a mix of references to repositories and mirrored repositories.</span></font></li>

  <li style="margin-bottom: 0.1em;"><font face="Arial, sans-serif"><span style="font-family: Arial, sans-serif; font-size: small; line-height: 19px;"><b>Cherry picking</b> — it is possible to pick individual items when the entire content of a repository is not wanted. Detailed picking is supported as well as picking transitive closures like a product, or a category to get everything it contains/requires.</span></font></li>

  <li style="margin-bottom: 0.1em;"><font face="Arial, sans-serif"><span style="font-family: Arial, sans-serif; font-size: small; line-height: 19px;"><b>Pruning</b> — it is possible to specify mirroring based on version ranges. This can be used to reduce the size of the produced result when historical versions are not needed in the aggregated result.</span></font></li>

  <li style="margin-bottom: 0.1em;"><font face="Arial, sans-serif"><span style="font-family: Arial, sans-serif; font-size: small; line-height: 19px;"><b>Categorization</b> — categorization of installable units is important to the consumers of the aggregated repository. Categories are often choosen by repository publishers in a fashion that makes sense when looking at a particular repository in isolation, but when they are combined with others it can be very difficult for the user to understand what they relate to. An important task for the constructor of an aggregation is to be able to organize the aggregated material in an easily consumable fashion. The b3 aggregator has support for category prefixing, category renaming, addition of custom categories, as well as adding and removing features in categories.</span></font></li>

  <li style="margin-bottom: 0.1em;"><font face="Arial, sans-serif"><span style="font-family: Arial, sans-serif; font-size: small; line-height: 19px;"><b>Validation</b> — the b3 aggregator validates the aggregated result to ensure that everything in the repository is installable.</span></font></li>

  <li style="margin-bottom: 0.1em;"><font face="Arial, sans-serif"><span style="font-family: Arial, sans-serif; font-size: small; line-height: 19px;"><b>Blame Email</b> — when issues are found during validation the aggregator supports sending emails describing the issue. This is very useful when aggregating the result of many different projects. Advanced features include specifying contacts for parts of the aggregation which is useful in large multi layer project structures where issues may related to the combination of a group of projects rather than one individual project - someone responsible for the aggregation itself should be informed about these cross-project issues. The aggregator supports detailed control over email generation including handling of mock emails when testing aggregation scripts.</span></font></li>
</ul>
<h2><font face="Arial, sans-serif">Documentation</font></h2><font face="Arial, sans-serif">The b3 aggregator documentation is <a href="http://wiki.eclipse.org/Eclipse_b3/aggregator/manual" title="aggregator documentation">available here</a> on the Eclipse Wiki.</font>
<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/2117597481687734563-4369168270873336930?l=henrik-eclipse.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2010-05-09T23:39:08Z</updated>
    <published>2010-05-09T23:31:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="b3"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="cloudsmith"/>
    <author>
      <name>Henrik</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/18131140901733897033</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-2117597481687734563</id>
      <author>
        <name>Henrik</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/18131140901733897033</uri>
      </author>
      <link href="http://henrik-eclipse.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/2117597481687734563/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://henrik-eclipse.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <title>Eclipse by Planetary Transits</title>
      <updated>2010-06-08T02:01:40Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-3879044552984472733.post-5727033674374399205</id>
    <link href="http://ed-merks.blogspot.com/feeds/5727033674374399205/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=3879044552984472733&amp;postID=5727033674374399205" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/3879044552984472733/posts/default/5727033674374399205" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/3879044552984472733/posts/default/5727033674374399205" rel="self" type="application/atom+xml"/>
    <link href="http://ed-merks.blogspot.com/2010/05/patently-ridiculous.html" rel="alternate" type="text/html"/>
    <title>Patently Ridiculous</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Imagine you had an existing Java data model---a plain old one not based  on EMF---that you wanted to map to an EMF model so you could take  advantage of all of EMF's cool features.    If your data model were a  simple bean-style model, you could easily induce an Ecore model from its  API; after all, that's what EMF's @model annotations do.  You could  then easily map instances of the plain old Java model to instances of  your EMF model, perhaps using Java reflection, bringing together the old  and the new.<br/><br/><a href="http://1.bp.blogspot.com/_rFZqMGOSYY8/S-LxUdsXHRI/AAAAAAAABns/_FbDlISqkpc/s1600/Mainz.jpg"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5468198231451573522" src="http://1.bp.blogspot.com/_rFZqMGOSYY8/S-LxUdsXHRI/AAAAAAAABns/_FbDlISqkpc/s320/Mainz.jpg" style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 168px;"/></a><br/>What  an exciting  and innovative idea, you would exclaim to yourself, and to  those around you, as you jumped for joy, reveling in your own  brilliance.<br/><br/><a href="http://1.bp.blogspot.com/_rFZqMGOSYY8/S-LxqmUO5ZI/AAAAAAAABn0/ZkrROT3wLKE/s1600/JumpForJoy.jpg"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5468198611723412882" src="http://1.bp.blogspot.com/_rFZqMGOSYY8/S-LxqmUO5ZI/AAAAAAAABn0/ZkrROT3wLKE/s320/JumpForJoy.jpg" style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 210px;"/></a><br/>Sorry  to disappoint you, but don't bother. IBM has patented that: <a href="http://www.patentstorm.us/patents/7506303.html">7506303</a>.  The  lesson learned?  Just because something is simple and obvious doesn't  mean you can't patent it.  So run, don't walk, to your nearest patent  lawyer, turn your obvious ideas into incomprehensible legal babel, file a  claim, and then sue someone's assets right off their balance sheet, perhaps with the help of a <a href="http://www.forbes.com/asap/2002/0624/044.html">patent troll</a>. Surely such <a href="http://eupat.ffii.org/log/intro/">patented ridiculousness</a> serves primarily to suck the lifeblood of the software sector much like collateralized debt objects did the vital stuff of the financial sector.<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/3879044552984472733-5727033674374399205?l=ed-merks.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2010-05-07T07:31:54Z</updated>
    <published>2010-05-07T07:15:00Z</published>
    <author>
      <name>Ed Merks</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/05000982591510437551</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-3879044552984472733</id>
      <author>
        <name>Ed Merks</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/05000982591510437551</uri>
      </author>
      <link href="http://ed-merks.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/3879044552984472733/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://ed-merks.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://www.blogger.com/feeds/3879044552984472733/posts/default?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <subtitle>The opinions expressed here are my own, not someone else's.  If they seem rational, that's purely coincidental and you are likely reading far too much between the lines.</subtitle>
      <title>Merks' Meanderings</title>
      <updated>2010-06-08T21:39:41Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://www.incontextblog.com/?p=597</id>
    <link href="http://www.incontextblog.com/?p=597" rel="alternate" type="text/html"/>
    <title>Internet of Subjects</title>
    <summary>Well, here’s a new organization, iosf.org, that I should have known about. I hope I can get to their event. It’s on July 5th and I have to be in Paris on the 6th for an Information Card workshop with FC2. Hmmm…should be possible.</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p><img align="left" alt="" hspace="10" src="http://www.incontextblog.com/wp-content/uploads/2010/05/ioslondon200.jpg" vspace="10"/>Well, here’s a new organization,<a href="http://www.iosf.org/"> iosf.org</a>, that I should have known about. I hope I can get to their event. It’s on July 5th and I have to be in Paris on the 6th for an Information Card workshop with FC2. Hmmm…should be possible.</p></div>
    </content>
    <updated>2010-05-06T09:36:47Z</updated>
    <category term="Data Portability"/>
    <category term="Digital Identity"/>
    <category term="Higgins"/>
    <category term="Personal Data Stores"/>
    <category term="VRM"/>
    <author>
      <name>paul</name>
    </author>
    <source>
      <id>http://www.incontextblog.com</id>
      <link href="http://www.incontextblog.com/?feed=rss2&amp;cat=3" rel="self" type="application/atom+xml"/>
      <link href="http://www.incontextblog.com" rel="alternate" type="text/html"/>
      <title>In Context » Higgins</title>
      <updated>2010-06-09T06:16:19Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://oisinh.wordpress.com/?p=316</id>
    <link href="http://feedproxy.google.com/~r/oisin/~3/Ol_tFwJLY08/" rel="alternate" type="text/html"/>
    <title>Oisín’s Precepts Version 1.0.qualifier</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">I’m making a set of precepts that I’m going to try and stick to from a professional engagements perspective. These have been very much influenced by Uncle Bob – especially his keynote for EclipseCon 2010, which provided the inspiration to put these together in this form – and of course by the many mistakes I’ve [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=oisinh.wordpress.com&amp;blog=4822470&amp;post=316&amp;subd=oisinh&amp;ref=&amp;feed=1"/></div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>
I’m making a set of precepts that I’m going to try and stick to from a professional engagements perspective. These have been very much influenced by <a href="http://www.objectmentor.com/omTeam/martin_r.html">Uncle Bob</a> – especially his keynote for <a href="http://www.eclipsecon.org/2010/">EclipseCon 2010</a>, which provided the inspiration to put these together in this form – and of course by the many mistakes I’ve made in the past, which is what we call <i>experience</i>. So, in no particular order:
</p>
<h5>Don’t be in so deep you can’t see reality.</h5>
<p/>
<p>
If you haven’t communicated with a user of your software in over a month, you could have departed the Earth for Epsilon Eridani and you <em>wouldn’t know</em>.</p>
<h5>Seek to destroy hope, the project-killer.</h5>
<p/>
<p>When you hear yourself saying <i>well, I hope we’ll be done by the end of the week</i>, then you are officially on the way to that state known as doomed. If you are invoking hope, trouble is not far away. So, endeavour to destroy hope at every turn. You do this with <i>data</i>. Know where you are – use an agile style of process to collect data points. Iterate in fine swerves that give you early notice of rocks in the development stream.</p>
<h5>When the meeting is boring, leave.</h5>
<p/>
<p>Be constructive about it, however. You should know what you want to get out of the meeting. If it’s moving away from what you are expecting, contribute to getting it back on track. It won’t always go totally your way. If you can’t retrieve it, then make your excuse and leave. </p>
<h5>Don’t accept dumb restrictions on your development process.</h5>
<p/>
<p>Pick your own example here. Note that restrictions can also take the form of a big shouty man roaring <i>the effing developers don’t have effing time to write effing tests!</i> (true story that). </p>
<h5>There must be a Plan and you must Believe It Will Work.</h5>
<p/>
<p>This is pretty simple on the face of it. One theory on human motivation includes three demands – <i>autonomy, mastery, purpose</i> – that all need to be satisfied to a certain degree before one is effectively motivated (see <a href="http://www.ted.com/talks/dan_pink_on_motivation.html">Dan Pink’s TED lecture</a>). If there is no plan, or the plan stinks like a week-old haddock, then the <i>purpose</i> element of your motivation is going to be missing. Would like to earn lots of money, work with fantastic technologies and yet have your work burnt in front of your eyes at the end of the month? I wouldn’t.</p>
<h5>Discussions can involve shouting. That’s ok, but only now and then.</h5>
<p/>
<p>Without extensive practice, humans find it difficult to separate their emotions from discussions, especially when there is something potentially big at stake. Just look at the level of fear-mongering that politicians come out with to influence voters. There will be some shouting – expect it – but it’s not right if shouting is a regular occurrence. </p>
<h5>Refuse to commit to miracles.</h5>
<p/>
<p>How many times have I done this already over the last eighteen years? Ugh.</p>
<h5>Do not harm the software, or allow it to come to harm through inaction.</h5>
<p/>
<p>No making a mess – your Mom taught you that. Stick with your disciplines. Don’t let any one else beat up on the software either. It’s your software too, and hence your problem if it is abused.</p>
<h5>Neither perpetrate intellectual violence, nor allow it to be perpetrated upon you.</h5>
<p/>
<p><a href="http://sourcemaking.com/antipatterns/intellectual-violence">Intellectual violence</a> is a project management antipattern, whereby someone who understands a theory, or a buzzword, or a technology uses this knowledge to intimidate others that do not know it. Basically, it’s used to shut people up during a meeting, preying on their reluctance to show ignorance in a particular area (this reluctance can be very strong in techie folks). Check out number nineteen in <a href="http://www.pigdog.org/auto/mr_bads_list/shortcolumn/1914.html">Things to Say When You’re Losing a Technical Argument</a>. Stand up to this kind of treatment. Ask for the perpetrator to explain his concern to everyone in the room.</p>
<h5>Learn how you learn.</h5>
<p/>
<p>I know that if I am learning new technologies, I can do it best provided I have time to sleep and time to exercise. I also know that my learning graph is a little like a step function, with exponential-style curves leading to plateaus. I know when I am working through problems and my brain suddenly tells me to go and get another coffee, or switch to some other task, or go and chat to someone, it means I am very close to hitting a new understanding plateau. So I have to sit there and not give in <img alt=":)" class="wp-smiley" src="http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif"/>  I also know that I need to play with tiny solutions to help me too.</p>
<h5>You have limits on overtime, know them.</h5>
<p/>
<p>This should be easy for you – if you are tired, you are broken. Don’t be broken and work on your code. Go somewhere and rest. Insist on it.</p>
<p>
Needless to say at some point in the future this post will come back to haunt me I am sure. But I’m hoping that if I produce a little laminated card with these precepts on it, keep it in my wallet, then I’ll at least not lose track by accident.</p>
<br/>Filed under: <a href="http://oisinh.wordpress.com/category/self-serving-blog-twaddle/">self-serving blog twaddle</a>  <a href="http://feeds.wordpress.com/1.0/gocomments/oisinh.wordpress.com/316/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/oisinh.wordpress.com/316/"/></a> <a href="http://feeds.wordpress.com/1.0/godelicious/oisinh.wordpress.com/316/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/oisinh.wordpress.com/316/"/></a> <a href="http://feeds.wordpress.com/1.0/gostumble/oisinh.wordpress.com/316/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/oisinh.wordpress.com/316/"/></a> <a href="http://feeds.wordpress.com/1.0/godigg/oisinh.wordpress.com/316/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/oisinh.wordpress.com/316/"/></a> <a href="http://feeds.wordpress.com/1.0/goreddit/oisinh.wordpress.com/316/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/oisinh.wordpress.com/316/"/></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=oisinh.wordpress.com&amp;blog=4822470&amp;post=316&amp;subd=oisinh&amp;ref=&amp;feed=1"/><img height="1" src="http://feeds.feedburner.com/~r/oisin/~4/Ol_tFwJLY08" width="1"/></div>
    </content>
    <updated>2010-05-06T09:29:19Z</updated>
    <category term="self-serving blog twaddle"/><feedburner:origlink xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://oisinh.wordpress.com/2010/05/06/oisins-precepts-version-1-0-qualifier/</feedburner:origlink>
    <author>
      <name>oisinhurley</name>
    </author>
    <source>
      <id>http://oisinh.wordpress.com</id>
      <logo>http://www.gravatar.com/blavatar/28a303a2974c7e1229d8711caadeebe0?s=96&amp;d=http://s2.wp.com/i/buttonw-com.png</logo>
      <link href="http://oisinh.wordpress.com" rel="alternate" type="text/html"/>
      <link href="http://oisinh.wordpress.com/osd.xml" rel="search" type="application/opensearchdescription+xml"/>
      <link href="http://feeds.feedburner.com/oisin" rel="self" type="application/atom+xml"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>Open Source, Eclipse and Other Things</subtitle>
      <title>Oisin Hurley's Weblog</title>
      <updated>2010-06-09T06:16:29Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-34692233.post-3712041685052412045</id>
    <link href="http://underlap.blogspot.com/feeds/3712041685052412045/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=34692233&amp;postID=3712041685052412045" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/34692233/posts/default/3712041685052412045" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/34692233/posts/default/3712041685052412045" rel="self" type="application/atom+xml"/>
    <link href="http://underlap.blogspot.com/2010/05/intellij-idea-support-for-dm-server.html" rel="alternate" type="text/html"/>
    <title>IntelliJ IDEA Support for dm Server</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">IntelliJ just <a href="http://blogs.jetbrains.com/idea/2010/05/spring-dmserver-support-for-intellij-idea/">announced</a> support for dm Server. Although I haven't tried using the support, it appears to be at a reasonable level of function and only a little behind the SpringSource Tools Suite (as far as dm Server support is concerned) with plans to fill the gap. IntelliJ haven't mentioned Virgo yet, but I'm hopeful that the Eclipse (RT) branding won't put them off.<br/><br/>This, in my opinion, is a sign of a healthy runtime: multiple vendors competing on tooling. I'd like to see the same on management tooling which could be implemented relatively easily layer to dm Server's JMX interface.<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/34692233-3712041685052412045?l=underlap.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2010-05-05T07:29:11Z</updated>
    <published>2010-05-05T07:29:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="dm Server"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="Virgo"/>
    <author>
      <name>Glyn</name>
      <email>glyn.normington@spamprotectiondeletethis.yahoo.co.uk</email>
      <uri>http://www.blogger.com/profile/08741529390385812080</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-34692233</id>
      <author>
        <name>Glyn</name>
        <email>glyn.normington@spamprotectiondeletethis.yahoo.co.uk</email>
        <uri>http://www.blogger.com/profile/08741529390385812080</uri>
      </author>
      <link href="http://underlap.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/34692233/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://underlap.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://www.blogger.com/feeds/34692233/posts/default?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <title>Mind the Gap</title>
      <updated>2010-05-14T15:23:33Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://www.lunar-ocean.com/?p=354</id>
    <link href="http://www.lunar-ocean.com/new-bpmn2-project-lead/" rel="alternate" type="text/html"/>
    <link href="http://www.lunar-ocean.com/new-bpmn2-project-lead/#comments" rel="replies" type="text/html"/>
    <link href="http://www.lunar-ocean.com/new-bpmn2-project-lead/feed/atom/" rel="replies" type="application/atom+xml"/>
    <title xml:lang="en">New BPMN2 project lead</title>
    <summary xml:lang="en">I was voted new BPMN2 project lead after earning Kenn’s trust. 
Here is what we want to do:

Implement the reference metamodel for BPMN2
Create a basic editor with enough graphics that we become mainstream (I mean, we’d like to see the same icons reused all over the world)
Create a validation framework: rules applied to tasks, with [...]</summary>
    <content type="xhtml" xml:lang="en"><div xmlns="http://www.w3.org/1999/xhtml"><p>I was voted new BPMN2 project lead after earning <a href="http://kenn-hussey.blogspot.com/"><abbr title="Kenn is awesome">Kenn</abbr></a>’s trust. </p>
<p>Here is what we want to do:</p>
<ul>
<li>Implement the reference metamodel for BPMN2</li>
<li>Create a basic editor with enough graphics that we become mainstream (I mean, we’d like to see the same icons reused all over the world)</li>
<li>Create a validation framework: rules applied to tasks, with warnings, errors, etc</li>
</ul>
<p>Here is what we don’t want to do:</p>
<ul>
<li>Create a diagram editor with BPMN2. That would happen in the SOA BPMN modeler.</li>
</ul>
<p>If you’re interested, we are looking for contributors:</p>
<ul>
<li>Your tasks as a committer: reply on bugs, reply on newsgroups, eventually do some marketing.</li>
<li>Implement stuff as part of your commitment to the project to the extent that your groups is interested. Ie if you have no stake into doing a validation framework, that’s ok.</li>
<li>And help with doing the website.</li>
<p>All over more fun than paperwork, and a lot of community building. As lead I’ll handle CQs, release reviews, move reviews, etc.</p>
</ul></div>
    </content>
    <updated>2010-05-04T18:47:50Z</updated>
    <published>2010-05-04T18:41:38Z</published>
    <category scheme="http://www.lunar-ocean.com" term="BPMN"/>
    <category scheme="http://www.lunar-ocean.com" term="Eclipse"/>
    <author>
      <name>Antoine Toulme</name>
      <uri>http://antoine.toulme.name</uri>
    </author>
    <source>
      <id>http://www.lunar-ocean.com/feed/atom/</id>
      <link href="http://www.lunar-ocean.com" rel="alternate" type="text/html"/>
      <link href="http://feeds.feedburner.com/LunarOceanForEclipse" rel="self" type="application/atom+xml"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle xml:lang="en">My full feed is present at http://feeds.feedburner.com/lunarOcean to get more content.</subtitle>
      <title xml:lang="en">Lunar Ocean - Eclipse log</title>
      <updated>2010-05-04T18:47:50Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-20358640.post-3758757127870848255</id>
    <link href="http://eclipseecf.blogspot.com/feeds/3758757127870848255/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=20358640&amp;postID=3758757127870848255" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/20358640/posts/default/3758757127870848255" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/20358640/posts/default/3758757127870848255" rel="self" type="application/atom+xml"/>
    <link href="http://eclipseecf.blogspot.com/2010/05/making-sense-of-complexity.html" rel="alternate" type="text/html"/>
    <title>Making Sense of Complexity</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">The NY Times Sunday Opinion section has an article today:  <a href="http://www.nytimes.com/2010/05/02/weekinreview/02segal.html">Making Sense of Complexity</a>.   <br/><br/>The ideas are (mostly) presented in reference to complexity in social systems...but as someone interested in (reducing) complexity in software systems, as well as the psychology of complex system design and development...I also found the thoughts interesting from a software architecture and design point of view.<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/20358640-3758757127870848255?l=eclipseecf.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2010-05-02T17:47:50Z</updated>
    <published>2010-05-02T17:38:00Z</published>
    <author>
      <name>Scott Lewis</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/15783631237186844143</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-20358640</id>
      <author>
        <name>Scott Lewis</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/15783631237186844143</uri>
      </author>
      <link href="http://eclipseecf.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/20358640/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://eclipseecf.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://www.blogger.com/feeds/20358640/posts/default?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <subtitle>Blog for the Eclipse Communication Framework Project (ECF)</subtitle>
      <title>Eclipse Communication Framework</title>
      <updated>2010-06-07T13:40:30Z</updated>
    </source>
  </entry>

  <entry xml:lang="en-us">
    <id>http://www.eclipse.org/webtools/news.php#permalink139</id>
    <link href="http://www.eclipse.org/webtools/development/news/3.2M7/" rel="alternate" type="text/html"/>
    <title>WTP 3.2 M7 Declared!</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><div>
        3.2M7 has been declared!  Check out what's
        <a href="http://www.eclipse.org/webtools/development/news/3.2M7/">New and Noteworthy</a>
        and
        <a href="http://download.eclipse.org/webtools/downloads/">download</a>
        it now, or try it out in a <a href="http://eclipse.org/downloads/packages/release/helios/m7">Helios</a> milestone today!
    </div><p><a href="http://www.eclipse.org/webtools/news.php#permalink139">More news</a></p></div>
    </summary>
    <updated>2010-04-30T17:54:00Z</updated>
    <source>
      <id>http://www.eclipse.org/webtools/</id>
      <author>
        <name>Webtools News</name>
      </author>
      <link href="http://www.eclipse.org/webtools/" rel="alternate" type="text/html"/>
      <link href="http://www.eclipse.org/webtools/news/" rel="self" type="application/rss+xml"/>
      <rights>Copyright (c) 2001, 2007 IBM Corporation and others. All rights
reserved. This program and the accompanying materials are made available
under the terms of the Eclipse Public License v1.0 which accompanies
this distribution, and is available at
http://www.eclipse.org/legal/epl-v10.html Contributors: IBM Corporation
- initial API and implementation</rights>
      <subtitle>This RSS feed contains the latest news from the Eclipse Web Tools
Platform (WTP) project. The Eclipse WTP project contains Web tools and
frameworks for the Eclipse platform.</subtitle>
      <title>Eclipse Web Tools Platform Project: News</title>
      <updated>2010-06-09T06:52:51Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://oisinh.wordpress.com/?p=313</id>
    <link href="http://feedproxy.google.com/~r/oisin/~3/qL_pHgPxVak/" rel="alternate" type="text/html"/>
    <title>Epicenter 2010 Dublin – register now!</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">At last, after a belated spring has sprung, and the local flora are finally catching up with their deadlines, we have the usual Epicenter Early Bird Closing date heaving into view. Well – it’s more already sitting on your lap, since today is the last Early Bird registration day. Run, don’t walk, to the tickets [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=oisinh.wordpress.com&amp;blog=4822470&amp;post=313&amp;subd=oisinh&amp;ref=&amp;feed=1"/></div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>
At last, after a belated spring has sprung, and the local flora are finally catching up with their deadlines, we have the usual <a href="http://epicenter.ie">Epicenter</a> Early Bird Closing date heaving into view. Well – it’s more already sitting on your lap, since <b>today</b> is the last Early Bird registration day. Run, don’t walk, to <a href="http://epicenter.ie/tickets-2010.html">the tickets page</a>.
</p>
<p>Epicenter is in its second year and is well on the way to being Ireland’s top software conference. Good news for the local islanders – no jousting with ash clouds or having to urinate into a bottle on a Ryanair flight because you haven’t got change for the toilets! The conference is your typical multi-zone, multi-track affair, with each day focussed on a different technology or industry subject. Check out the website at <a href="http://epicenter.ie">epicenter.ie</a>, scroll down the page for information on the speakers and talks.
</p>
<p>
There’s a good selection of speakers – Jeff Genender will be speaking, as will <a href="http://eugeneciurana.com/">Eugene Ciurana</a> – both well-known Open Source stalwarts. <a href="http://raibledesigns.com">Matt Raible</a> will join them, as will Eclipse Ecosystem buddy Doug Clarke. I’ve heard that the ever-Groovy <a href="http://glaforge.free.fr/weblog/">Guillaume Laforge</a> will be making an appearance too, but I can’t find his name on the website. Maybe I wasn’t meant to write that down. Ooops.</p>
<p>
Just in case you are reading this and would like to help out from a sponsorship aspect, there are all sorts of packages that start off at an accessible €200. You would think that even Enterprise Ireland and the IDA should be able to manage to find that much down the back of the sofa for one of the biggest software conferences held in the country <img alt=":)" class="wp-smiley" src="http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif"/>
</p>
<p>Since Epicenter is in June, I’ve half a mind to see if I can get some people together for an <a href="http://wiki.eclipse.org/Eclipse_DemoCamps_Helios_2010">Eclipse Demo Camp</a> maybe before or after the main event. Leave a comment if you would be interested in attending or presenting a demo.</p>
<p>I’m off to register now – hope to see you there!</p>
<br/>Filed under: <a href="http://oisinh.wordpress.com/category/conferences/">conferences</a>, <a href="http://oisinh.wordpress.com/category/irishdev/">irishdev</a>  <a href="http://feeds.wordpress.com/1.0/gocomments/oisinh.wordpress.com/313/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/oisinh.wordpress.com/313/"/></a> <a href="http://feeds.wordpress.com/1.0/godelicious/oisinh.wordpress.com/313/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/oisinh.wordpress.com/313/"/></a> <a href="http://feeds.wordpress.com/1.0/gostumble/oisinh.wordpress.com/313/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/oisinh.wordpress.com/313/"/></a> <a href="http://feeds.wordpress.com/1.0/godigg/oisinh.wordpress.com/313/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/oisinh.wordpress.com/313/"/></a> <a href="http://feeds.wordpress.com/1.0/goreddit/oisinh.wordpress.com/313/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/oisinh.wordpress.com/313/"/></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=oisinh.wordpress.com&amp;blog=4822470&amp;post=313&amp;subd=oisinh&amp;ref=&amp;feed=1"/><img height="1" src="http://feeds.feedburner.com/~r/oisin/~4/qL_pHgPxVak" width="1"/></div>
    </content>
    <updated>2010-04-30T13:07:00Z</updated>
    <category term="conferences"/>
    <category term="irishdev"/><feedburner:origlink xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://oisinh.wordpress.com/2010/04/30/epicenter-2010-dublin-register-now/</feedburner:origlink>
    <author>
      <name>oisinhurley</name>
    </author>
    <source>
      <id>http://oisinh.wordpress.com</id>
      <logo>http://www.gravatar.com/blavatar/28a303a2974c7e1229d8711caadeebe0?s=96&amp;d=http://s2.wp.com/i/buttonw-com.png</logo>
      <link href="http://oisinh.wordpress.com" rel="alternate" type="text/html"/>
      <link href="http://oisinh.wordpress.com/osd.xml" rel="search" type="application/opensearchdescription+xml"/>
      <link href="http://feeds.feedburner.com/oisin" rel="self" type="application/atom+xml"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>Open Source, Eclipse and Other Things</subtitle>
      <title>Oisin Hurley's Weblog</title>
      <updated>2010-06-09T06:16:28Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-3879044552984472733.post-4381497874280921140</id>
    <link href="http://ed-merks.blogspot.com/feeds/4381497874280921140/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=3879044552984472733&amp;postID=4381497874280921140" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/3879044552984472733/posts/default/4381497874280921140" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/3879044552984472733/posts/default/4381497874280921140" rel="self" type="application/atom+xml"/>
    <link href="http://ed-merks.blogspot.com/2010/04/change-begets-change.html" rel="alternate" type="text/html"/>
    <title>Change Begets Change</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Change begets change.  Nothing propagates so fast.  I've not blogged in a couple of months amid the whirlwind of change that has become  my life.  I often feel more than a little in over my head these days.<br/><br/><a href="http://1.bp.blogspot.com/_rFZqMGOSYY8/S9q1yzGx0SI/AAAAAAAABm4/8Uhb7yfBzCk/s1600/ElseSwimming.jpg"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5465880982084243746" src="http://1.bp.blogspot.com/_rFZqMGOSYY8/S9q1yzGx0SI/AAAAAAAABm4/8Uhb7yfBzCk/s320/ElseSwimming.jpg" style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 253px;"/></a><br/>Change is inevitable so best to  embrace it, make it work in your favor.  That being said, it's important  to choose the  path forward carefully, and the  company you keep,  wisely.  It's all too easy to make a wrong turn or to pick up bad  habits.  Can you say gambling?<br/><br/><a href="http://3.bp.blogspot.com/_rFZqMGOSYY8/S9q00YdFLyI/AAAAAAAABms/wgR4I3zqaHk/s1600/GamblingDogsSmall.jpg"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5465879909778140962" src="http://3.bp.blogspot.com/_rFZqMGOSYY8/S9q00YdFLyI/AAAAAAAABms/wgR4I3zqaHk/s320/GamblingDogsSmall.jpg" style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 240px;"/></a><br/>My  life was on a very steady course up until the time I left IBM.  That  particular radical change was the beginning of many to follow; it was  voluntary and good even in hindsight.  But it was carefully planned like  the rest of my life.  The demise of my partner of 27 years, on the  other hand, was untimely, arbitrary, and beyond my control.  Such things  make one reconsider life's carefully laid plans.  It's clear that time  is fleeting and that one must make the most of today because there is no  guarantee for tomorrow.  Workaholic Ed died and the phoenix that rose from his ashes took a really good look  around.  Guess what?  There really is time for me to swim 2km every  weekday morning.  Go figure!<br/><br/>Looking around a little further, I discovered that I have the greatest neighbors in  the world.  Okay, granted Warren is a bit of a princess.<br/><br/><a href="http://2.bp.blogspot.com/_rFZqMGOSYY8/S9q3kWm40PI/AAAAAAAABnA/oeqVN6LJ21w/s1600/PrincessWarren.jpg"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5465882932939378930" src="http://2.bp.blogspot.com/_rFZqMGOSYY8/S9q3kWm40PI/AAAAAAAABnA/oeqVN6LJ21w/s320/PrincessWarren.jpg" style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 247px;"/></a><br/>So's Linda come to think of it.<br/><br/><a href="http://1.bp.blogspot.com/_rFZqMGOSYY8/S9q4GPDophI/AAAAAAAABnI/i4DQFQFa2CM/s1600/PrincessLinda.jpg"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5465883515028022802" src="http://1.bp.blogspot.com/_rFZqMGOSYY8/S9q4GPDophI/AAAAAAAABnI/i4DQFQFa2CM/s320/PrincessLinda.jpg" style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 311px;"/></a><br/>But they've helped me more in the last year and a  half than one could reasonably expect from another human being.  For  example, they've looked after my girls for countless weeks whenever I  traveled; the girls love it next door.  Last week, they even threw a birthday party for Else, the most recent addition to my dog collection.<br/><br/><a href="http://4.bp.blogspot.com/_rFZqMGOSYY8/S9q5XeLuDKI/AAAAAAAABnQ/dO13683E-98/s1600/ElseBirthdayDinner.jpg"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5465884910657866914" src="http://4.bp.blogspot.com/_rFZqMGOSYY8/S9q5XeLuDKI/AAAAAAAABnQ/dO13683E-98/s320/ElseBirthdayDinner.jpg" style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 267px;"/></a><br/>Most important of all, they've helped make my Frank  feel more than a little welcome in his new home in Canada.<br/><br/><a href="http://3.bp.blogspot.com/_rFZqMGOSYY8/S9q6DuBEjFI/AAAAAAAABnY/q0x23h3DnaY/s1600/FrankAndElseParty.jpg"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5465885670822415442" src="http://3.bp.blogspot.com/_rFZqMGOSYY8/S9q6DuBEjFI/AAAAAAAABnY/q0x23h3DnaY/s320/FrankAndElseParty.jpg" style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 263px;"/></a><br/>Warren and Linda are the epitome of what it means to be good friends and I consider myself fortunate for having them in my life.<br/><br/>Looking around further still at what's happening with modeling at Eclipse and  beyond is also eye opening the the extreme.  Talk about change that begets change!  I'm more than a little  gratified and relieved to see that it's taken on such vibrant life of its own.   I don't need to obsess quite as much about driving the vision of  modeling forward.  There are so many others who do that job even better.  I've learned an important lesson: don't push the  river, it follows by itself! As Kim so aptly put it: <a href="http://relengofthenerds.blogspot.com/2010/04/eclipse-top-ten-6-eclipse-is-like.html">Eclipse is like family</a>.   What a great family and what a great place to be.  Thanks <a href="http://www.cloudsmith.com/">Cloudsmith</a> and <a href="http://www.itemis.com/">itemis</a> for helping make it economically viable for me and for all their other great contributions to the Eclipse community.<br/><br/>Speaking of great places to be, it  struck me a few months back that I'd much rather live back in British  Columbia.  I grew up there.  My parents, brother, and sister live there.   I like the weather better there.  I can grow a more interesting garden  there.  Frank and I can build a new life together from scratch there.     I only moved to Ontario for IBM. So I bought a great property with this view.<br/><br/><a href="http://1.bp.blogspot.com/_rFZqMGOSYY8/S9rBRElIJvI/AAAAAAAABng/KhOHat3rP8c/s1600/SmallerViewFromNewProperty.jpg"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5465893596798920434" src="http://1.bp.blogspot.com/_rFZqMGOSYY8/S9rBRElIJvI/AAAAAAAABng/KhOHat3rP8c/s320/SmallerViewFromNewProperty.jpg" style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 40px;"/></a><br/>My house is already sold, I've got a rental house lined up, and I've scheduled my move for the end of May.  Of course there are more changes yet to come.<br/><br/>I write this blog today from  Berlin, in summer like weather, as I anticipate traveling to JAX in  Mainz next week where there's an Eclipse day and a <a href="http://it-republik.de/konferenzen/jax2010/session/?tid=1550">Modeling day</a>.  Could  life get any more interesting and exciting?<br/><br/>Oh yes, and it turned out workaholic Ed  didn't really die, he was merely transformed into a more well-rounded version of his former self.  I've spend the past several  weeks porting the core EMF runtime to GWT and modifying the generator  to produce GWT-enabled models and edit support on top of that runtime.  It's all <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=310835">committed to  CVS</a> in time for M7,  but I've not had time for documentation yet.  Modeling in the clouds; stay tuned for yet more  change.<br/><div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/3879044552984472733-4381497874280921140?l=ed-merks.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2010-04-30T12:04:27Z</updated>
    <published>2010-04-30T10:41:00Z</published>
    <author>
      <name>Ed Merks</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/05000982591510437551</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-3879044552984472733</id>
      <author>
        <name>Ed Merks</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/05000982591510437551</uri>
      </author>
      <link href="http://ed-merks.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/3879044552984472733/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://ed-merks.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://www.blogger.com/feeds/3879044552984472733/posts/default?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <subtitle>The opinions expressed here are my own, not someone else's.  If they seem rational, that's purely coincidental and you are likely reading far too much between the lines.</subtitle>
      <title>Merks' Meanderings</title>
      <updated>2010-06-08T21:39:41Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-22723876.post-1291949803383937331</id>
    <link href="http://nathangervais.blogspot.com/feeds/1291949803383937331/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=22723876&amp;postID=1291949803383937331" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/22723876/posts/default/1291949803383937331" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/22723876/posts/default/1291949803383937331" rel="self" type="application/atom+xml"/>
    <link href="http://nathangervais.blogspot.com/2010/04/drupalcon-san-francisco.html" rel="alternate" type="text/html"/>
    <title>Drupalcon San Francisco</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Recently I had the opportunity to attend Drupalcon San Francisco. <br/><br/><a href="http://farm3.static.flickr.com/2162/4545056878_417d16747c.jpg"><img alt="" border="0" src="http://farm3.static.flickr.com/2162/4545056878_417d16747c.jpg" style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; cursor: hand; width: 500px; height: 333px;"/></a><br/><br/>See me?  I'm there in the back!  <a href="http://www.factor-x.net/waldo.jpg">Look Closer!</a>  There were over 3000 of us at Drupalcon this year, including for a few who got managed to sneak by that <a href="http://en.wikipedia.org/wiki/Eyjafjallaj%C3%B6kull">big volcano!</a> Even those that didn't make it over rallied together and had there own local Drupalcons all over Europe.  <br/><br/>DrupalCon was a really great experience.  It really reminded me of attending one of our fabulous EclipseCons.  Absolutely everyone was super excited for Drupal, Open Source, and even Eclipse!  I met a ton of people who were all using Eclipse for their Drupal Development.  I even managed to give away a bunch of Eclipse Install stickers!<br/><br/>Here at the Eclipse Foundation we use <a href="http://www.drupal.org">Drupal</a> for <a href="http://marketplace.eclipse.org">Eclipse Marketplace</a>, <a href="http://live.eclipse.org">Eclipse Live</a> and the <a href="http://www.eclipse.org/downloads/packages/">EPP Packaging Site</a>.  We chose Drupal when we launched Live because of the community that was swelling. It turns out we bet on the right horse. Drupal 7 when it releases promises to be the best ever, and from my point of view they'll meet that goal and then some.  <br/><br/>Viva Open Source! I highly recommend checking out Dries Buytaert's (Drupal's Founder) Keynote - <a href="http://www.archive.org/details/Css3TheFutureIsNow">State of Drupal</a>, as well as Tim O'Reilly talking about <a href="http://www.archive.org/details/OpenSourceInTheCloudEra">Open Source in the Cloud Era</a>. If you've got time to spare all the sessions are available to watch on <a href="http://www.archive.org/search.php?query=Drupalcon%20SF%202010%20AND%20collection%3Aopensource_movies">archive.org</a>.  I'm sure you'll learn something!<br/><br/>So now that the Eclipse has started drinking the <a href="http://www.craigritchie.com/wp-content/uploads/2008/04/drupalkoolaid.jpg">Drupal Kool-aid</a>, lets see if we can get them to chug some of our Eclipse Soda!<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/22723876-1291949803383937331?l=nathangervais.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2010-04-29T15:28:45Z</updated>
    <published>2010-04-29T14:27:00Z</published>
    <author>
      <name>Nathan</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/12101051015202212319</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-22723876</id>
      <author>
        <name>Nathan</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/12101051015202212319</uri>
      </author>
      <link href="http://nathangervais.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/22723876/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://nathangervais.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <title>I'm with the Foundation</title>
      <updated>2010-06-04T17:27:32Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://wagenknecht.org/blog/?p=257</id>
    <link href="http://wagenknecht.org/blog/archives/2010/04/categorize-our-orbit.html" rel="alternate" type="text/html"/>
    <title>Categorize our Orbit</title>
    <summary>As part of our “Give Orbit some love for Helios” initiative I started adding categories to Orbit repositories. Whenever you include an Orbit p2 repository in your target platform, you’ll now be able to cherry pick only the bundles you really need from a convenient set of categories. No need to download any unnecessary overhead.
Try [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>As part of our “<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=274837" target="_blank" title="Bug 274837 - Document Orbit Repository Format">Give Orbit some love for Helios</a>” initiative I started adding categories to Orbit repositories. Whenever you include an Orbit p2 repository in your target platform, you’ll now be able to cherry pick only the bundles you really need from a convenient set of categories. No need to download any unnecessary overhead.</p>
<p>Try it out yourself. Here is a link to an Orbit p2 repository with categories:</p>
<blockquote><p>http://download.eclipse.org/tools/orbit/committers/drops/I20100428041519/updateSite/</p></blockquote>
<p>I also captured a  screenshot for your convenience:</p>
<blockquote><p><a href="http://wagenknecht.org/blog/wp-content/uploads/2010/04/orbit-categories.png"><img alt="" class="aligncenter size-medium wp-image-258" height="300" src="http://wagenknecht.org/blog/wp-content/uploads/2010/04/orbit-categories-293x300.png" title="Orbit Categories" width="293"/></a></p></blockquote>
<p>Frankly, I’m not a creative guy but I had to come up with some categories. Your feedback on the categories is really appreciated.</p></div>
    </content>
    <updated>2010-04-28T08:17:58Z</updated>
    <category term="Eclipse"/>
    <category term="Orbit"/>
    <category term="p2"/>
    <author>
      <name>Gunnar Wagenknecht</name>
    </author>
    <source>
      <id>http://wagenknecht.org/blog</id>
      <link href="http://wagenknecht.org/blog" rel="alternate" type="text/html"/>
      <link href="http://feeds.feedburner.com/eclipseguru" rel="self" type="application/atom+xml"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>Me, my family, whatever I like, whatever I want to write about!</subtitle>
      <title>Gunnar's Weblog</title>
      <updated>2010-06-09T06:17:13Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-20358640.post-2590666420197371258</id>
    <link href="http://eclipseecf.blogspot.com/feeds/2590666420197371258/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=20358640&amp;postID=2590666420197371258" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/20358640/posts/default/2590666420197371258" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/20358640/posts/default/2590666420197371258" rel="self" type="application/atom+xml"/>
    <link href="http://eclipseecf.blogspot.com/2010/04/asynchronous-remote-services-future-or.html" rel="alternate" type="text/html"/>
    <title>Asynchronous Remote Services - The future or the callback</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">In <a href="http://eclipseecf.blogspot.com/2010/04/asynchronous-remote-services-part-2.html">previous postings</a> I described how ECF is now making it very easy for OSGi service developers to expose asynchronous/non-blocking remote method calls to clients.  <br/><br/>In short, all that's now required is to create an asynchronous version of the service's OSGi service interface.  See <a href="http://wiki.eclipse.org/Asynchronous_Remote_Services">this documentation</a> for example and source.  Just declaring this asynchronous interface is all that's needed.  At proxy discovery time, <a href="http://www.eclipse.org/ecf">ECF</a>'s implementation of OSGi remote services will provide the implementation of this asynchronous interface.  <br/><br/><span style="font-weight: bold;">Future or Callback</span><br/><br/>There are various approaches to doing asynchronous remote method invocation, and two common ones are callbacks and futures.  For example, <a href="http://code.google.com/webtoolkit/">GWT</a> uses callbacks, while <a href="http://aws.amazon.com/ec2/">Amazon EC2</a> uses futures for exposing asynchronous access to their APIs (like SNS, SQS, etc).  ECF's asynchronous remote services supports <span style="font-weight: bold;">both</span> of these approaches (futures and callbacks).  The asynchronous service interface declaration can, for a given synchronous method declaration, use either a callback, or a future, or both.<br/><br/>For example, let's say we have the following synchronous service interface method:<br/><br/><span style="font-weight: bold;">String foo(String bar);</span><br/><br/>The async declaration for this method using a callback would look like this:<br/><br/><span style="font-weight: bold;">void fooAsync(String bar, IAsyncCallback);</span><br/><br/>The async declaration for thie method using a future would look like this:<br/><br/><span style="font-weight: bold;">IFuture fooAsync(String bar);</span><br/><br/>And that's it.  The remote service client can then use either/both of these fooAsync methods (if they are declared, of course), simply by casting the proxy to the async service interface type and calling the appropriate fooAsync method with the necessary params.  <br/><br/>In this way, the remote service designer can determine what asynchronous style the client will have available...by declaring fooAsync using callback, future, both, or neither.<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/20358640-2590666420197371258?l=eclipseecf.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2010-04-27T18:35:05Z</updated>
    <published>2010-04-27T17:54:00Z</published>
    <author>
      <name>Scott Lewis</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/15783631237186844143</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-20358640</id>
      <author>
        <name>Scott Lewis</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/15783631237186844143</uri>
      </author>
      <link href="http://eclipseecf.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/20358640/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://eclipseecf.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://www.blogger.com/feeds/20358640/posts/default?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <subtitle>Blog for the Eclipse Communication Framework Project (ECF)</subtitle>
      <title>Eclipse Communication Framework</title>
      <updated>2010-06-07T13:40:30Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://www.toedter.com/blog/?p=100</id>
    <link href="http://www.toedter.com/blog/?p=100" rel="alternate" type="text/html"/>
    <title>Planet Eclipse Test</title>
    <summary>After upgrading to WordPress 2.9.2, my Eclipse related blogs did not appear at Planet Eclipse anymore.  If you see this post at Planet Eclipse, then it is working again  





		
			Share this on del.icio.us
		
		
			Tweet This!
		
		
			Share this on Facebook
		
		
			Share this on LinkedIn
		
		
			Add this to Google Bookmarks</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>After upgrading to WordPress 2.9.2, my Eclipse related blogs did not appear at Planet Eclipse anymore.  If you see this post at Planet Eclipse, then it is working again <img alt=":)" class="wp-smiley" src="http://www.toedter.com/blog/wp-includes/images/smilies/icon_smile.gif"/> </p>


<!-- Begin SexyBookmarks Menu Code -->
<div class="sexy-bookmarks sexy-bookmarks-expand sexy-bookmarks-spaced">
<ul class="socials">
		<li class="sexy-delicious">
			<a href="http://delicious.com/post?url=http://www.toedter.com/blog/?p=100&amp;title=Planet+Eclipse+Test" rel="nofollow" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="sexy-twitter">
			<a href="http://twitter.com/home?status=Planet+Eclipse+Test+-+http://b2l.me/rrjy2+(via+@kaitoedter)&amp;source=shareaholic" rel="nofollow" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="sexy-facebook">
			<a href="http://www.facebook.com/share.php?v=4&amp;src=bm&amp;u=http://www.toedter.com/blog/?p=100&amp;t=Planet+Eclipse+Test" rel="nofollow" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="sexy-linkedin">
			<a href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http://www.toedter.com/blog/?p=100&amp;title=Planet+Eclipse+Test&amp;summary=After%20upgrading%20to%20WordPress%202.9.2%2C%20my%20Eclipse%20related%20blogs%20did%20not%20appear%20at%20Planet%20Eclipse%20anymore.%C2%A0%20If%20you%20see%20this%20post%20at%20Planet%20Eclipse%2C%20then%20it%20is%20working%20again%20%3A%29&amp;source=Kai's Blog" rel="nofollow" title="Share this on LinkedIn">Share this on LinkedIn</a>
		</li>
		<li class="sexy-googlebookmarks">
			<a href="http://www.google.com/bookmarks/mark?op=add&amp;bkmk=http://www.toedter.com/blog/?p=100&amp;title=Planet+Eclipse+Test" rel="nofollow" title="Add this to Google Bookmarks">Add this to Google Bookmarks</a>
		</li>
</ul>
<div style="clear: both;"/>
</div>
<!-- End SexyBookmarks Menu Code --></div>
    </content>
    <updated>2010-04-27T17:51:32Z</updated>
    <category term="Eclipse"/>
    <category term="General"/>
    <category term="Java"/>
    <author>
      <name>Kai Tödter</name>
    </author>
    <source>
      <id>http://www.toedter.com/blog</id>
      <link href="http://www.toedter.com/blog/?feed=rss2&amp;cat=2" rel="self" type="application/atom+xml"/>
      <link href="http://www.toedter.com/blog" rel="alternate" type="text/html"/>
      <subtitle>Java, Eclipse, OSGi, and other cool stuff</subtitle>
      <title>Kai's Blog » Eclipse</title>
      <updated>2010-06-09T06:51:09Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://www.peterfriese.de/?p=426</id>
    <link href="http://www.peterfriese.de/osgi-servlets-flexibility-by-simplicity/" rel="alternate" type="text/html"/>
    <title>OSGi &amp; Servlets: Flexibility by Simplicity</title>
    <summary>Strangely enough, simple things tend</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Strangely enough</strong>, simple things tend to be more flexible than complex things. I bet you too have seen people go to great lengths to ensure a certain solution provides utmost flexibility. <span id="more-426"/>Often, this flexibility isn't needed, so you're introducing accidental complexity.</p>
<p>In <a href="http://www.peterfriese.de/osgi-servlets-a-happy-marriage/">a recent post</a>, I showed you how to create a plain servlet and register it in an OSGi environment. As both <a href="http://eclipsesource.com/blogs/author/jeff/">Jeff</a> and <a href="http://www.composent.com/">Scott</a> pointed out, my using a <em>ServiceTracker</em> to register and unregister the servlet is a little bit clumsy and can be improved by using Declarative Services.</p>
<p>I highly recommend reading chapter 15 in "<a href="http://my.safaribooksonline.com/9780321561510">OSGi and Equinox</a>", but in a nutshell Declarative Services allow you to define <em>components</em> which can provide and consume <em>services</em>. <em>Binding</em> and <em>unbinding</em> references between components and services is performed by the DS runtime (also known as the Service Component Runtime).</p>
<p>Without further ado, here are the changes I had to make to DS-ify my simple servlet:</p>
<ol>
<li>Remove the activator. Yes, that's true: we don't need an Activator any more. Delete the class and also remove it from <em>META-INF/MANIFEST.MF</em></li>
<li>Delete <em>HttpServiceTracker</em>. Registering the servlet with the <em>HTTPService</em> will be handled by the DS runtime.</li>
<li>Implement a <em>component</em> to register and unregister the servlet with the <em>HttpService</em>:
<pre class="java"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> SimpleComponent <span style="color: #66cc66;">{</span>
  <span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000000; font-weight: bold;">final</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AString+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #aaaadd; font-weight: bold;">String</span></a> SERVLET_ALIAS = <span style="color: #ff0000;">"/hellods"</span>;
  <span style="color: #000000; font-weight: bold;">private</span> HttpService httpService;
 
  <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #993333;">void</span> setHttpService<span style="color: #66cc66;">(</span>HttpService httpService<span style="color: #66cc66;">)</span> <span style="color: #66cc66;">{</span>
    <span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006600;">httpService</span> = httpService;
  <span style="color: #66cc66;">}</span>
 
  <span style="color: #000000; font-weight: bold;">protected</span> <span style="color: #993333;">void</span> startup<span style="color: #66cc66;">(</span><span style="color: #66cc66;">)</span> <span style="color: #66cc66;">{</span>
    <span style="color: #000000; font-weight: bold;">try</span> <span style="color: #66cc66;">{</span>
      <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3ASystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #aaaadd; font-weight: bold;">System</span></a>.<span style="color: #006600;">out</span>.<span style="color: #006600;">println</span><span style="color: #66cc66;">(</span><span style="color: #ff0000;">"Staring up sevlet at "</span> + SERVLET_ALIAS<span style="color: #66cc66;">)</span>;
      SimpleServlet servlet = <span style="color: #000000; font-weight: bold;">new</span> SimpleServlet<span style="color: #66cc66;">(</span><span style="color: #66cc66;">)</span>;
      httpService.<span style="color: #006600;">registerServlet</span><span style="color: #66cc66;">(</span>SERVLET_ALIAS, servlet, <span style="color: #000000; font-weight: bold;">null</span>, <span style="color: #000000; font-weight: bold;">null</span><span style="color: #66cc66;">)</span>;
    <span style="color: #66cc66;">}</span> <span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #66cc66;">(</span>ServletException e<span style="color: #66cc66;">)</span> <span style="color: #66cc66;">{</span>
      e.<span style="color: #006600;">printStackTrace</span><span style="color: #66cc66;">(</span><span style="color: #66cc66;">)</span>;
    <span style="color: #66cc66;">}</span> <span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #66cc66;">(</span>NamespaceException e<span style="color: #66cc66;">)</span> <span style="color: #66cc66;">{</span>
      e.<span style="color: #006600;">printStackTrace</span><span style="color: #66cc66;">(</span><span style="color: #66cc66;">)</span>;
    <span style="color: #66cc66;">}</span>
  <span style="color: #66cc66;">}</span>
 
  <span style="color: #000000; font-weight: bold;">protected</span> <span style="color: #993333;">void</span> shutdown<span style="color: #66cc66;">(</span><span style="color: #66cc66;">)</span> <span style="color: #66cc66;">{</span>
    httpService.<span style="color: #006600;">unregister</span><span style="color: #66cc66;">(</span>SERVLET_ALIAS<span style="color: #66cc66;">)</span>;
  <span style="color: #66cc66;">}</span>
<span style="color: #66cc66;">}</span></pre>
<p>As you can see, the <em>HttpService</em> will be injected into this component using it's setter method, <em>setHttpService</em>.</p>
</li>
<li>Register this component with the DS runtime by adding a component description:
<pre class="xml"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;?xml</span> <span style="color: #000066;">version</span>=<span style="color: #ff0000;">"1.0"</span> <span style="color: #000066;">encoding</span>=<span style="color: #ff0000;">"UTF-8"</span><span style="font-weight: bold; color: black;">?&gt;</span></span>
<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;scr:component</span>
  <span style="color: #000066;">xmlns:scr</span>=<span style="color: #ff0000;">"http://www.osgi.org/xmlns/scr/v1.1.0"</span>
  <span style="color: #000066;">activate</span>=<span style="color: #ff0000;">"startup"</span>
  <span style="color: #000066;">deactivate</span>=<span style="color: #ff0000;">"shutdown"</span>
  <span style="color: #000066;">name</span>=<span style="color: #ff0000;">"simple.ds.component"</span><span style="font-weight: bold; color: black;">&gt;</span></span>
  <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;implementation</span>
    <span style="color: #000066;">class</span>=<span style="color: #ff0000;">"simple.ds.servlet.SimpleComponent"</span><span style="font-weight: bold; color: black;">/&gt;</span></span>
  <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;reference</span>
    <span style="color: #000066;">bind</span>=<span style="color: #ff0000;">"setHttpService"</span>
    <span style="color: #000066;">interface</span>=<span style="color: #ff0000;">"org.osgi.service.http.HttpService"</span><span style="font-weight: bold; color: black;">/&gt;</span></span>
<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/scr:component<span style="font-weight: bold; color: black;">&gt;</span></span></span></pre>
<p>I saved this file in <em>OSGI-INF/component.xml</em> and added it to the <em>Service-Component</em> section of <em>META-INF/MANIFEST.MF</em>. In fact, as I used the <em>Create New OSGi Component</em> wizard, the wizard added the entry to the <em>ServiceComponent</em> section - it's really easy to forget this if you do it manually!</p>
</li>
</ol>
<p>That's it!</p>
<p><strong>Please note</strong> that I did not change the servlet implementation at all (apart form issuing a different text to make it easier to tell the servlets apart)!</p>
<p><strong>Before launching</strong>, please make sure to add <em>org.eclipse.equinox.ds</em> and <em>org.eclipse.equinox.util</em> to your launch config to enable Declarative Services.</p>
<p>The biggest advantage of this approach is that you do not have to take care of acquiring the <em>HTTPService</em>. The DS runtime will <em>only</em> activate your component when all prerequisites have been met, i.e., all dependencies are available. If the <em>HttpService</em> is not available for any reason, your component will not be started. This makes the code for registering the servlet simpler and cleaner.</p>
<p>You can <a href="http://code.google.com/p/peterfriese/source/browse/#svn/osgi/trunk/simple.ds.servlet">download the source for the DS-ified servlet</a> from my SVN repository on Google Code.</p></div>
    </content>
    <updated>2010-04-26T08:24:03Z</updated>
    <category term="Eclipse"/>
    <category term="OSGi"/>
    <category term="cloud"/>
    <category term="J2EE"/>
    <category term="JEE"/>
    <author>
      <name>Peter Friese</name>
    </author>
    <source>
      <id>http://www.peterfriese.de</id>
      <link href="http://www.peterfriese.de/category/computer/java/eclipse/feed/" rel="self" type="application/atom+xml"/>
      <link href="http://www.peterfriese.de" rel="alternate" type="text/html"/>
      <subtitle>Xtext, DSLs, Eclipse, iPhone</subtitle>
      <title>Peter Friese » Eclipse</title>
      <updated>2010-06-09T06:14:36Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://www.birt-exchange.org/blog/2010-04-25/birt-user-group-uk-dont-miss-it/</id>
    <link href="http://www.birt-exchange.org/blog/2010-04-25/birt-user-group-uk-dont-miss-it/" rel="alternate" type="text/html"/>
    <title>BIRT User Group UK — Don’t miss it!</title>
    <summary>If you’ll be in the London area this Tuesday evening, April 27th, don’t miss the BIRT User Group UK meeting! Register now to hold your spot before it fills up.
Besides being a great opportunity to network with other BIRT users, the organizers have two terrific speakers lined up for this meeting:
	
James Governor, the highly respected [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>If you’ll be in the <a href="http://www.meetup.com/BIRT-User-Group-UK/venue/1249031/?eventId=13051951&amp;popup=true" target="_blank">London area</a> this Tuesday evening, April 27th, don’t miss the <a href="http://www.meetup.com/BIRT-User-Group-UK/calendar/13051951/" target="_blank">BIRT User Group UK meeting</a>! Register now to hold your spot before it fills up.</p>
<p>Besides being a great opportunity to network with other BIRT users, the organizers have two terrific speakers lined up for this meeting:
</p><ol>	
<li><a href="http://www.redmonk.com/jgovernor/about/" target="_blank">James Governor</a>, the highly respected open source analyst from RedMonk, will be talking about how to leverage Web 2.0 and social media technologies into applications and how open source technologies can help keep up with innovation in these areas.</li>
<p>	
</p><li><a href="http://www.birt-exchange.org/userinfo.php?uname=vdodson" target="_blank">Virgil Dodson</a>, our senior BIRT Exchange evengelist, will talk about Eclipse BIRT and cover a range of topics like using the BIRT Designer, re-using BIRT assets and giving BIRT some style.</li>
<p/></ol>
<p>Plus, Virgil will show off the <a href="http://www.birt-exchange.org/blog/2010-03-10/birt-is-mobile/" target="_blank">BIRT Mobile Viewer</a> on his new <a href="http://www.apple.com/ipad/" target="_blank">iPad</a>! If you haven’t seen the future of mobile BIRT (or just want a first hand look at an iPad), you can register and/or get more information about the meeting <a href="http://www.meetup.com/BIRT-User-Group-UK/calendar/13051951/" target="_blank">here</a>. I understand there will be giveaways too — sorry… but not for Virgil’s iPad. <img alt="" src="http://www.birt-exchange.org/uploads/smil3dbd4d6422f04.gif"/>
</p></div>
    </content>
    <updated>2010-04-26T03:07:34Z</updated>
    <category term="BIRT at Events"/>
    <category term="BIRT Mobile"/>
    <author>
      <name>rgans</name>
    </author>
    <source>
      <id>http://www.birt-exchange.org/blog</id>
      <link href="http://www.birt-exchange.org/blog" rel="alternate" type="text/html"/>
      <link href="http://www.birt-exchange.com/modules/wordpress/?feed=rss2" rel="self" type="application/rss+xml"/>
      <subtitle>BIRT-ing Out Loud</subtitle>
      <title>BirtExchange Blog</title>
      <updated>2010-04-26T15:49:59Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-2567423662647769389.post-8533341725638876496</id>
    <link href="http://ahuntereclipse.blogspot.com/feeds/8533341725638876496/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=2567423662647769389&amp;postID=8533341725638876496" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/2567423662647769389/posts/default/8533341725638876496" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/2567423662647769389/posts/default/8533341725638876496" rel="self" type="application/atom+xml"/>
    <link href="http://ahuntereclipse.blogspot.com/2010/04/graphical-modeling-at-eclipse.html" rel="alternate" type="text/html"/>
    <title>Graphical Modeling at Eclipse</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Earlier this week we received word that the <a href="http://www.eclipse.org/modeling/gmf/">Graphical Modeling Framework (GMF) Project</a> received EMO approval for it's <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=304589">restructure request</a>. For those who were unaware of the restructure, read further.<br/><br/>The GMF restructure is mainly a reaction to the <a href="http://www.eclipse.org/proposals/graphiti/">Graphiti project proposal</a>. The original version of the proposal was to start a new modeling project.<br/><br/>The scope, architecture and dependencies of Graphiti align directly with the GMF Runtime. Given this fact, it did not make a lot of sense to create a second community. The Graphiti project belongs in the same umbrella project as GMF.<br/><br/>To this end, we proposed the creation of the new Graphical Modeling Project that includes the existing GMF project and will include Graphiti.<br/><br/>A restructure of GMF also solves the following:<br/><ul><li>GMF is currently restricted to one runtime and one tooling project.</li><br/><ul><li>It makes sense in terms of our project scope to allow multiple runtimes and multiple tooling projects.</li><br/><li><b>Expand the Graphical Modeling community at Eclipse</b></li></ul><br/><li>GMF can only have one project lead, even though since day one there was a project and committer split between GMF Tooling and GMF Runtime components.</li><br/><ul><li>It makes sense to split the project between GMF Tooling and GMF Runtime.</li><br/><li>We will have leadership and committers for each subproject.</li><br/><li>It will fit into the existing model of umbrella projects in modeling such as EMF, MDT, M2M, etc.</li><br/><li>Easier defect management, release management, etc.</li><br/><li>Expand the community working in graphical modeling.</li></ul><br/><li>Clients have requested a separate notational metamodel.</li><br/><ul><li>Notational metamodel is aligned with the OMG diagram exchange specifications.</li><br/><li>GMF Runtime has separate features that deliver the notational metamodel, but end users have to extract manually.</li><br/><li>Makes sense to create a separate GMF Notation sub-component so other projects can reuse without requiring all of the GMF Runtime</li></ul></ul>The Existing GMF project will be restructured into GMP. GMP will include:<br/><ul><li>GMF Tooling</li><br/><li>GMF Runtime</li><br/><li>GMF Notation</li><br/><li>Graphiti</li></ul>We plan to complete for the Helios release with Graphiti an incubating component.<br/><br/>We are now starting the actual restructure. The ongoing work will be discussed in <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=310208">Graphical Modeling Framework (GMF) Restructuring</a> if you wish to follow along.<br/><br/>As well, Graphiti's Creation Review is potentially scheduled for Wed, 28 Apr 2010 at 1500 UTC<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/2567423662647769389-8533341725638876496?l=ahuntereclipse.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2010-04-22T23:37:40Z</updated>
    <published>2010-04-22T23:04:00Z</published>
    <author>
      <name>Anthony Hunter</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/03060102622123930690</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-2567423662647769389</id>
      <author>
        <name>Anthony Hunter</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/03060102622123930690</uri>
      </author>
      <link href="http://ahuntereclipse.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/2567423662647769389/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://ahuntereclipse.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>Anthony's blog for anything Eclipse...</subtitle>
      <title>Anthony Hunter's Eclipse Blog</title>
      <updated>2010-05-25T09:08:19Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://www.lunar-ocean.com/?p=351</id>
    <link href="http://www.lunar-ocean.com/bpmn-modeler-mirrored-on-github/" rel="alternate" type="text/html"/>
    <link href="http://www.lunar-ocean.com/bpmn-modeler-mirrored-on-github/#comments" rel="replies" type="text/html"/>
    <link href="http://www.lunar-ocean.com/bpmn-modeler-mirrored-on-github/feed/atom/" rel="replies" type="application/atom+xml"/>
    <title xml:lang="en">BPMN modeler mirrored on github</title>
    <summary xml:lang="en">Remember last week, when I was telling you that the BPMN modeler had moved to git ?
Ketan and I maintain the eclipse account on github. We opened a support request and here we go:
http://github.com/eclipse/bpmnmodeler
The BPMN modeler is now mirrored on github! If you need another Eclipse project to be mirrored, open a support request on [...]</summary>
    <content type="xhtml" xml:lang="en"><div xmlns="http://www.w3.org/1999/xhtml"><p><a href="http://www.lunar-ocean.com/the-bpmn-modeler-has-moved-to-git/">Remember last week</a>, when I was telling you that the BPMN modeler had moved to git ?</p>
<p><a href="http://ketan.padegaonkar.name/">Ketan</a> and I maintain the <a href="http://www.github.com/eclipse">eclipse</a> account on github. We opened a support request and here we go:</p>
<p>http://github.com/eclipse/bpmnmodeler</p>
<p>The BPMN modeler is now mirrored on github! If you need another Eclipse project to be mirrored, open a support request on github and ask us to open an empty repository with the name of the project.</p>
<p>Kudos to the github team for their reactivity and their outstanding service!</p>
</div>
    </content>
    <updated>2010-04-22T02:10:20Z</updated>
    <published>2010-04-22T02:10:20Z</published>
    <category scheme="http://www.lunar-ocean.com" term="BPMN"/>
    <category scheme="http://www.lunar-ocean.com" term="Eclipse"/>
    <author>
      <name>Antoine Toulme</name>
      <uri>http://antoine.toulme.name</uri>
    </author>
    <source>
      <id>http://www.lunar-ocean.com/feed/atom/</id>
      <link href="http://www.lunar-ocean.com" rel="alternate" type="text/html"/>
      <link href="http://feeds.feedburner.com/LunarOceanForEclipse" rel="self" type="application/atom+xml"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle xml:lang="en">My full feed is present at http://feeds.feedburner.com/lunarOcean to get more content.</subtitle>
      <title xml:lang="en">Lunar Ocean - Eclipse log</title>
      <updated>2010-05-04T18:47:50Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-7994778055369999579.post-5891319481113152830</id>
    <link href="http://onpersistence.blogspot.com/feeds/5891319481113152830/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=7994778055369999579&amp;postID=5891319481113152830" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/7994778055369999579/posts/default/5891319481113152830" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/7994778055369999579/posts/default/5891319481113152830" rel="self" type="application/atom+xml"/>
    <link href="http://onpersistence.blogspot.com/2010/04/checkcachethendatabase-in-toplink-grid.html" rel="alternate" type="text/html"/>
    <title>CheckCacheThenDatabase in TopLink Grid</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">EclipseLink JPA has a number of useful <a href="http://www.eclipse.org/eclipselink/api/2.0/org/eclipse/persistence/config/CacheUsage.html">query hints</a> that allow you to query the cache rather than, or before, the database.  This is useful because if you know you've warmed up your cache you can execute queries for objects and yet not have to query the database.  <br/><br/>As of TopLink 11gR1 (11.1.1.2.0) TopLink Grid doesn't support these hints but it's only a problem for the 'Grid Cache' configuration in which Coherence is used as a shared cache replacement.  In Grid Cache, only primary key queries are sent to Coherence and all other queries go to the database. In the 'Grid Read' and 'Grid Entity' configurations all read queries are directed to Coherence.<br/><br/>I was recently asked how to get a query to CheckCacheThenDatabase with Grid Cache and came up with the <span style="font-family: courier new; font-size: 10pt;"><span style="color: rgb(0,0,0);">GridCacheQueryHelper</span></span> utility class below.  It provides the static method <span style="font-family: courier new; font-size: 10pt;"><span style="color: rgb(0,0,0);">checkCacheThenDatabase</span></span> which will adjust an EclipseLink JPA query so that it queries Coherence (if the query can be translated to a Filter) and if no results are found in Coherence then it queries the database.<br/><br/>Configuring a query would look something like:<br/><br/><span style="font-family: courier new; font-size: 10pt;"><span style="color: rgb(0,0,0);">        Query query = em.createQuery(</span><span style="color: rgb(42,0,255);">"select e from Employee e"</span><span style="color: rgb(0,0,0);">);<br/>        GridCacheQueryHelper.checkCacheThenDatabase(query);<br/>        List&lt;Employee&gt; employees = query.getResultList();<br/></span></span><br/><br/>NOTE: this code is based on how TopLink Grid 11.1.1.2.0 is implemented and may not work with future releases.<br/><br/>--Shaun<br/><br/><span style="font-family: courier new; font-size: 10pt;"><span style="color: rgb(63,95,191);">/**<br/> * Utility class that provides implementations of EclipseLink <br/> * query hints for use with TopLink Grid 'Grid Cache' Configuration.<br/> * <br/> * </span><span style="font-weight: bold; color: rgb(127,159,191);">@author</span><span style="color: rgb(63,95,191);"> shsmith<br/> *<br/> */</span><span style="color: rgb(0,0,0);"><br/></span><span style="font-weight: bold; color: rgb(127,0,85);">class</span><span style="color: rgb(0,0,0);"> GridCacheQueryHelper {<br/>    <br/>    </span><span style="font-weight: bold; color: rgb(127,0,85);">public</span><span style="color: rgb(0,0,0);"> </span><span style="font-weight: bold; color: rgb(127,0,85);">static</span><span style="color: rgb(0,0,0);"> </span><span style="font-weight: bold; color: rgb(127,0,85);">void</span><span style="color: rgb(0,0,0);"> checkCacheThenDatabase(Query jpqlQuery) {<br/>        JpaHelper<br/>            .getDatabaseQuery(jpqlQuery)<br/>            .setRedirector(</span><span style="font-weight: bold; color: rgb(127,0,85);">new</span><span style="color: rgb(0,0,0);"> CoherenceCheckCacheThenDatabase());<br/>    }<br/>    <br/>    </span><span style="font-weight: bold; color: rgb(127,0,85);">private</span><span style="color: rgb(0,0,0);"> </span><span style="font-weight: bold; color: rgb(127,0,85);">static</span><span style="color: rgb(0,0,0);"> </span><span style="font-weight: bold; color: rgb(127,0,85);">class</span><span style="color: rgb(0,0,0);"> CoherenceCheckCacheThenDatabase </span><span style="font-weight: bold; color: rgb(127,0,85);">implements</span><span style="color: rgb(0,0,0);"> QueryRedirector {<br/>        <br/>        </span><span style="font-weight: bold; color: rgb(127,0,85);">public</span><span style="color: rgb(0,0,0);"> Object invokeQuery(DatabaseQuery query, Record arguments,<br/>                Session session) {<br/>            </span><span style="color: rgb(63,127,95);">// Create appropriate Coherence Query Redirector<br/></span><span style="color: rgb(0,0,0);">            QueryRedirector redirector = </span><span style="font-weight: bold; color: rgb(127,0,85);">null</span><span style="color: rgb(0,0,0);">;<br/>            </span><span style="font-weight: bold; color: rgb(127,0,85);">if</span><span style="color: rgb(0,0,0);"> (query.isReadObjectQuery()) {<br/>                redirector = </span><span style="font-weight: bold; color: rgb(127,0,85);">new</span><span style="color: rgb(0,0,0);"> ReadObjectFromCoherence();<br/>            } </span><span style="font-weight: bold; color: rgb(127,0,85);">else</span><span style="color: rgb(0,0,0);"> </span><span style="font-weight: bold; color: rgb(127,0,85);">if</span><span style="color: rgb(0,0,0);"> (query.isReadAllQuery()) {<br/>                redirector = </span><span style="font-weight: bold; color: rgb(127,0,85);">new</span><span style="color: rgb(0,0,0);"> ReadAllFromCoherence();                <br/>            } </span><span style="font-weight: bold; color: rgb(127,0,85);">else</span><span style="color: rgb(0,0,0);"> { <br/>                </span><span style="font-weight: bold; color: rgb(127,0,85);">throw</span><span style="color: rgb(0,0,0);"> </span><span style="font-weight: bold; color: rgb(127,0,85);">new</span><span style="color: rgb(0,0,0);"> RuntimeException(</span><span style="color: rgb(42,0,255);">"CheckCacheThenDatabase only supported on ReadObject and ReadAll Queries."</span><span style="color: rgb(0,0,0);">);<br/>            }<br/>            </span><span style="color: rgb(63,127,95);">// If nothing returned from Coherence then query database.<br/></span><span style="color: rgb(0,0,0);">            </span><span style="color: rgb(63,127,95);">// But only if the query was only run against Coherence <br/></span><span style="color: rgb(0,0,0);">            </span><span style="color: rgb(63,127,95);">// and no results were found.<br/></span><span style="color: rgb(0,0,0);">            List results = (List)redirector.invokeQuery(query, arguments, session);<br/>            </span><span style="font-weight: bold; color: rgb(127,0,85);">if</span><span style="color: rgb(0,0,0);"> ((results.isEmpty()) &amp;&amp; (query.getDoNotRedirect())) {<br/>                </span><span style="font-weight: bold; color: rgb(127,0,85);">return</span><span style="color: rgb(0,0,0);"> query.execute((AbstractSession)session, (AbstractRecord) arguments);<br/>            } </span><span style="font-weight: bold; color: rgb(127,0,85);">else</span><span style="color: rgb(0,0,0);"> {<br/>                </span><span style="font-weight: bold; color: rgb(127,0,85);">return</span><span style="color: rgb(0,0,0);"> results;<br/>            }<br/>        }<br/>    }<br/><br/>}</span></span><div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/7994778055369999579-5891319481113152830?l=onpersistence.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2010-04-21T16:26:26Z</updated>
    <published>2010-04-16T15:55:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="toplinkgrid"/>
    <author>
      <name>Shaun Smith</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/03444889032778621661</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-7994778055369999579</id>
      <author>
        <name>Shaun Smith</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/03444889032778621661</uri>
      </author>
      <link href="http://onpersistence.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/7994778055369999579/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://onpersistence.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <title>On Persistence</title>
      <updated>2010-06-08T14:05:03Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://www.birt-exchange.org/blog/2010-04-20/birt-exchange-devshare-contest-winner-for-march-2010-selected/</id>
    <link href="http://www.birt-exchange.org/blog/2010-04-20/birt-exchange-devshare-contest-winner-for-march-2010-selected/" rel="alternate" type="text/html"/>
    <title>BIRT Exchange DevShare Contest Winner for March 2010 Selected</title>
    <summary>The winner of the DevShare Contributor of the Month Contest for March 2010 is David Mehi (a.k.a. Le BIRT Expert) for his contribution to BIRT Exchange titled: Using a Popup Debug Window in BIRT.
He describes his submission as follows, “The Javascript Debug Popup Window was something that I had been using for over a year on [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>The winner of the DevShare Contributor of the Month Contest for March 2010 is <a href="http://www.birt-exchange.org/userinfo.php?uname=LeBrtExprt" target="_blank">David Mehi</a> (a.k.a. Le BIRT Expert) for his contribution to BIRT Exchange titled: <a href="http://www.birt-exchange.org/devshare/designing-birt-reports/1170-using-a-popup-debug-window-in-birt/#description" target="_blank">Using a Popup Debug Window in BIRT</a>.</p>
<p>He describes his submission as follows, “The Javascript Debug Popup Window was something that I had been using for over a year on various projects. I often found that when doing scripting in BIRT, I would make small mistakes that would cause the report to either stop running or produce the wrong result. Having this “window” to output messages to became invaluable when trying to find the right method calls and debug problematic JavaScript code. Since Eclipse is based on Java, opening up a JFrame and printing messages to it made sense. It was much more convenient to see the messages in their own window than looking in a log file every time.”</p>
<p>David Mehi is a Java certified programmer who worked as a Senior and Principal Consultant for Actuate Professional Services for almost 6 years where he was based out of New York City and London. He has worked on a wide variety of BIRT and Actuate projects across many different industries. David is currently based in Detroit, MI, USA and has recently started doing independent consulting through his company InfoLight Solutions, focusing on JEE, BIRT, Actuate and mobile related solutions. </p>
<p>In March of 2010, David created LeBIRTExpert.com, which is a web site and blog dedicated to bringing more information about BIRT to developers. It was created as a way to give back to the BIRT community and help foster its growth. David will soon be releasing an eBook detailing the BIRT Best Practices he has learned over the years. More information can be found at <a href="http://www.lebirtexpert.com" target="_blank"/><a href="http://www.lebirtexpert.com" target="_blank">www.lebirtexpert.com</a>.</p>
<p>David chose an iPod Shuffle for his award.</p>
<p><strong>It’s not too late…</strong> to get your own DevShare article posted in time for the next month’s contest which closes on April 30th. If you’ve cooked up something that you can share with the BIRT Exchange community, please <a href="http://www.birt-exchange.org/devshare/submit/" target="_blank">post it soon!</a> You can create a tutorial, build a BIRT application, template or component, or write up some of the tips and solutions to problems you’ve run into during the past — anything that’s helped you use BIRT more effectively will probably be useful to others too. And don’t forget the <a href="http://www.birt-exchange.com/be/marketplace/" target="_blank">BIRT Exchange Open Marketplace</a>. Your code-based DevShare submission could also be a great candidate for the Marketplace.<br/>The monthly DevShare contest rules and list of previous winners can be found <a href="http://www.birt-exchange.org/wiki/DevShare_Contributor_of_the_Month_Contest/" target="_blank">here</a>.
</p></div>
    </content>
    <updated>2010-04-20T17:07:11Z</updated>
    <category term="Contests"/>
    <author>
      <name>rgans</name>
    </author>
    <source>
      <id>http://www.birt-exchange.org/blog</id>
      <link href="http://www.birt-exchange.org/blog" rel="alternate" type="text/html"/>
      <link href="http://www.birt-exchange.com/modules/wordpress/?feed=rss2" rel="self" type="application/rss+xml"/>
      <subtitle>BIRT-ing Out Loud</subtitle>
      <title>BirtExchange Blog</title>
      <updated>2010-04-26T15:49:59Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-35738028.post-7751784213297544045</id>
    <link href="http://blog.rcp-company.com/feeds/7751784213297544045/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=35738028&amp;postID=7751784213297544045" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/35738028/posts/default/7751784213297544045" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/35738028/posts/default/7751784213297544045" rel="self" type="application/atom+xml"/>
    <link href="http://blog.rcp-company.com/2010/04/importance-of-clear-description-for-bug.html" rel="alternate" type="text/html"/>
    <title>The importance of a clear description for bug 8009</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">For the nth time <a href="https://bugs.eclipse.org/8009">bug 8009 "Split File Editor"</a> is discussed - n being rather large... This never-ending story is one of my favorite pass times when it comes to following Eclipse bugs... I really only have one wish: we need some new and fresh comments.<br/><br/>Well... lately, there have been some development in the comments, as already described by <a href="http://eclipsehowl.wordpress.com/2010/04/16/buy-me-a-bug/">Holger Voormann</a>, a <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=8009#c142">bounty</a> has now been started. In my book, the people behind the bounty now only need three things: a clear description, sufficient funds and a convinced committer. Will that happen? I think not.<br/><br/>In order to ask somebody to create a patch, the bounty givers/providers (?) must agree on a clear description of the problem and the wanted solution. Looking quickly through the 146 (!!) comments, I have not found a clear description of the wanted solution - actually I have found many different vague descriptions -, so one must wonder: does the current bounty givers have a common consensus for the wanted solution? If that is not the case, I can only guess that some of the people are going to be rather disappointed when they see a solution...<br/><br/>Most of the committers of the platform seems to agree, that the any implementation of this bug is going to be non-trivial. Thus, one must expect that the bounty for the bug must be relatively large - unless somebody goes the for the bounty just for the fame. But it is not enough to create a patch for the bug: as the patch is going to be relatively large, all sorts of committer rules are going to be in effect. Remember that somebody will have to maintain the patch afterwards. I.e. one of the existing committers for the platform must accept the provided patch as his/hers own and maintain it ever after. (Admitted, here I take it for granted that the bounty givers are not going to collect enough funds to pay for the continued maintenance of the solution... not an unreasonable assumption, I think).<br/><br/>I make my living by developing or help developing Eclipse RCP applications. So as a consumer of the Eclipse sources, I really, really don't want anything new in the platform unless all of the current committers can vouch for the solution. The platform has to be rock solid, otherwise we cannot base mission critical application on top of the sources. (Yes, I know that this basically means the development of the platform is almost none as the current code base is so old and complicated, but... that is exactly only of the aims of the e4 project, right?)<br/><br/>So... summa-sumarum: 1) you need a clear description of the problem, 2) you need funds and 3) you need to convince an existing committer that your solution is sound and good...<br/><br/>I can see 2) happen, I think 1) is going to be hard and 3) is going to be nearly impossible!<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/35738028-7751784213297544045?l=blog.rcp-company.com" width="1"/></div></div>
    </content>
    <updated>2010-04-16T23:18:11Z</updated>
    <published>2010-04-16T23:18:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="bugs"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="e4"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="fun"/>
    <author>
      <name>Tonny Madsen</name>
      <email>tonny.madsen@rcp-company.com</email>
      <uri>http://www.blogger.com/profile/11274095267997707957</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-35738028</id>
      <author>
        <name>Tonny Madsen</name>
        <email>tonny.madsen@rcp-company.com</email>
        <uri>http://www.blogger.com/profile/11274095267997707957</uri>
      </author>
      <link href="http://blog.rcp-company.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/35738028/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://blog.rcp-company.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://www.blogger.com/feeds/35738028/posts/default?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <subtitle>Plugging in made easy</subtitle>
      <title>Tonny Madsen</title>
      <updated>2010-05-20T01:31:53Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-17823979.post-1389409578694352729</id>
    <link href="http://divby0.blogspot.com/feeds/1389409578694352729/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=17823979&amp;postID=1389409578694352729" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/17823979/posts/default/1389409578694352729" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/17823979/posts/default/1389409578694352729" rel="self" type="application/atom+xml"/>
    <link href="http://divby0.blogspot.com/2010/04/build-xulrunner-1912-update-site-with.html" rel="alternate" type="text/html"/>
    <title>HOWTO: Build a XulRunner 1.9.1.2 Update Site with Tycho 0.8 + Maven 3</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>0. Install Maven 3 by downloading then unpacking the tar.gz:

</p><pre class="brush:shell">cd /tmp; \
wget http://mirror.csclub.uwaterloo.ca/apache/maven/binaries/apache-maven-3.0-alpha-7-bin.tar.gz; \
tar xvzf apache-maven-3.0-alpha-7-bin.tar.gz; \
chmod 755 apache-maven-3.0-alpha-7/bin/mvn; \
alias mvn3='/tmp/apache-maven-3.0-alpha-7/bin/mvn'</pre>

<p>1. Check out sources:

</p><pre class="brush:shell">cd /tmp; \
svn co http://anonsvn.jboss.org/repos/jbosstools/branches/modular_build/xulrunner/; \
wget http://anonsvn.jboss.org/repos/jbosstools/branches/modular_build/parent-pom.xml</pre>

<p>2. Run build:

</p><pre class="brush:shell">cd xulrunner; mvn3 -fae clean install</pre>

<p>3. You will get a p2 repo / update site in the target folder of the site project, from which you can install XulRunner or XPCOM into your Eclipse.

</p><pre class="brush:shell">cd site/org.mozilla.xulrunner.site/target/site</pre>

<hr/>

Note that the parent-pom.xml used above can in fact be much simpler. You only need the following:

<pre class="brush:xml">&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;project&gt;
  &lt;modelVersion&gt;4.0.0&lt;/modelVersion&gt;
  &lt;groupId&gt;org.jboss.tools&lt;/groupId&gt;
  &lt;artifactId&gt;org.jboss.tools.parent.pom&lt;/artifactId&gt;
  &lt;version&gt;0.0.1-SNAPSHOT&lt;/version&gt;
  &lt;name&gt;JBoss Tools Parent&lt;/name&gt;
  &lt;packaging&gt;pom&lt;/packaging&gt;
  &lt;properties&gt;
    &lt;tychoVersion&gt;0.8.0&lt;/tychoVersion&gt;
  &lt;/properties&gt;
  &lt;build&gt;
    &lt;plugins&gt;
      &lt;plugin&gt;
        &lt;groupId&gt;org.sonatype.tycho&lt;/groupId&gt;
        &lt;artifactId&gt;tycho-maven-plugin&lt;/artifactId&gt;
        &lt;version&gt;${tychoVersion}&lt;/version&gt;
        &lt;extensions&gt;true&lt;/extensions&gt;
      &lt;/plugin&gt;

      &lt;plugin&gt;
        &lt;groupId&gt;org.sonatype.tycho&lt;/groupId&gt;
        &lt;artifactId&gt;target-platform-configuration&lt;/artifactId&gt;
        &lt;version&gt;${tychoVersion}&lt;/version&gt;
        &lt;configuration&gt;
          &lt;resolver&gt;p2&lt;/resolver&gt;
          &lt;environments&gt;
            &lt;environment&gt;
              &lt;os&gt;macosx&lt;/os&gt;
              &lt;ws&gt;cocoa&lt;/ws&gt;
              &lt;arch&gt;x86&lt;/arch&gt;
            &lt;/environment&gt;
            &lt;environment&gt;
              &lt;os&gt;macosx&lt;/os&gt;
              &lt;ws&gt;carbon&lt;/ws&gt;
              &lt;arch&gt;x86&lt;/arch&gt;
            &lt;/environment&gt;
            &lt;environment&gt;
              &lt;os&gt;win32&lt;/os&gt;
              &lt;ws&gt;win32&lt;/ws&gt;
              &lt;arch&gt;x86&lt;/arch&gt;
            &lt;/environment&gt;
            &lt;environment&gt;
              &lt;os&gt;linux&lt;/os&gt;
              &lt;ws&gt;gtk&lt;/ws&gt;
              &lt;arch&gt;x86&lt;/arch&gt;
            &lt;/environment&gt;
            &lt;environment&gt;
              &lt;os&gt;linux&lt;/os&gt;
              &lt;ws&gt;gtk&lt;/ws&gt;
              &lt;arch&gt;x86_64&lt;/arch&gt;
            &lt;/environment&gt;
          &lt;/environments&gt;
        &lt;/configuration&gt;
      &lt;/plugin&gt;
    &lt;/plugins&gt;
  &lt;/build&gt;
&lt;/project&gt;</pre><div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/17823979-1389409578694352729?l=divby0.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2010-04-16T07:41:15Z</updated>
    <published>2010-04-16T07:11:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="p2"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="eclipse"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="tycho"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="eclipse35"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="update"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="xulrunner"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="maven"/>
    <author>
      <name>nickb</name>
      <email>nickboldt@gmail.com</email>
      <uri>http://www.blogger.com/profile/09200865148587349560</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-17823979</id>
      <author>
        <name>nickb</name>
        <email>nickboldt@gmail.com</email>
        <uri>http://www.blogger.com/profile/09200865148587349560</uri>
      </author>
      <link href="http://divby0.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/17823979/posts/default/-/eclipse" rel="self" type="application/atom+xml"/>
      <link href="http://divby0.blogspot.com/search/label/eclipse" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://www.blogger.com/feeds/17823979/posts/default/-/eclipse/-/eclipse?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <subtitle>Much ado about scripting, Linux &amp; Eclipse: card subject to change</subtitle>
      <title>DivByZero.com</title>
      <updated>2010-06-05T21:14:10Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://www.peterfriese.de/?p=422</id>
    <link href="http://www.peterfriese.de/osgi-servlets-deploying-on-amazon-ec2/" rel="alternate" type="text/html"/>
    <title>OSGi &amp; Servlets: Deploying on Amazon EC2</title>
    <summary>Last week, I showed you</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Last week, <a href="http://www.peterfriese.de/osgi-servlets-a-happy-marriage/">I showed you how to create a very simple OSGi-based servlet</a> and run it locally on Jetty. Today, I will show you how to deploy this servlet to an Amazon EC2 instance.</p>
<p><span id="more-422"/></p>
<p>We will first set up an Amazon EC2 instance and then export the servlet and install it in this instance.</p>
<h2>Setting up an Amazon EC2 instance</h2>
<p>Scott Lewis <a href="http://eclipseecf.blogspot.com/2010/03/osgieclipsert-in-amazon-cloud.html">was kind enough to prepare an Amazon EC2 Machine Image (AMI)</a> that already contains Jetty, Equinox and p2 - everything we need to get our servlet running. So let's use this AMI to provision our instance:</p>
<ol>
<li>Sign in to the <a href="https://console.aws.amazon.com/ec2/home">AWS web console</a></li>
<li>Click on <em>Launch instance</em> to create a new instance</li>
<li>In the <em>Request Instances Wizard</em>, jump over to the <em>Community AMIs</em> tab</li>
<li>Type <em>OSGi</em> in the search field to search for <strong><em>ami-69d93600</em></strong></li>
<li>Select the AMI</li>
<li>In the next step, you get to configure the instance. A small instance will do for now.</li>
<li>Leave the <em>Advanced Instance</em> options as-is</li>
<li>Next, you need to create a key pair (this will allow you to sign in to the instance using SSH). If you haven't created an EC2 instance before, select <em>Create a new Key Pair</em> and follow the instructions. Otherwise, select an existing key pair</li>
<li>To access the instance from outside using HTTP and SSH, you need to create and assign a <em>security group</em>. Make sure to add SSH and HTTP port configurations to this security group. Unfortunately, it is not possible to freely choose the port ranges, so we need to edit the security group after we're finished with the wizard.</li>
<li>On the summary page, review the configuration and click on <em>Launch</em> to actually start your instance.</li>
</ol>
<p>After a little while, the newly created instance will show up in the list of AMIs. You can test your instance by opening a terminal window and SSH'ing to your instance:</p>
<pre>  ssh -i path/to/your/privatekey.pem root@ec2-xxx-xx-xx-xx.compute-1.amazonaws.com
</pre>
<p>You should be greeted with a prompt like this:</p>
<pre class="bash">        __|  __|_  <span style="color: #7a0874; font-weight: bold;">)</span>  Fedora <span style="color: #000000;">8</span>
        _|  <span style="color: #7a0874; font-weight: bold;">(</span>     /    <span style="color: #000000;">32</span>-bit
       ___|\___|___|
 
Welcome to an EC2 Public Image
                      :- <span style="color: #7a0874; font-weight: bold;">)</span>
   Base</pre>
<p>Start the EclipseRT server as follows:</p>
<pre class="bash"><span style="color: #7a0874; font-weight: bold;">cd</span> /<span style="color: #c20cb9; font-weight: bold;">env</span>/osgi_eclipsert36_sb_p2_jetty_7_0_1_linux_x86/jetty-distribution<span style="color: #000000;">-7.0</span><span style="color: #000000;">.1</span>.v20091125/
./eclipsert36.<span style="color: #c20cb9; font-weight: bold;">sh</span></pre>
<p>Your Eclipse RT Equinox server is now up and running. Time to export the servlet!</p>
<h2>Exporting the servlet</h2>
<p>We will export our simple servlet using a feature based update site, so it can be installed using p2.</p>
<p><strong>First,</strong> create a new feature project, naming it <em>simple.servlet.feature</em>. Provide the following details to the wizard:</p>
<ol>
<li><em>ID:</em> simple.servlet.feature</li>
<li><em>Version:</em> 1.0.0.qualifier</li>
<li><em>Name:</em> Simple Servlet Feature</li>
<li><em>Provider:</em> Your name</li>
</ol>
<p>Open the <em>Plug-ins</em> page and add <em>simple.servlet</em> to the list of packages plug-ins.</p>
<p><strong>Now,</strong> we can create the update site. It will only contain the feature we just created. Using the <em>New Update Site</em> wizard, create a new update site project, naming it <em>simple.servlet.updatesite</em>. Add the feature we just created to the list of features on the first page of the <em>site.xml</em> Update Site Map.</p>
<p><strong>When you're done with that, </strong>, you can build the update site by pressing the <em>Build All</em> button. This will build the servlet plug-in, the feature and finally the update site. After that, we're ready to deploy.</p>
<h2>Installing the servlet</h2>
<p>Installing the servlet into our Amazon EC2 instance is quite easy, as we can leverage p2:</p>
<p><strong>Using your favourite SFTP client,</strong> copy the entire update into the <em>/tmp</em> directory of your Amazon EC2 instance. When that's done, hop over to your terminal window that's connected to the OSGi console of your Eclipse RT server (remember, we started this server when setting up the Amazon EC2 instance). Issue the following commands:</p>
<pre class="bash">provaddrepo <span style="color: #c20cb9; font-weight: bold;">file</span>:/tmp/simple.servlet.updatesite
provliu
provinstall simple.servlet  <span style="color: #000000;">1.0</span><span style="color: #000000;">.0</span><span style="color: #000000;">.201004091446</span>
confapply</pre>
<p><strong>Make sure you use the correct version identifier, it is likely to be different from the one I used here!</strong></p>
<p>You can now list the installed bundles by invoking <em>ss</em>:</p>
<pre class="bash">ss
...
<span style="color: #000000;">38</span>      ACTIVE      org.eclipse.equinox.preferences_3<span style="color: #000000;">.3</span><span style="color: #000000;">.0</span>.v20100208
<span style="color: #000000;">39</span>      ACTIVE      org.eclipse.equinox.registry_3<span style="color: #000000;">.5</span><span style="color: #000000;">.0</span>.v20100301
<span style="color: #000000;">40</span>      ACTIVE      org.eclipse.equinox.security_1<span style="color: #000000;">.0</span><span style="color: #000000;">.200</span>.v20100301
<span style="color: #000000;">41</span>      ACTIVE      org.eclipse.equinox.server.examples.hello_1<span style="color: #000000;">.0</span><span style="color: #000000;">.0</span><span style="color: #000000;">.201003111015</span>
<span style="color: #000000;">42</span>      ACTIVE      org.eclipse.equinox.simpleconfigurator.manipulator_2<span style="color: #000000;">.0</span><span style="color: #000000;">.0</span>.v20100304
<span style="color: #000000;">43</span>      ACTIVE      org.eclipse.equinox.util_1<span style="color: #000000;">.0</span><span style="color: #000000;">.100</span>.v20090520<span style="color: #000000;">-1800</span>
<span style="color: #000000;">44</span>      RESOLVED    org.eclipse.osgi.services_3<span style="color: #000000;">.2</span><span style="color: #000000;">.100</span>.v20100108
<span style="color: #000000;">45</span>      RESOLVED    org.sat4j.core_2<span style="color: #000000;">.2</span><span style="color: #000000;">.0</span>.v20100225
<span style="color: #000000;">46</span>      RESOLVED    org.sat4j.pb_2<span style="color: #000000;">.2</span><span style="color: #000000;">.0</span>.v20100225
<span style="color: #000000;">47</span>      RESOLVED    simple.servlet_1<span style="color: #000000;">.0</span><span style="color: #000000;">.0</span><span style="color: #000000;">.201004081743</span></pre>
<p><strong>Start</strong> the servlet by typing <em>start 47</em> (again, please use the bundle ID issued by <em>ss</em>).</p>
<p><strong>Open a webbrowser</strong> and navigate to ec2-xxx-xx-xx-xx.compute-1.amazonaws.com:8080/simple (the DNS address is the same you used to SSH to your instance) and you should see the servlet output:</p>
<pre class="bash">Hello from the cloud!</pre>
<h2>Conclusion</h2>
<p>In this post, you saw how easy it is to create an Amazon EC2 instance and deploy an OSGi-based servlet on it. With this knowledge, you can now start sky-diving into the joys of cloud computing. Have fun!</p>
<p>Most of this information has been taken from the <a href="http://wiki.eclipse.org/EclipseRT_for_Amazon_EC2">Eclipse Wiki</a>. You are encouraged to add your own tips &amp; tricks to this <a href="http://wiki.eclipse.org/EclipseRT_for_Amazon_EC2">wiki page</a>. All you need is an Eclipse Bugzilla account. Setting one up is easy, start <a href="https://bugs.eclipse.org/bugs/createaccount.cgi">here</a>.</p></div>
    </content>
    <updated>2010-04-15T23:04:09Z</updated>
    <category term="Eclipse"/>
    <category term="OSGi"/>
    <category term="Amazon EC2"/>
    <category term="J2EE"/>
    <category term="JEE"/>
    <author>
      <name>Peter Friese</name>
    </author>
    <source>
      <id>http://www.peterfriese.de</id>
      <link href="http://www.peterfriese.de/category/computer/java/eclipse/feed/" rel="self" type="application/atom+xml"/>
      <link href="http://www.peterfriese.de" rel="alternate" type="text/html"/>
      <subtitle>Xtext, DSLs, Eclipse, iPhone</subtitle>
      <title>Peter Friese » Eclipse</title>
      <updated>2010-06-09T06:14:36Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://epsilonblog.wordpress.com/?p=149</id>
    <link href="http://epsilonblog.wordpress.com/2010/04/15/epsilon-flock/" rel="alternate" type="text/html"/>
    <title>Epsilon Flock</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">We’ve just released Epsilon v0.8.9, which includes many improvements and bug fixes, as well as a new task-specific language, Epsilon Flock. Epsilon Flock is a model-to-model transformation language tailored for migrating models following changes to their metamodels. In some cases, specifying migration with existing model-to-model transformation languages can be cumbersome. For example, consider the ETL code [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=epsilonblog.wordpress.com&amp;blog=2097844&amp;post=149&amp;subd=epsilonblog&amp;ref=&amp;feed=1"/></div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>We’ve just released Epsilon v0.8.9, which includes many improvements and bug fixes, as well as a new task-specific language, Epsilon Flock. Epsilon Flock is a model-to-model transformation language tailored for migrating models following changes to their metamodels.</p>
<p>In some cases, specifying migration with existing model-to-model transformation languages can be cumbersome. For example, consider the ETL code below, for migrating Persons to a metamodel that has extracted a Telephone class:</p>
<pre><code>rule Person2Person
  transform old : Old!Person
  to        p   : New!Person  {

    p.name = old.name;
    p.address = old.address;
    p.gender = old.gender;
    p.dob = old.dob;

    p.telephoneNumber = new New!TelephoneNumber;
    p.telephoneNumber.areaCode = old.areaCode;
    p.telephoneNumber.number = old.number;
}</code></pre>
<p>In the transformation above, there is some redundancy. Firstly, model elements that have not been affected by the metamodel evolution (such as name, address, gender and dob), must be copied from old to new Persons. In Epsilon Flock, the values of these features are copied automatically. Secondly, the Person rule must define a source type and variable and a target type  and variable. In Epsilon Flock, migration rules are scoped to a single type, and two built-in variables (original and migrated) are used to access old and new Persons. The following Epsilon Flock code is equivalent to the ETL above:</p>
<pre><code>migrate Person {
    migrated.telephoneNumber = new Migrated!TelephoneNumber;
    migrated.telephoneNumber.areaCode = original.areaCode;
    migrated.telephoneNumber.number   = original.number;
}</code></pre>
<p>Epsilon Flock also provides concise mechanisms for changing the type of  and deleting model elements, and we have plans to enhance the language in future versions of Epsilon.</p>
<p>We’ve added to the Epsilon website documentation, an <a href="http://www.eclipse.org/gmt/epsilon/examples/index.php?example=org.eclipse.epsilon.examples.flock.petrinets" target="_blank" title="Flock example">example</a> and a <a href="http://www.eclipse.org/gmt/epsilon/cinema/#FlockPetrinets" target="_blank" title="Flock screencast">screencast</a> to help you get started with Epsilon Flock. There’s also a <a href="http://www.cs.york.ac.uk/ftpdir/reports/2010/YCS/450/YCS-2010-450.pdf">technical report</a>, which includes examples of Epsilon Flock for migrating a Petri nets model and a UML class diagram. The Epsilon Flock paper will appear at <a href="http://www.model-transformation.org/ICMT2010/" title="ICMT 2010">ICMT 2010</a> in late June. As always, please do leave questions and feedback in the <a href="http://www.eclipse.org/forums/index.php?t=thread&amp;frm_id=22">Epsilon Forum</a>, and we’ll get back to you.</p>
<br/>  <a href="http://feeds.wordpress.com/1.0/gocomments/epsilonblog.wordpress.com/149/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/epsilonblog.wordpress.com/149/"/></a> <a href="http://feeds.wordpress.com/1.0/godelicious/epsilonblog.wordpress.com/149/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/epsilonblog.wordpress.com/149/"/></a> <a href="http://feeds.wordpress.com/1.0/gostumble/epsilonblog.wordpress.com/149/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/epsilonblog.wordpress.com/149/"/></a> <a href="http://feeds.wordpress.com/1.0/godigg/epsilonblog.wordpress.com/149/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/epsilonblog.wordpress.com/149/"/></a> <a href="http://feeds.wordpress.com/1.0/goreddit/epsilonblog.wordpress.com/149/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/epsilonblog.wordpress.com/149/"/></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=epsilonblog.wordpress.com&amp;blog=2097844&amp;post=149&amp;subd=epsilonblog&amp;ref=&amp;feed=1"/></div>
    </content>
    <updated>2010-04-15T11:39:24Z</updated>
    <category term="Uncategorized"/>
    <author>
      <name>Louis Rose</name>
    </author>
    <source>
      <id>http://epsilonblog.wordpress.com</id>
      <logo>http://www.gravatar.com/blavatar/cb1a619b4d489ef5780b3b2543218f9e?s=96&amp;d=http://s2.wp.com/i/buttonw-com.png</logo>
      <link href="http://epsilonblog.wordpress.com/feed/?mrss=off" rel="self" type="application/atom+xml"/>
      <link href="http://epsilonblog.wordpress.com" rel="alternate" type="text/html"/>
      <link href="http://epsilonblog.wordpress.com/osd.xml" rel="search" type="application/opensearchdescription+xml"/>
      <link href="http://epsilonblog.wordpress.com/?pushpress=hub" rel="hub" type="text/html"/>
      <subtitle>... new and noteworthy in the Epsilon Eclipse GMT component</subtitle>
      <title>Epsilon Weblog</title>
      <updated>2010-06-09T06:53:02Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://dev.eclipse.org/blogs/seva/?p=76</id>
    <link href="http://dev.eclipse.org/blogs/seva/2010/04/15/phing-peclipse-pdt/" rel="alternate" type="text/html"/>
    <title>Phing plugin for Eclipse PDT</title>
    <summary>I love Ant integration into Eclipse JDT - it provides smart editor, handy  auto-completion, and the most important - fully functional debugger.
Recently I have been laboring on porting a deployment system from shell scripts to Phing, a loose PHP port of Ant. And naturally, I miss the above. The only aid I can get [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>I love <a href="http://ant.apache.org/">Ant</a> integration into Eclipse JDT - it provides smart editor, handy  auto-completion, and the most important - fully functional debugger.</p>
<p>Recently I have been laboring on porting a deployment system from shell scripts to <a href="http://phing.info/trac/">Phing</a>, a loose PHP port of <a href="http://ant.apache.org/">Ant</a>. And naturally, I miss the above. The only aid I can get from Eclipse is that Phing’s syntax is very close to Ant’s, so I can at use Ant editor for Phing files to enjoy property navigation and target integrity validation.</p>
<p>I would be more than happy to announce that I’m going to fill the gap and implement Phing plugin for Eclipse PDT, but unfortunately - I’m too busy and too lazy. On the other hand, if you, my dear friend, will suddenly decide to accept this challenge, I can gladly invest my time in architecture, design, review &amp; testing free of charge. <img alt=":)" class="wp-smiley" src="http://dev.eclipse.org/blogs/seva/wp-includes/images/smilies/icon_smile.gif"/> Or should I anyway try to start it myself?</p></div>
    </content>
    <updated>2010-04-14T22:29:15Z</updated>
    <category term="development"/>
    <category term="eclipse"/>
    <category term="future"/>
    <category term="integration"/>
    <category term="java"/>
    <category term="leisure"/>
    <category term="pdt"/>
    <category term="php"/>
    <category term="software"/>
    <category term="thought"/>
    <author>
      <name>Seva Lapsha</name>
    </author>
    <source>
      <id>http://dev.eclipse.org/blogs/seva</id>
      <link href="http://dev.eclipse.org/blogs/seva/feed" rel="self" type="application/atom+xml"/>
      <link href="http://dev.eclipse.org/blogs/seva" rel="alternate" type="text/html"/>
      <subtitle>Seva Lapsha working on Eclipse PDT project</subtitle>
      <title>Seva at Eclipse</title>
      <updated>2010-04-14T22:32:14Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://dev.eclipse.org/blogs/seva/?p=74</id>
    <link href="http://dev.eclipse.org/blogs/seva/2010/04/15/heart-touching-quotation/" rel="alternate" type="text/html"/>
    <title>Heart-Touching Quotation</title>
    <summary>…When I was going to school we were always taught, “In the olden  days of computing, computers were expensive and programmers were cheap.  Now it’s the reverse. Therefore…” We are back to the future. At  internet scale, programmers are (sometimes) cheap compared to the cost  of electricity.
Kent Beck</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p><em>…When I was going to school we were always taught, “In the olden  days of computing, computers were expensive and programmers were cheap.  Now it’s the reverse. Therefore…” We are back to the future. At  internet scale, programmers are (sometimes) cheap compared to the cost  of electricity.</em></p>
<p>Kent Beck</p></div>
    </content>
    <updated>2010-04-14T22:08:30Z</updated>
    <category term="development"/>
    <category term="future"/>
    <category term="hardware"/>
    <category term="past"/>
    <category term="software"/>
    <category term="thought"/>
    <category term="web"/>
    <author>
      <name>Seva Lapsha</name>
    </author>
    <source>
      <id>http://dev.eclipse.org/blogs/seva</id>
      <link href="http://dev.eclipse.org/blogs/seva/feed" rel="self" type="application/atom+xml"/>
      <link href="http://dev.eclipse.org/blogs/seva" rel="alternate" type="text/html"/>
      <subtitle>Seva Lapsha working on Eclipse PDT project</subtitle>
      <title>Seva at Eclipse</title>
      <updated>2010-04-14T22:32:14Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://dev.eclipse.org/blogs/wayne/?p=1002</id>
    <link href="http://dev.eclipse.org/blogs/wayne/2010/04/12/be-nice/" rel="alternate" type="text/html"/>
    <title>Be nice</title>
    <summary>This happens with disturbing frequency…
An Eclipse user is frustrated. S/he been trying to make something work for a few hours. Maybe even a few days. It’s just not working like s/he thinks it should be. Finally, s/he decides to send me a note. In that note, s/he questions my parentage, or muses openly about whether [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>This happens with disturbing frequency…</p>
<blockquote><p>An Eclipse user is frustrated. S/he been trying to make something work for a few hours. Maybe even a few days. It’s just not working like s/he thinks it should be. Finally, s/he decides to send me a note. In that note, s/he questions my parentage, or muses openly about whether or not the synapses in my brain where functioning properly when I decided how I was going to implement some API or feature in Eclipse. In short, in frustration, s/he writes a nasty note with an underlying question or two about how something is supposed to work in Eclipse. In my response, I am nice. I completely ignore the nastiness and focus entirely on the problem expressed. I understand that the sender is frustrated. I always try very hard to answer questions earnestly and provide pointers to more information. Some hours later, I get a much more nicely worded note back thanking me for my thoughtful response along with an apology for the earlier rudeness. In that final response, the obvious frustration is replaced with obvious embarrassment.</p></blockquote>
<p>Frankly, you don’t have to be nice when you email me. I’m going to be nice in my response regardless. However, I think it’s better for all involved if you are nice. It’ll save you from being embarrassed later.</p>
<p>General rule: take a deep cleansing breath before you type that email. More importantly, don’t wait until you’re frustrated. If you just don’t get it, and Google isn’t helping, try the <a href="http://www.eclipse.org/forums">forums</a>. Then try me.</p>
<p>FWIW, my parents are both fine, upstanding, and productive members of society who have dedicated their lives to public service.</p></div>
    </content>
    <updated>2010-04-12T13:48:34Z</updated>
    <category term="Community"/>
    <category term="Eclipse 101"/>
    <author>
      <name>Wayne Beaton</name>
    </author>
    <source>
      <id>http://dev.eclipse.org/blogs/wayne</id>
      <link href="http://dev.eclipse.org/blogs/wayne/feed" rel="self" type="application/atom+xml"/>
      <link href="http://dev.eclipse.org/blogs/wayne" rel="alternate" type="text/html"/>
      <subtitle>Wayne Beaton's blog about Eclipse.</subtitle>
      <title>Eclipse hints, tips, and random musings</title>
      <updated>2010-05-25T15:16:46Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-7669578527628084045.post-7366409299000673208</id>
    <link href="http://eclipselink.blogspot.com/feeds/7366409299000673208/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=7669578527628084045&amp;postID=7366409299000673208" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/7669578527628084045/posts/default/7366409299000673208" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/7669578527628084045/posts/default/7366409299000673208" rel="self" type="application/atom+xml"/>
    <link href="http://eclipselink.blogspot.com/2010/04/eclipselink-summit-2010.html" rel="alternate" type="text/html"/>
    <title>EclipseLink Summit 2010</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">In an effort to increase the community of committers and contributors with in-depth knowledge of EclipseLink we have decided to host a 3-day Summit. The goal of this Summit will be to exchange detailed technical information and discuss future direction for the project and its persistence services. <br/><br/>All interested parties are welcome to participate.<br/><br/>More info on Summit is available <a href="http://wiki.eclipse.org/EclipseLink/Development/Summit">here</a>.<br/><br/>Doug<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/7669578527628084045-7366409299000673208?l=eclipselink.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2010-04-09T13:40:16Z</updated>
    <published>2010-04-09T13:36:00Z</published>
    <author>
      <name>Doug</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/02383574560699818383</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-7669578527628084045</id>
      <author>
        <name>Doug</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/02383574560699818383</uri>
      </author>
      <link href="http://eclipselink.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/7669578527628084045/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://eclipselink.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://www.blogger.com/feeds/7669578527628084045/posts/default?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <subtitle>Team blog of the Eclipse Persistence Services Project (EclipseLink) committers.</subtitle>
      <title>EclipseLink Team Blog</title>
      <updated>2010-06-08T22:25:18Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://manuelselva.wordpress.com/?p=313</id>
    <link href="http://manuelselva.wordpress.com/2010/04/09/effective-java-2nd-edition-builder-pattern-in-eclipse/" rel="alternate" type="text/html"/>
    <title>Effective Java 2nd Edition – Builder Pattern in Eclipse</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Hi there, It’s been a long time since I didn’t post here and guess what … I am posting to ask some help !!! I sometime use the Builder pattern as defined in Effective Java 2nd Edition item 2. Incidentally, I recommend this book to everybody writing Java code. Because I am a lazy man, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=manuelselva.wordpress.com&amp;blog=2529905&amp;post=313&amp;subd=manuelselva&amp;ref=&amp;feed=1"/></div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Hi there,</p>
<p>It’s been a long time since I didn’t post here and guess what … I am posting to ask some help !!!</p>
<p>I sometime use the Builder pattern as defined in <a href="http://java.sun.com/docs/books/effective/">Effective Java 2nd Edition</a> item 2. Incidentally, I recommend this book to everybody writing Java code. Because I am a lazy man, I love JDT’s Java templates and will be really happy to have such a template for the builder pattern.</p>
<p>Let’s take the following example of Builder in order to illustrate this post (I just pasted 3 of the many parameters of the circle renderer class for readability):</p>
<pre class="brush: java;">public class XYPointCircleRenderer extends AbstractPointRenderer {

	/**
	 * Builder class for {@link XYPointCircleRenderer}.
	 */
	public static class Builder {

		private boolean bordered = false;

		private final int radius;

		private boolean tooltipable = true;

		/**
		 * Construct a new Builder with the given radius.
		 *
		 * @param radius
		 *            the radius of the circle. Must be &gt; 0.
		 * @throws IllegalArgumentException
		 *             if radius &lt;= 0
		 */
		public Builder(int radius) {
			if (radius &lt;= 0) {
				throw new IllegalArgumentException(
						"radius must be greater than 0");
			}
			this.radius = radius;
		}

		/**
		 * Set the bordered value of this builder.
		 *
		 * @param val
		 *            the bordered value
		 * @return this for convenience
		 */
		public Builder bordered(boolean val) {
			bordered = val;
			return this;
		}

		/**
		 * Return a new {@link XYPointCircleRenderer}.
		 *
		 * @return a new {@link XYPointCircleRenderer}
		 */
		public XYPointCircleRenderer build() {
			return new XYPointCircleRenderer(this);
		}

		/**
		 * Sets the tooltipable value of this builder.
		 *
		 * @param val
		 *            the tooltipable value
		 * @return this for convenience
		 */
		public Builder tooltipable(boolean val) {
			tooltipable = val;
			return this;
		}
	}

	/**
	 * The circle's diameter.
	 */
	private final int diam;

	/**
	 * The circle's radius.
	 */
	private final int radius;

	/**
	 * Private constructor use by Builder.
	 *
	 * @param builder
	 *            the builder to use to set this attributes.
	 */
	private XYPointCircleRenderer(Builder builder) {
		super(builder.bordered, builder.tooltipable);
		radius = builder.radius;
		diam = 2 * radius;
	}

    @Override
	public ChartElement paintPoint(int x, int y, GC gc) {
		gc.fillOval(x-radius, y-radius, diameter, diam);
		if (bordered) {
			gc.drawOval(x-radius, y-radius, diam, diam);
		}
		if (tooltipable) {
            rect = new Rectangle(x-radius,y-radius,diam,diam);
			return new RectChartEleme(null, rect);
		} else {
			return null;
		}
	}
}
</pre>
<p>I would like to create a builder template “asking for questions to the user”. I.e the builder template should ask the end user what are the required fields of the enclosing class, and what are the default values of non required fields. Is it possible to do that ? If yes, where can I get information to start ?</p>
<p><strong><em>Note:</em></strong> I often use eclipse “equals and hashcode” generator, and I guess it’s implemented by Java code. Thus the only solution to my problem is may be to implement my Builder generator the same way ….</p>
<p>Manu</p>
<br/>  <a href="http://feeds.wordpress.com/1.0/gocomments/manuelselva.wordpress.com/313/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/manuelselva.wordpress.com/313/"/></a> <a href="http://feeds.wordpress.com/1.0/godelicious/manuelselva.wordpress.com/313/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/manuelselva.wordpress.com/313/"/></a> <a href="http://feeds.wordpress.com/1.0/gostumble/manuelselva.wordpress.com/313/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/manuelselva.wordpress.com/313/"/></a> <a href="http://feeds.wordpress.com/1.0/godigg/manuelselva.wordpress.com/313/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/manuelselva.wordpress.com/313/"/></a> <a href="http://feeds.wordpress.com/1.0/goreddit/manuelselva.wordpress.com/313/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/manuelselva.wordpress.com/313/"/></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=manuelselva.wordpress.com&amp;blog=2529905&amp;post=313&amp;subd=manuelselva&amp;ref=&amp;feed=1"/></div>
    </content>
    <updated>2010-04-09T11:27:48Z</updated>
    <category term="Eclipse Misc"/>
    <category term="Java"/>
    <category term="Builder Pattern"/>
    <category term="eclipse"/>
    <author>
      <name>Manuel</name>
    </author>
    <source>
      <id>http://manuelselva.wordpress.com</id>
      <logo>http://www.gravatar.com/blavatar/60cb836544be073a7a6b22db9662a9d0?s=96&amp;d=http://s2.wp.com/i/buttonw-com.png</logo>
      <link href="http://manuelselva.wordpress.com/feed/?mrss=off" rel="self" type="application/atom+xml"/>
      <link href="http://manuelselva.wordpress.com" rel="alternate" type="text/html"/>
      <link href="http://manuelselva.wordpress.com/osd.xml" rel="search" type="application/opensearchdescription+xml"/>
      <link href="http://manuelselva.wordpress.com/?pushpress=hub" rel="hub" type="text/html"/>
      <subtitle>My Eclipse Experiences</subtitle>
      <title>Manuel Selva's Eclipse blog</title>
      <updated>2010-04-27T13:55:19Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-5228580140566195617.post-8722558936701084092</id>
    <link href="http://flymewiththeeclipseway.blogspot.com/feeds/8722558936701084092/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=5228580140566195617&amp;postID=8722558936701084092" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/5228580140566195617/posts/default/8722558936701084092" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/5228580140566195617/posts/default/8722558936701084092" rel="self" type="application/atom+xml"/>
    <link href="http://flymewiththeeclipseway.blogspot.com/2010/04/where-is-ds-annotation.html" rel="alternate" type="text/html"/>
    <title>Where is DS Annotation?</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">I used Declarative Service in my application, JAM Circle.<br/>Declarative Service is cool stuff.<br/>It makes to solve bundles startup order.<br/>But I confused a thing.<br/>How do I inject the service at startup time?<br/>I think services needs to initialize at startup.<br/>So I choosed the way to solve by singleton class like below.<br/><br/>scr.xml<br/>&lt;?xml version="1.0" encoding="UTF-8"?&gt;<br/>&lt;scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.kompiro.jamcircle.kanban.ui.KanbanUIContext"&gt;<br/>   &lt;implementation class="org.kompiro.jamcircle.kanban.ui.KanbanUIContext"/&gt;<br/>   &lt;reference bind="setKanbanService" cardinality="1..1" interface="org.kompiro.jamcircle.kanban.service.KanbanService" name="KanbanService" policy="static"/&gt;<br/>   &lt;reference bind="setScriptingService" cardinality="1..1" interface="org.kompiro.jamcircle.scripting.ScriptingService" name="ScriptingService" policy="static"/&gt;<br/>&lt;/scr:component&gt;<br/><br/>and implementation of Context class(The name inspired from "ApplicationContext")<br/><pre><br/>package org.kompiro.jamcircle.kanban.ui;<br/><br/>import org.kompiro.jamcircle.kanban.service.KanbanService;<br/>import org.kompiro.jamcircle.scripting.ScriptingService;<br/><br/>public class KanbanUIContext {<br/><br/>private static KanbanUIContext context;<br/>private KanbanService kanbanService;<br/>private ScriptingService scriptingService;<br/><br/>public KanbanUIContext() {<br/>KanbanUIContext.context = this;<br/>}<br/><br/>public static KanbanUIContext getDefault(){<br/>return context;<br/>}<br/><br/>public KanbanService getKanbanService() {<br/>return kanbanService;<br/>}<br/><br/>public void setKanbanService(KanbanService kanbanService) {<br/>this.kanbanService = kanbanService;<br/>}<br/><br/>public ScriptingService getScriptingService() {<br/>return scriptingService;<br/>}<br/><br/>public void setScriptingService(ScriptingService scriptService) {<br/>this.scriptingService = scriptService;<br/>}<br/><br/>}<br/></pre><br/><br/>It's not good way(T_T)... KanbanUIContext is a singleton class and be used to call ServiceLocator Pattern. It is not easy to test by code...<br/>I haven't know there is no way to inject to use annotation for field injection.<br/>Is there any way to use annotation and field injection?<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/5228580140566195617-8722558936701084092?l=flymewiththeeclipseway.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2010-04-07T16:21:50Z</updated>
    <published>2010-04-07T16:04:00Z</published>
    <author>
      <name>Hiroki Kondo(kompiro)</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/10730042929073818285</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-5228580140566195617</id>
      <author>
        <name>Hiroki Kondo(kompiro)</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/10730042929073818285</uri>
      </author>
      <link href="http://flymewiththeeclipseway.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/5228580140566195617/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://flymewiththeeclipseway.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>I love to develop Eclipse RCP.There are many dreams.What a extensible environment is it?</subtitle>
      <title>Fly me to the Helios</title>
      <updated>2010-05-28T05:09:17Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://dev.eclipse.org/blogs/mike/?p=244</id>
    <link href="http://dev.eclipse.org/blogs/mike/2010/04/06/epl-gpl-commentary/" rel="alternate" type="text/html"/>
    <title>EPL/GPL Commentary</title>
    <summary>A while ago, we received a request to take a look at an open letter on the compatibility of the Eclipse Public License (EPL) and the GNU General Public License (GPL). This led to a number of conversations with the Free Software Foundation (FSF) on the topic. What we have learned and the conclusions that [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>A while ago, we received a request to take a look at an <a href="http://jgrass.wiki.software.bz.it/jgrass/Open_letter_to_the_fSFEurope">open letter</a> on the compatibility of the Eclipse Public License (<a href="http://www.eclipse.org/org/documents/epl-v10.php">EPL</a>) and the GNU General Public License (<a href="http://www.fsf.org/licensing/licenses/gpl.html">GPL</a>). This led to a number of conversations with the Free Software Foundation (<a href="http://www.fsf.org/">FSF</a>) on the topic. What we have learned and the conclusions that we have drawn are outlined below. You can also find the FSF’s <a href="http://www.fsf.org/blogs/licensing/using-the-gpl-for-eclipse-plug-ins">summary and conclusions</a> on their blog.</p>
<p>1. Introduction</p>
<p>In this context by “Eclipse plug-in” we mean a software module written in the Java programming language which is specifically intended to execute on top of the Eclipse platform which is provided under the Eclipse Public License (EPL). Eclipse plug-ins can be distributed in two different ways: (a) combined (e.g linked) with a copy of the Eclipse Platform, or (b) independently. In the latter case, such a plug-in would have to be combined by a user with the Eclipse platform in order to be executed. In short, Eclipse plug-ins are by definition useless without the availability of an instance of the Eclipse platform to be executed on.</p>
<p>2. Caveats</p>
<p>This blog post is not a substitute for professional legal advice. It is intended to provide general guidance to developers, but it was not prepared by an attorney nor is it in any way legal advice. </p>
<p>3. Generally Speaking, These Licenses Are Incompatible</p>
<p>The EPL and the GPL are <a href="http://www.eclipse.org/legal/eplfaq.php#GPLCOMPATIBLE">inherently incompatible</a> licenses. That is the position of both the Free Software Foundation and the Eclipse Foundation. In preparing this we consulted with the FSF to make sure we fully understood their interpretation of the GPL and how it interacts with the EPL. You may not link GPL and EPL code together and distribute the result. It doesn’t matter if the linking is dynamic, static or whatever. This bears repeating: <em>if you or your organization are distributing EPL and GPL licensed code linked together into a single program you are almost certainly violating both the EPL and the GPL.</em> </p>
<p>It is important that to understand the importance of linking in this discussion. If the EPL and GPL components interact with each other via pipes, sockets, etc. or if Eclipse is simply running as an application on top of GNU Linux then that is a completely different scenario and outside the scope of this analysis. The Eclipse CDT project for example makes use of gcc and gdb in its support of C/C++ development by restricting its interactions with those GPL-licensed facilities to the command line interface.</p>
<p>Note, however, that as free software proponents both of our organizations are interested in the freedom of users to make use of software. It may be possible for end users to create combinations of plug-ins where that same combination could not be lawfully distributed as a single program to third parties. The rest of this paper will look at this possibility and how such plug-ins could be distributed and assembled by end users.</p>
<p>It is the position of the Eclipse Foundation that the EPL is the preferred open source license for you to use for your Eclipse plug-ins. After all, the platform that you are leveraging when writing such a plug-in was provided to you under the EPL. </p>
<p>4. The EPL Perspective</p>
<p>The definition of “Contribution” in the EPL states that “Contributions do not include additions to the Program which: (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program” (emphasis added). Further, we <a href="http://www.eclipse.org/legal/eplfaq.php#DERIV">make</a> it <a href="http://www.eclipse.org/legal/eplfaq.php#EXAMPLE">clear</a> in the <a href="http://www.eclipse.org/legal/eplfaq.php">EPL FAQ</a> that simply linking to EPL does not constitute a derivative work. So, in other words, if you independently write an Eclipse plug-in that adds value on top of the Eclipse platform you are not required to license it under the EPL. In fact, many such plug-ins are licensed under commercial terms and conditions, as well as various open source licenses.</p>
<p>Under the terms of the EPL, it appears that it may be possible to license plug-ins under the GPL. What is clear, however, is that it is not possible to link a GPL-licensed plug-in to an EPL-licensed code and distribute the result. Any GPL-licensed plug-in would have to be distributed independently and combined with the Eclipse platform by an end user. This is why, for example, the Eclipse Foundation has allowed the independent distribution of GPL-licensed plug-ins via our <a href="http://marketplace.eclipse.org/">Eclipse Marketplace</a>.</p>
<p>5. The GPL Perspective</p>
<p>The <a href="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html">GPLv2</a> is somewhat ambiguous on this topic, but the <a href="http://www.gnu.org/licenses/old-licenses/gpl-2.0-faq.html">GPLv2 FAQ</a> clarifies the position of the FSF. Under the heading <a href="http://www.gnu.org/licenses/old-licenses/gpl-2.0-faq.html#MereAggregation">“What is the difference between “mere aggregation” and “combining two modules into one program”?”</a> they state that “If modules are designed to run linked together in a shared address space, that almost surely means combining them into one program.” A similar analysis holds true for the GPLv3 which you can see in the GPL FAQ under the heading <a href="http://www.fsf.org/licensing/licenses/gpl-faq.html#GPLIncompatibleLibs">“What legal issues come up if I use GPL-incompatible libraries with GPL software?”</a>. In other words, it appears that it is the position of the FSF that since your plug-in was designed to run on top of the Eclipse platform it doesn’t matter if they’re distributed separately: the GPL should not be used for licensing Eclipse plug-ins.</p>
<p>If you or your organization owns all of the copyrights to the plug-in(s) in question, there is one mechanism which may provide a solution to this dilemma. That is to create a <a href="http://www.fsf.org/licensing/licenses/gpl-faq.html#GPLIncompatibleLibs">license exception</a> which specifically allows linking to EPL-licensed code. However, if you do not own all of the copyrights to your GPL-licensed plug-in or other GPL-licensed libraries used by your plug-in then this issue remains.</p>
<p>The FSF’s position is, however, a matter of some debate. It is clear that they prefer that Eclipse plug-ins not be licensed under the GPL. But in the same section of the FAQ they also say that “This is a legal question, which ultimately judges will decide”. It is important that you seek your own competent legal advice if this situation applies to you or your organization.</p>
<p>6. Summary</p>
<p>Choosing to license an Eclipse plug-in under either version of the GPL places important constraints on how you distribute that plug-in. The purpose of this blog post is to provide developers with some general guidance on those constraints and the requirements placed on them to conform with the terms and conditions of both the EPL and the GPL. But this post was not prepared by an attorney nor is it in any way legal advice. Seek the advice of your own attorney.</p></div>
    </content>
    <updated>2010-04-06T13:15:58Z</updated>
    <category term="Foundation"/>
    <category term="Open Source"/>
    <author>
      <name>Mike Milinkovich</name>
    </author>
    <source>
      <id>http://dev.eclipse.org/blogs/mike</id>
      <link href="http://dev.eclipse.org/blogs/mike/feed" rel="self" type="application/atom+xml"/>
      <link href="http://dev.eclipse.org/blogs/mike" rel="alternate" type="text/html"/>
      <subtitle>Musings on the Eclipse Foundation, the community and the ecosystem</subtitle>
      <title>Life at Eclipse</title>
      <updated>2010-05-13T17:42:48Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-1495223311988358528.post-2110857575140126758</id>
    <link href="http://koehnlein.blogspot.com/feeds/2110857575140126758/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=1495223311988358528&amp;postID=2110857575140126758" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/1495223311988358528/posts/default/2110857575140126758" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/1495223311988358528/posts/default/2110857575140126758" rel="self" type="application/atom+xml"/>
    <link href="http://koehnlein.blogspot.com/2010/03/xtext-for-your-ecore-models.html" rel="alternate" type="text/html"/>
    <title>Xtext For Your Ecore Models</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">The new M6 release of Xtext ships with a new component: The <span style="font-style: italic;">Ecore2Xtext</span> <span style="font-style: italic;">Wizard</span>.<br/><span style="font-size: 100%;"><br/><span style="font-weight: bold;">Why should you use the </span></span><span style="font-style: italic; font-weight: bold; font-size: 100%;">Ecore2Xtext Wizard</span><span style="font-weight: bold; font-size: 100%;">?</span><br/><ul><li>You want your models to be in a syntax that humans can not only read but also understand.</li><li>You want a model editor that offers all the convenience of a modern IDE.</li><li>You already have an Ecore model but don't know how to start with Xtext.</li><li>Your Ecore model is huge and you want a quick start with Xtext. You can easily fine-tune the syntax later on.</li></ul><span style="font-weight: bold;">How do you use it?</span><br/><ol><li>Start the wizard by choosing <span style="font-style: italic;">New -&gt; Xtext -&gt; Xtext Project From Existing Ecore Models</span>.</li><li>Select the EMF generator models<a href="http://www.blogger.com/post-create.g?blogID=1495223311988358528#footnote"><sup>1</sup></a> from your workspace for which you want a textual syntax and choose your root element's type.</li><li>Fill in all the language metadata on the second page of the wizard. Remember the file extension.</li><li>Click <span style="font-style: italic;">Finish</span> and wait until Xtext has generated the two common Xtext plug-ins and the Xtext grammar for your language.</li><li>Run the MWE2 workflow located in the same directory as the grammar. Now Xtext generates the language infrastructure (parser, editor, formatter etc) .</li><li>Spawn a new Eclipse runtime workbench, create a sample<span style="font-style: italic;"> Java Project</span>, and open a new model file with the file extension you have chosen in the wizard. Play around and have fun with your new textual model editor.</li></ol><a name="footnote"><sup>1</sup></a> the genmodel is needed because we  need the fully qualified names of the generated Java classes as well as  the location of the Ecore file. The genmodel offers both of them.<br/><br/>Watch this short screencast to see it in action:<br/><br/><br/><br/><span style="font-weight: bold;">What is the generated syntax like?</span><br/><br/>Names of EClasses and EStructuralFeatures become keywords, containment is marked with curly braces, elements in lists are separated by commas, etc... Here's an example of an entity model in the generated language:<br/><br/><a href="http://2.bp.blogspot.com/_Iv16ZiqDyCA/S7Nq_AckGxI/AAAAAAAAACw/qevKp3XjyUo/s1600/Bildschirmfoto+2010-03-31+um+17.30.57.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5454821204359912210" src="http://2.bp.blogspot.com/_Iv16ZiqDyCA/S7Nq_AckGxI/AAAAAAAAACw/qevKp3XjyUo/s200/Bildschirmfoto+2010-03-31+um+17.30.57.png" style="margin: 0pt 0pt 10px 10px; cursor: pointer; width: 200px; height: 176px;"/></a><br/><br/><span style="font-weight: bold;">What if it doesn't work?</span><br/><br/>The grammar is the primary artifact of every Xtext language, but there are a couple of further services you might have to configure:<br/><ul><li>A IQualifiedNameProvider to define how the fully qualified name of an element is derived.</li><li>A IScopeProvider to define which elements are candidates for a cross reference.</li><li>...</li></ul>Please consult the Xtext documentation for more information.<br/><br/><span style="font-weight: bold;">Another geekish meta-confusing example</span><br/><br/>All right geeks, Ecore itself is defined in Ecore, so let's generate a textual syntax for Ecore and see how Ecore looks in that syntax! Only two adaptions of the generated code where necessary to get this editor:<br/><br/><div style="text-align: left;"><a href="http://3.bp.blogspot.com/_Iv16ZiqDyCA/S7N1L69S6RI/AAAAAAAAADA/uy1bgAWOb5g/s1600/Bildschirmfoto+2010-03-31+um+18.14.54.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5454832421341161746" src="http://3.bp.blogspot.com/_Iv16ZiqDyCA/S7N1L69S6RI/AAAAAAAAADA/uy1bgAWOb5g/s200/Bildschirmfoto+2010-03-31+um+18.14.54.png" style="cursor: pointer; width: 200px; height: 190px;"/></a><br/><br/>(The '^' chars are automatically added by Xtext to distinguish identifiers from keywords, which of course collide a lot in this example) It is certainly not as complete as <a href="http://www.eclipse.org/modeling/emft/?project=emfatic">EMFatic</a>, and it has a quite verbose syntax, but it could be the starting point for a nice textual Ecore editor.<br/></div><a name="footnote"/><div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/1495223311988358528-2110857575140126758?l=koehnlein.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2010-03-31T16:26:47Z</updated>
    <published>2010-03-31T14:44:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="EMF"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="Eclipse"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="DSL"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="Xtext"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="EMFatic"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="Ecore"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="Modeling"/>
    <author>
      <name>Jan Köhnlein</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/02520748795681285494</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-1495223311988358528</id>
      <author>
        <name>Jan Köhnlein</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/02520748795681285494</uri>
      </author>
      <link href="http://koehnlein.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/1495223311988358528/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://koehnlein.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://www.blogger.com/feeds/1495223311988358528/posts/default?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <title>Jan's Blog</title>
      <updated>2010-06-08T12:54:40Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-7742435659113733626.post-7560903840662316881</id>
    <link href="http://nokiacarbideoneclipse.blogspot.com/feeds/7560903840662316881/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=7742435659113733626&amp;postID=7560903840662316881" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/7742435659113733626/posts/default/7560903840662316881" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/7742435659113733626/posts/default/7560903840662316881" rel="self" type="application/atom+xml"/>
    <link href="http://nokiacarbideoneclipse.blogspot.com/2010/03/carbide-cdt-edc-at-eclipsecon-2010.html" rel="alternate" type="text/html"/>
    <title>Carbide, CDT &amp; EDC at EclipseCon 2010</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Had a great time at <a href="http://www.eclipsecon.org/2010/">EclipseCon</a> in Santa Clara last week. Some highlights:<br/><br/><div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/_8MzFF6b5axY/S7J5tmPezYI/AAAAAAAAAS4/RnHTGELfpdQ/s1600/snacks.jpg" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="174" src="http://1.bp.blogspot.com/_8MzFF6b5axY/S7J5tmPezYI/AAAAAAAAAS4/RnHTGELfpdQ/s200/snacks.jpg" width="200"/></a></div> Face time with our colleagues from Nokia, the Symbian Foundation, Eclipse and CDT communities. Ronnie King, Warren Paul, and I came from the Austin office and had a great time catching up with people we usually don't get to see in person very often. I <a href="http://nokiacarbideoneclipse.blogspot.com/2009/03/not-going-to-eclipsecon.html">missed EclipseCon last year</a> but I heard attendance was up and organizations were able to send more people this time.<br/><br/>I really liked the session format: the reduced times  seemed to really focus the presentations and kept a wide variety of  material flowing throughout the day. I know the <a href="http://www.eclipsecon.org/2010/sessions?id=1201">CDT session</a>  Doug and I did seemed to fly by quickly.<br/><br/>Had a great response to the new EDC (Eclipse Debugger for C/C++) that will be in Carbide 3.0 and our team is contributing to CDT 7.0. People liked the overall concept, features, and extensibility and I think we'll soon start seeing more contributions from the community.<br/><br/>Lots of discussions about usability and performance, both very important to us for Carbide. There is new work going on in the Eclipse &amp; CDT communities that will help us smooth out some rough spots our Carbide users have had to put up with.<br/><br/>Visiting developers at the Nokia office in Mt. View. We love getting to shadow developers around and watch them work. Great unfiltered feedback. We had a chance to introduce them to some features in Carbide they didn't know about and help them through some difficult issues that are tough to understand unless you can look over the person's shoulder.<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/7742435659113733626-7560903840662316881?l=nokiacarbideoneclipse.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2010-03-30T22:24:44Z</updated>
    <published>2010-03-30T22:24:00Z</published>
    <author>
      <name>Ken Ryall</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/13632672249607934353</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-7742435659113733626</id>
      <author>
        <name>Ken Ryall</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/13632672249607934353</uri>
      </author>
      <link href="http://nokiacarbideoneclipse.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/7742435659113733626/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://nokiacarbideoneclipse.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://www.blogger.com/feeds/7742435659113733626/posts/default?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <subtitle>Building Nokia's C++ tools on Eclipse</subtitle>
      <title>Nokia Carbide.c++ on Eclipse</title>
      <updated>2010-04-22T13:42:58Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-12783252.post-2486048561153893815</id>
    <link href="http://eclipse-projects.blogspot.com/feeds/2486048561153893815/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=12783252&amp;postID=2486048561153893815" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/12783252/posts/default/2486048561153893815" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/12783252/posts/default/2486048561153893815" rel="self" type="application/atom+xml"/>
    <link href="http://eclipse-projects.blogspot.com/2010/03/startup-lessons-learned.html" rel="alternate" type="text/html"/>
    <title>Startup Lessons Learned</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">EclipseCon 2010 is over but don't despair, you don't have to wait a year for another great conference: entrepreneurial Eclipse people will probably want to consider the <a href="http://www.sllconf.com/">Startup Lessons Learned conference</a>. From <a href="http://www.startuplessonslearned.com/2010/03/startup-lessons-learned-conference.html">Eric Reis's blog</a>:<br/><blockquote>The Startup Lessons Learned Conference is by-and-for entrepreneurs, and  only entrepreneurs. We have a lineup of speakers who are primarily  active practitioners of the lean startup methodology. They'll be  speaking about their real-life experiences trying to put these ideas  into practice.<br/></blockquote>San Francisco (the center of the web) - April 23<sup>rd</sup>.<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/12783252-2486048561153893815?l=eclipse-projects.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2010-03-29T13:00:09Z</updated>
    <published>2010-03-29T13:00:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="planet-eclipse"/>
    <author>
      <name>Bjorn Freeman-Benson</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/12380007655974891303</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-12783252</id>
      <author>
        <name>Bjorn Freeman-Benson</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/12380007655974891303</uri>
      </author>
      <link href="http://eclipse-projects.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/12783252/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://eclipse-projects.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://www.blogger.com/feeds/12783252/posts/default?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <subtitle>It's About More Than Just Code, But How Much More?</subtitle>
      <title>Open Source at Eclipse</title>
      <updated>2010-06-07T18:58:36Z</updated>
    </source>
  </entry>

  <entry>
    <id>http://in.relation.to/Bloggers/JBossDeveloperStudio3</id>
    <link href="http://in.relation.to/Bloggers/JBossDeveloperStudio3" rel="alternate" type="text/html"/>
    <title>JBoss Developer Studio 3</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p class="wikiPara">
During <a href="http://in.relation.to/Bloggers/RedHatJBossAndNowChrisAniszczykAtEclipseCon2010">EclipseCon</a> we released <a href="http://devstudio.jboss.com/">JBoss Developer Studio 3</a>
</p>

<div align="center">
[Embedded Image]
</div>

<p class="wikiPara">
JBoss Developer Studio provides a single-install of a full Eclipse based development environment which includes Eclipse 3.5, productized <a href="https://community.jboss.org/wiki/JBossToolsvsDeveloperStudio">subset of JBoss Tools 3.1</a>, TestNG, SpringIDE and an (optional) bundled JBoss Enterprise Application Platform 5.
</p>

<p class="wikiPara">
JBoss Developer Studio is for those who would like to just install and IDE and get work done without the hassle of configuring Eclipse and related runtimes.
</p>

<p class="wikiPara">
If you are into JBoss SOA, Portal or the Enterprise Webserver platforms JBoss Developer Studio 3 supports these too and the <a href="http://devstudio.jboss.com/JBDS-PE-3.0.html">JBoss Developer Studio Portfolio Edition</a> product gives you access to these.
</p>

<p class="wikiPara">
Information about installation and migration from previous JBoss Developer Studio versions are available from <a href="http://devstudio.jboss.com/">JBoss Developer Studio 3</a> page.
</p>

<p class="wikiPara">
Have fun!
</p></div>
    </summary>
    <updated>2010-03-25T23:41:57Z</updated>
    <published>2010-03-25T23:41:57Z</published>
    <author>
      <name>Max Andersen</name>
    </author>
    <source>
      <id>http://in.relation.to/servlets/feeds/atom.seam?feedId=2088</id>
      <author>
        <name>Max Andersen</name>
      </author>
      <link href="http://in.relation.to/Bloggers/Max" rel="alternate" type="text/html"/>
      <link href="http://in.relation.to/service/Feed/atom/Area/Bloggers/Node/Max/Comments/exclude/Tag/Eclipse" rel="self" type="application/atom+xml"/>
      <title>In Relation To - Max - Tag 'Eclipse'</title>
      <updated>2010-03-27T07:55:14Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-8283236336803140851.post-5460870764616355479</id>
    <link href="http://metabubble.blogspot.com/2010/03/getting-real.html" rel="alternate" type="text/html"/>
    <title>getting real</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><span style="font-weight: bold;">short article (3o seconds read time)</span><br/><br/><img align="left" hspace="5" src="http://ecx.images-amazon.com/images/I/31jvYr2h6GL._SL500_AA300_.jpg" vspace="10"/>I just completed the <a href="http://www.amazon.com/Getting-Real-smarter-successful-application/dp/0578012812/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1269550851&amp;sr=1-1">book "getting real"</a>. The book promises a smarter, faster, easier way to build successful web applications, written by <a href="http://37signals.com/">37signals</a>, the group that brought us <a href="http://www.rubyonrails.org/">"ruby on rails"</a>. It is a book about web app design, covering the development process from idea (over marketing) to support. The proposed approach is <a href="http://en.wikipedia.org/wiki/Agile_software_development">agile development</a> with a "keep it simple" attitude. It does not contain many new ideas, but is well structured and a quick entertaining read with tons of quality references.<br/><br/><span style="font-weight: bold;">details (5 minutes read time)</span><br/><br/><span style="font-style: italic;">What is the "getting real" approach?</span> The most emphasised point in the book is: Always strive early for "real things". There is no good in discussing designs you can't see, to discuss software that you can't use. Build it early and than refine. Since you are always working on the real thing,  developers are always motivated and customers are involved early. This is actually agile development 101. Another heavily emphasised point is: Think a lot before you put in a feature. Always weight the evident benefits of a features against the costs of a heavier app.<br/><br/><span style="font-style: italic;">What was in it for me?</span> Despite the fact that many of the ideas are not knew, it is good to have a comprehensive and easy to re-read compendium tailored for web apps. The presented design paradigms and ideas are important to anyone building web apps (or generally software). The book is thereby thin enough to be embraced by the open minded and  thick enough to slap all others with it. If you have to deal with "not-knowing" colleagues, the book helps to communicate the ideas quickly.<br/><br/>Even if you are familiar with "agile and more" methodologies,  there might be a few small points that you never saw so clearly before. Here are my personal blind spots:<br/><ul><li>The build and refine approach fits web apps perfectly. Since it is a web app, it can be put online early on and there is no costs in delivering new versions.<br/></li><li>Think in terms of what you can do differently from competing products. Building distinctive  characteristics a design paradigm.</li><li>Three state solution. Always design for a regular, blank and error state.<br/></li><li>Do not obey the customer and clutter your app with unimportant features. In terms of clear design, even reasonable features might cost your app more than they sell.</li><li>Take out the middle man and do your own support and feel customer pain first hand to stay "real".</li></ul><span style="font-style: italic;">What is it not?</span> It is not about programming languages, frameworks or css-hacks. Some points work especially well for web apps, but it is not fully web app exclusive. It is not a text book, it is practical.<br/><br/><span style="font-style: italic;">What is next?</span> The follow up book <a href="http://www.amazon.com/Rework-Jason-Fried/dp/0307463745/ref=pd_bxgy_b_img_b">"rework"</a> should be in my mail tomorrow.<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/8283236336803140851-5460870764616355479?l=metabubble.blogspot.com" width="1"/></div></div>
    </summary>
    <updated>2010-03-25T20:58:00Z</updated>
    <author>
      <name>Markus Scheidgen</name>
      <email>noreply@blogger.com</email>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-8283236336803140851</id>
      <author>
        <name>Markus Scheidgen</name>
        <email>noreply@blogger.com</email>
      </author>
      <link href="http://metabubble.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://feeds.feedburner.com/MetaBubble" rel="self" type="application/atom+xml"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>From self-help to web-apps, living the entrepreneural reality between APIs, style sheets and the cloud.</subtitle>
      <title>Life and the Web</title>
      <updated>2010-04-27T13:54:23Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-1465360374490208232.post-4976961710677134553</id>
    <link href="http://darngooddeveloper.blogspot.com/feeds/4976961710677134553/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=1465360374490208232&amp;postID=4976961710677134553" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/1465360374490208232/posts/default/4976961710677134553" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/1465360374490208232/posts/default/4976961710677134553" rel="self" type="application/atom+xml"/>
    <link href="http://darngooddeveloper.blogspot.com/2010/03/in-search-of-slides.html" rel="alternate" type="text/html"/>
    <title>In search of slides</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><a href="http://2.bp.blogspot.com/_QMuHoBVpB0E/S6qgnzBWZxI/AAAAAAAAACw/UzleSfOy5Ec/s1600/Screenshot.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5452346904456619794" src="http://2.bp.blogspot.com/_QMuHoBVpB0E/S6qgnzBWZxI/AAAAAAAAACw/UzleSfOy5Ec/s400/Screenshot.png" style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 400px; height: 129px;"/></a><br/>Want to find out which speakers have uploaded their slides or files related to their talks?  Well this year it is easier than ever to find out.  On the top of the <a href="http://www.eclipsecon.org/2010/sessions/">sessions</a> page is a set of search options for drilling down into the types, categories or tags for a talk.  As of today you can also find talks with <a href="http://www.eclipsecon.org/2010/sessions/?page=sessions&amp;show=slides">slides</a> and <a href="http://www.eclipsecon.org/2010/sessions/?page=sessions&amp;show=files">files</a> the speaker has made available.<br/><span id="formatbar_Buttons" style="display: block;"><span class=" on down" id="formatbar_CreateLink" style="display: block;" title="Link"/></span><br/>Now we just have to figure out how to encourage all the speakers to make their slides and code samples available.  Any ideas?<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/1465360374490208232-4976961710677134553?l=darngooddeveloper.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2010-03-24T23:41:31Z</updated>
    <published>2010-03-24T23:26:00Z</published>
    <author>
      <name>Darn Good Developer</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/10629368352046362896</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-1465360374490208232</id>
      <author>
        <name>Darn Good Developer</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/10629368352046362896</uri>
      </author>
      <link href="http://darngooddeveloper.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/1465360374490208232/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://darngooddeveloper.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <title>Darn Good Developer</title>
      <updated>2010-06-06T02:09:13Z</updated>
    </source>
  </entry>

  <entry xml:lang="en-us">
    <id>http://www.jroller.com/eu/entry/ribbon_ide</id>
    <link href="http://www.jroller.com/eu/entry/ribbon_ide" rel="alternate" type="text/html"/>
    <title>Eclipse plug-in sightseeing: Ribbon IDE</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">The problem how to help user to only see what he need been attacked by several researches. Few weeks ago we saw a neat <a href="http://www.cs.brown.edu/people/acb/codebubbles_site.htm">Code Bubbles</a> project and older attempt landed as a well known Eclipse project, which unfortunately abandoned a great idea for other not so cool things...
<br/><br/>

However <a href="http://twitter.com/evolanakis">Elias Volanakis</a> did a great job in changing the look of the  modern IDE. His <a href="http://www.volanakis.de/nuggets/EC_10/201003%20Ribbon%20IDE%20-%20A%20leaner%20modern%20UI%20for%20Eclipse.pdf">Ribbon IDE</a> project looks really promising and best of all you can even <a href="http://eclipsenuggets.blogspot.com/2010/03/ribbon-ide-eclipsecon-slides.html">try it today</a>. The <a href="http://eclipsenuggets.blogspot.com/2009/12/ribbon-ide-leaner-modern-ui-for-eclipse.html">following video</a> should give you idea what it is all about.

<blockquote>

  
  
  
  
  
  
  
  
  
</blockquote></div>
    </summary>
    <updated>2010-03-23T01:44:44Z</updated>
    <category term="Eclipse"/>
    <category term="eclipse"/>
    <category term="java"/>
    <author>
      <name>Eugene Kuleshov</name>
    </author>
    <source>
      <id>http://www.jroller.com/eu/</id>
      <link href="http://www.jroller.com/eu/" rel="alternate" type="text/html"/>
      <link href="http://www.jroller.com/eu/feed/entries/rss?cat=%2FEclipse" rel="self" type="application/atom+xml"/>
      <rights>Copyright 2010</rights>
      <subtitle>I can believe anything, provided that it is quite incredible.</subtitle>
      <title>Euxx</title>
      <updated>2010-06-09T06:51:16Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-8149959654067390196.post-3704643519478986145</id>
    <link href="http://eclipsenuggets.blogspot.com/feeds/3704643519478986145/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=8149959654067390196&amp;postID=3704643519478986145" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/8149959654067390196/posts/default/3704643519478986145" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/8149959654067390196/posts/default/3704643519478986145" rel="self" type="application/atom+xml"/>
    <link href="http://eclipsenuggets.blogspot.com/2010/03/ribbon-ide-eclipsecon-slides.html" rel="alternate" type="text/html"/>
    <title>Ribbon IDE - EclipseCon Slides</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><a href="http://www.volanakis.de/nuggets/EC_10/201003%20Ribbon%20IDE%20-%20A%20leaner%20modern%20UI%20for%20Eclipse.pdf"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5451626547879587234" src="http://4.bp.blogspot.com/_1Rx7kFlzK2w/S6gRdhpzraI/AAAAAAAAAS0/UIcDesrDzCI/s320/ribbon_talk.png" style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; cursor: hand; width: 320px; height: 241px;"/></a><br/>I've just uploaded the <a href="http://www.volanakis.de/nuggets/EC_10/201003%20Ribbon%20IDE%20-%20A%20leaner%20modern%20UI%20for%20Eclipse.pdf">slides (pdf)</a> from today's talk at EclipseCon. Thanks everybody who attended!<br/><br/>If you don't mind trying an alpha, you can <a href="http://github.com/elias42/ribbonide/downloads">download Eclipse 3.6 M6 with the ribbon here</a>.<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/8149959654067390196-3704643519478986145?l=eclipsenuggets.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2010-03-23T01:03:49Z</updated>
    <published>2010-03-23T00:50:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="eclipse-ui"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="eclipse"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="ribbon IDE"/>
    <author>
      <name>Elias Volanakis</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/05881712904794632968</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-8149959654067390196</id>
      <author>
        <name>Elias Volanakis</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/05881712904794632968</uri>
      </author>
      <link href="http://eclipsenuggets.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/8149959654067390196/posts/default/-/eclipse" rel="self" type="application/atom+xml"/>
      <link href="http://eclipsenuggets.blogspot.com/search/label/eclipse" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>Eclipse tips &amp; tricks from the code trenches.</subtitle>
      <title>Eclipse Nuggets</title>
      <updated>2010-03-25T07:11:44Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-20309733.post-4152373752127237259</id>
    <link href="http://eclipse-ecosystem.blogspot.com/feeds/4152373752127237259/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=20309733&amp;postID=4152373752127237259" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/20309733/posts/default/4152373752127237259" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/20309733/posts/default/4152373752127237259" rel="self" type="application/atom+xml"/>
    <link href="http://eclipse-ecosystem.blogspot.com/2010/03/undisputable-best-e4-rover-mars.html" rel="alternate" type="text/html"/>
    <title>Undisputable Best e4-Rover Mars Challenge Client</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><a href="http://3.bp.blogspot.com/_8MeSEOl8aXA/S6fuJDPxtqI/AAAAAAAAeVA/puOeYNV9Ato/s1600-h/awesome.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5451587713212987042" src="http://3.bp.blogspot.com/_8MeSEOl8aXA/S6fuJDPxtqI/AAAAAAAAeVA/puOeYNV9Ato/s400/awesome.png" style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 391px;"/></a><br/>Well, except for the fact I don't qualify for the challenge because I'm a Foundation Staff member, I would say the contest is over.<br/><br/>If you activate Chuck Norris mode in my client, the rover collects all the RFID tokens, beats them into submission, and then runs back and forth over them building a score of Infinity - twice in one turn.<br/><br/>Can you do better?  See Lynn for a key and information on how to participate.<br/><br/> - Don<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/20309733-4152373752127237259?l=eclipse-ecosystem.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2010-03-22T22:27:34Z</updated>
    <published>2010-03-22T22:23:00Z</published>
    <author>
      <name>Donald Smith</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/11341499982780049728</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-20309733</id>
      <author>
        <name>Donald Smith</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/11341499982780049728</uri>
      </author>
      <link href="http://eclipse-ecosystem.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/20309733/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://eclipse-ecosystem.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://www.blogger.com/feeds/20309733/posts/default?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <subtitle>A blog devoted to promoting the Eclipse ecosystem</subtitle>
      <title>Eclipse Ecosystem</title>
      <updated>2010-06-05T22:20:47Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://www.incontextblog.com/?p=504</id>
    <link href="http://www.incontextblog.com/?p=504" rel="alternate" type="text/html"/>
    <title>Apps and Personal Data Stores</title>
    <summary>This post presents an architecture comprised of apps, a dashboard, and a personal data store (PDS) that can be implemented by multiple developers, hosted by multiple operators over an open, personal data network and whose goal is to give users more control over their own identity (personal data, profiles, preferences, affiliations, and relationships). It is [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>This post presents an architecture comprised of apps, a dashboard, and a personal data store (PDS) that can be implemented by multiple developers, hosted by multiple operators over an open, personal data network and whose goal is to give users more control over their own identity (personal data, profiles, preferences, affiliations, and relationships). It is in support of aspirations that have been widely reported by others and called variously <a href="http://cyber.law.harvard.edu/projectvrm/Main_Page">VRM</a>, <a href="http://dataportability.org/">data portability</a>, user-centric identity, the Data Web, <a href="http://ojphi.org/htbin/cgiwrap/bin/ojs/index.php/fm/article/viewArticle/1068">Augmented Social Network (2003)</a>, and so on.</p>
<p><a href="http://www.incontextblog.com/wp-content/uploads/2010/03/top-level-architecture-12.png"><img alt="" class="alignnone size-full wp-image-576" height="571" src="http://www.incontextblog.com/wp-content/uploads/2010/03/top-level-architecture-12.png" title="top level architecture (12)" width="813"/></a></p>
<p>I’ve annotated the diagram above with little “H” and “A” markers so you can see specifically the areas that Higgins and Azigo are working on respectively. Lots of other folks are also working on other parts of the picture too, of course.</p>
<p><strong>Apps</strong></p>
<p>Apps are of course the most important kind of component since they are what the end user sees and appreciates. Apps gain access to the user’s data by making calls (e.g. <em>getAttribute</em>)  to an API exposed by the <em>PDS Client</em>. Architecturally, we’ve seen the need to support both conventional kinds of apps: web, mobile (iPhone, Android, etc.), and desktop, as well as a more unusual kind of app, I’ll call a <em>Javascript app</em>.  In this latter case Javascript is fetched from a web service (e.g. from <a href="http://www.kynetx.com/">Kynetx</a> KNS) injected locally into your browser by a browser extension. This same browser extension exposes the same PDS Client API to this Javascript program.<br/>
<strong> </strong></p>
<p><strong>Dashboard</strong></p>
<p>The dashboard is an admin GUI app for your personal data. It is an occasional-use tool that provides: (a) a control panel to manage the permissioning policies that control which of your attributes are shared with whom (including so-called “selector” functionality to approve the release of your info)  (b) a dashboard GUI to see and manage all of your identity data attributes (including profile data, credentials, friends lists, etc.) whether stored in your own PDS or managed by others (c) a place to directly enter self-asserted attributes (d) an embedded app marketplace (e) a canvas area where apps can extend the UI to add their own admin interfaces (f) a place to import &amp; manage your i-cards and OpenID OP relationships.</p>
<blockquote><p>ASIDE: <em>Dashboard</em> is a new word I’m trying  out. The reality is that this piece of software is a bit of a swiss army  knife where each blade/tool is called something different. A few examples: Microsoft  calls the aspect that pops up to give notice and consent to release a set  of attributes an <em>identity selector</em>. Inside Google they call  identity-related client add-ons to a browser an <em>active client</em>. The “show  me all of my stuff” aspect does sound like a <em>dashboard</em>. On the other hand, the  permissioning aspect is something Eve would call a <em>relationship manager</em> (or I  think she would). And I think Bob Blakley would too.</p></blockquote>
<p>The dashboard combines aspects of earlier client efforts. In 2006-2007 we saw Information Card Selectors like <a href="http://en.wikipedia.org/wiki/Windows_CardSpace">Windows  CardSpace</a> as well as the Higgins selectors provide an interface to view and manage multiple digital identities displayed as visual cards, as well as provide notice and consent to the release of your selected digital identity. In 2009 Azigo augmented the selector concept support for  Kynetx apps in <a href="http://azigo.com/">Azigo</a> (along with cross-platform and card roaming support). Prototypes shown by Microsoft (e.g. <a href="http://self-issued.info/?p=235">OpenID Active Client</a>) and Higgins at IIW in 2009 added OpenID support thus demonstrating multi-protocol support. <a href="http://mozillalabs.com/blog/2010/03/account-manager/">Mozilla  Lab’s Account Manager</a> is doing some great work in this area. The Higgins project is working on a next-generation client as part of the <a href="http://wiki.eclipse.org/Active_Client_Overview">Higgins 2.0 Active Client</a> expected in 2011.</p>
<p><strong>Personal Data Store</strong></p>
<p>A PDS is a web service that works on your behalf, giving you more control over your own personal data whether it is stored in the PDS or managed elsewhere. PDS stores <em>local</em> attributes in blinded form so that only the user has the decryption key–not the PDS service provider. The PDS is an idea that has been underdevelopment for years. For some background see <a href="http://blog.joeandrieu.com/2007/07/26/vrm-and-personal-datastores/">Joe  Andrieu</a>, <a href="http://blog.joeandrieu.com/2007/06/14/vrm-the-user-as-point-of-integration/">Joe  again</a>, and <a href="http://informationanswers.com/?p=506">Iain Henderson</a>. As part of Higgins 2.0 the <a href="http://wiki.eclipse.org/Personal_Data_Store_2.0">PDS</a> is being developed. Another interesting PDS development project is <a href="http://themineproject.org/">Mine</a>!</p>
<p><strong>PDS Client </strong></p>
<p>The PDS Client has no UI, but provides an API for apps that wish to read/write  attributes from the PDS. Here are some of its functions:</p>
<ul>
<li>Maintains (and syncs to the PDS and other clients) the user’s ”permissions”–the decisions that the user has make as to who (what app or relying party) has access to what attributes. For example, the first time a new app/RP asks for a certain set of attributes, the PDS Client will trigger the PDS Dashboard to present the policy decision to the user. The next time this same request happens, the PDS Client remembers the grant and usually doesn’t have to bother the user about it this time.</li>
<li>Maintains a local copy of some or all of the person’s personal data stored in the remote PDS</li>
<li>Maintains an OAuth WRAP access token that it gets by authenticating itself to an external authentication service. It passes this token along in XDI messages to the remote PDS service.</li>
<li>Can be configured to encrypt attribute values before they are sent over the wire (e.g. in XDI messages) to the remote PDS</li>
<li>Contains a local Security Token Service (STS) that allows it to create and sign SAML (for example) tokens for self-asserted attributes.</li>
<li>Contains an STS client to support remote IdP/STSes managed by external parties (e.g. to support managed i-cards).</li>
<li>Performs cross-context schema mapping.</li>
</ul>
<p>The Higgins 2.0 <a href="http://wiki.eclipse.org/PDS_Client_2.0">PDS Client</a> is packaged as either a C++  or Java code library or as a separate  operating system process (e.g. on  Windows it is a Windows Service).</p>
<p><strong> </strong></p>
<p><strong>Network Protocol</strong></p>
<p><a href="http://www.equalsdrummond.name/">Drummond Reed</a> with his <a href="http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=xdi">OASIS  XDI</a> and OASIS XRI work was first to my knowledge to define an open <em>data web</em>. A few years later Tim published his <a href="http://www.w3.org/DesignIssues/LinkedData.html">Linked Data</a> paper. We’re starting to see implementations of Linked Data so now the Semweb  folks also have a data web. Both of these approaches are important.</p>
<p>An open community is starting to form around the XDI that is focused on PDS-related use cases and create might be called a <em>profile</em> of XDI in this area. The community is leveraging XDI’s existing strengths in the areas of identity management integration, security, access control, data sharing and versioning, as well as extending them where needed in order to meet the PDS-related requirements.</p>
<p>This focus probably provides a critical time-to-adoption advantage over the Linked Data effort in this PDS area. Since the objective is interoperability (i.e. an interoperable ecosystem of PDSes and apps over a common protocol) assembling a community focused on this area would seem to be the fasted way to get there. Linked Data (like “vanilla” XDI) has a much broader link-all-the-worlds-data-together mission and lacks direct support for many of the PDS-related requirements. As a consequence RDF developers (including Higgins) define ad-hoc extensions to RDF to make it support the PDS use cases that are only interoperable within their own developer community.</p>
<p><strong>PDS Schema</strong></p>
<p>The Higgins PDS uses its own <em>internal</em> schema called the <a href="http://wiki.eclipse.org/Persona_Data_Model_2.0">Persona</a> data model. This is not  to say that the PDS architecture imposes a single ontology on its  clients. Quite the opposite. Every attribute call (e.g. getAttribute)  may request attributes in any vocabulary. As I’ve mentioned in my <a href="http://www.incontextblog.com/../?p=463">schema mapping post</a>, we follow the philosophy of mapping into and out from the  internal schema.</p>
<p><strong>Authorization Manager</strong> <strong>(AM)</strong></p>
<p>The AM provides the “back end” authorization manager for access  control  of attributes managed by data services other than your own PDS.  The Higgins project has been tracking the promising <a href="http://kantarainitiative.org/confluence/display/uma/Home">UMA    Authorization Manager</a> effort that <a href="http://www.xmlgrrl.com/blog/">Eve Maler</a> and others have been developing.</p>
<p><strong>Kynetx KNS</strong></p>
<p>KNS is a web service that serves up compiled Javascript apps for injection into browsers. The app developer uses the Kynetx AppBuilder tool to create apps. Each app is packaged as an information card. The developer puts this app on their website for folks to download and install. If you click on it and already have a PDS Dashboard the new app gets installed in about one second. If you click on it an you don’t already have a PDS Dashboard, then you download an installation package that includes a Dashboard (with the app pre-installed inside it).</p></div>
    </content>
    <updated>2010-03-22T01:25:39Z</updated>
    <category term="Azigo"/>
    <category term="Digital Identity"/>
    <category term="Higgins"/>
    <category term="Information Cards"/>
    <category term="Mobile"/>
    <category term="OpenID"/>
    <category term="Selectors"/>
    <category term="VRM"/>
    <author>
      <name>paul</name>
    </author>
    <source>
      <id>http://www.incontextblog.com</id>
      <link href="http://www.incontextblog.com/?feed=rss2&amp;cat=3" rel="self" type="application/atom+xml"/>
      <link href="http://www.incontextblog.com" rel="alternate" type="text/html"/>
      <title>In Context » Higgins</title>
      <updated>2010-06-09T06:16:19Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-20309733.post-326572847373998157</id>
    <link href="http://eclipse-ecosystem.blogspot.com/feeds/326572847373998157/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=20309733&amp;postID=326572847373998157" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/20309733/posts/default/326572847373998157" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/20309733/posts/default/326572847373998157" rel="self" type="application/atom+xml"/>
    <link href="http://eclipse-ecosystem.blogspot.com/2010/03/e4-rover-challenge-so-simple-mba-can.html" rel="alternate" type="text/html"/>
    <title>e4-Rover Challenge - So Simple, even an MBA Can Play</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><a href="http://1.bp.blogspot.com/_8MeSEOl8aXA/S6KTQpGeu6I/AAAAAAAAeU4/gnOcyBPjiCk/s1600-h/roverRace.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5450080413191945122" src="http://1.bp.blogspot.com/_8MeSEOl8aXA/S6KTQpGeu6I/AAAAAAAAeU4/gnOcyBPjiCk/s400/roverRace.png" style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 315px;"/></a><br/>Wow.  I was just part of a beta test of next weeks <a href="http://www.eclipse.org/community/e4RoverMars/challenge.php">e4-Rover Challenge</a> at EclipseCon, and this is pretty cool stuff.  The NASA and e4 teams have clearly been working hard on this.  I suspect it's going to become a major distraction for a lot of people next week.<br/><br/>Here's the best part - if <span style="font-style: italic;">I </span>can do it - I can only imagine what you can do with it.  And I'm not just talking about <a href="http://www.eclipse.org/community/e4RoverMars/getstarted.php">getting the instructions</a> and doing a basic run around.  I was just hacking around e4 for the first time, adding new controls, writing a lag management API (lag is part of the game, remember - you're controlling something on Mars!)  Impressive stuff all around.<br/><br/>Now, where did I put that Prolog-Java code I once had, and can I hook it up to the telemetry API...<br/><br/>Hmmmm, I'm thinking I might not be eligible for the Grand Prize trip to NASA JPL, but it would still be good to teach the whippersnappers a thing or two...<br/><br/>- Don<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/20309733-326572847373998157?l=eclipse-ecosystem.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2010-03-18T21:22:55Z</updated>
    <published>2010-03-18T20:52:00Z</published>
    <author>
      <name>Donald Smith</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/11341499982780049728</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-20309733</id>
      <author>
        <name>Donald Smith</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/11341499982780049728</uri>
      </author>
      <link href="http://eclipse-ecosystem.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/20309733/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://eclipse-ecosystem.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://www.blogger.com/feeds/20309733/posts/default?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <subtitle>A blog devoted to promoting the Eclipse ecosystem</subtitle>
      <title>Eclipse Ecosystem</title>
      <updated>2010-06-05T22:20:47Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-8100450921822056061.post-5764650749382414644</id>
    <link href="http://olivier-eclipse.blogspot.com/feeds/5764650749382414644/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=8100450921822056061&amp;postID=5764650749382414644" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/8100450921822056061/posts/default/5764650749382414644" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/8100450921822056061/posts/default/5764650749382414644" rel="self" type="application/atom+xml"/>
    <link href="http://olivier-eclipse.blogspot.com/2010/03/api-tooling-at-eclipsecon.html" rel="alternate" type="text/html"/>
    <title>API Tooling at Eclipsecon</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">For the ones that still wonder what API Tooling is all about or what API Tooling can do for you, you should come to this <a href="https://www.eclipsecon.org/submissions/2010/view_talk.php?id=1343">presentation</a>.<br/>If you came to the presentation two years ago about the overview of API Tooling, you will learn more about API usage report and migration reports.<br/><br/><br/>All questions and comments are welcome.<br/><br/>See you there.<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/8100450921822056061-5764650749382414644?l=olivier-eclipse.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2010-03-18T18:32:29Z</updated>
    <published>2010-03-18T18:29:00Z</published>
    <author>
      <name>Olivier Thomann</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/12941869845892308925</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-8100450921822056061</id>
      <author>
        <name>Olivier Thomann</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/12941869845892308925</uri>
      </author>
      <link href="http://olivier-eclipse.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/8100450921822056061/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://olivier-eclipse.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>Opinions of a JDT/Core committer</subtitle>
      <title>Olivier's Eclipse Blog</title>
      <updated>2010-06-07T07:25:54Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-8100450921822056061.post-3042000576854328194</id>
    <link href="http://olivier-eclipse.blogspot.com/feeds/3042000576854328194/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=8100450921822056061&amp;postID=3042000576854328194" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/8100450921822056061/posts/default/3042000576854328194" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/8100450921822056061/posts/default/3042000576854328194" rel="self" type="application/atom+xml"/>
    <link href="http://olivier-eclipse.blogspot.com/2010/03/jdt-at-eclipsecon-2010.html" rel="alternate" type="text/html"/>
    <title>JDT at Eclipsecon 2010</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Hi,<br/><br/>If you want to find out more about what JDT has done for the Helios release, you might want to come to the following events at Eclipsecon 2010.<br/>1) <a href="https://www.eclipsecon.org/submissions/2010/view_talk.php?id=1380">What's new in JDT?</a> (lightning talk)<br/>2) <a href="https://www.eclipsecon.org/submissions/2010/view_talk.php?id=1339">JDT Fundamentals</a> (2h tutorial)<br/><br/>Of course I will be available for questions, discussions or comments during the whole conference. Send me a message if you want to meet there.<br/><br/>Thanks and see you soon at Eclipsecon.<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/8100450921822056061-3042000576854328194?l=olivier-eclipse.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2010-03-18T18:29:34Z</updated>
    <published>2010-03-18T18:25:00Z</published>
    <author>
      <name>Olivier Thomann</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/12941869845892308925</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-8100450921822056061</id>
      <author>
        <name>Olivier Thomann</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/12941869845892308925</uri>
      </author>
      <link href="http://olivier-eclipse.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/8100450921822056061/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://olivier-eclipse.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>Opinions of a JDT/Core committer</subtitle>
      <title>Olivier's Eclipse Blog</title>
      <updated>2010-06-07T07:25:54Z</updated>
    </source>
  </entry>

  <entry xml:lang="en-EU">
    <id>tag:ralph-at-eclipse.blog.de,2010-03-17:/2010/03/17/listen-up-europeans-8196066/</id>
    <link href="http://ralph-at-eclipse.blog.de/2010/03/17/listen-up-europeans-8196066/" rel="alternate" type="text/html"/>
    <title>Listen up Europeans!</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Yes, we'll do it again. For all of you who are not getting out of Eclipse Con and Santa Clara on Thursday: Come by and have a drink with us European Eclipse enthusiasts. As every year, we will gather at David's Restaurant @ <a href="http://santaclara.americangolf.com/">Santa Clara Golf and Tennis Club</a>, about 0.2 miles from the convention center. And as every year, we will start our little event around 7pm Pacific time. </p>
	<p>Thanks to the <a href="http://germany.osgiusers.org/Main/HomePage">German OSGi User Group</a> we have been able to raise our liquids budget by 300 Euro. If you are from Europe and your company wants to become a sponsor too, please let me know! We'll happily add your money to pay the tap.</p>
	<p>PS: If you don't have a European passport, we'll let you in too :-) Promise! You might not qualify for a large beer though.</p>
	<p>Ralph
</p>
<p> <small> <a href="http://ralph-at-eclipse.blog.de/2010/03/17/listen-up-europeans-8196066/#comments">Comments</a> </small> </p></div>
    </summary>
    <updated>2010-03-17T22:18:07Z</updated>
    <category term="santa-clara"/>
    <category term="stammtisch"/>
    <category term="eclipse-con"/>
    <category term="tech"/>
    <source>
      <id>http://ralph-at-eclipse.blog.de/</id>
      <logo>http://data5.blog.de/design/preview/ca/b3186b840d124daa1581d2a0d352c2_160x200.jpg</logo>
      <author>
        <name>Ralph Müller</name>
      </author>
      <link href="http://ralph-at-eclipse.blog.de/" rel="alternate" type="text/html"/>
      <link href="http://ralph-at-eclipse.blog.de/feed/rss2/posts/" rel="self" type="application/atom+xml"/>
      <subtitle>From my work life at the Eclipse Foundation</subtitle>
      <title>ralph@eclipse.org</title>
      <updated>2010-06-09T06:54:21Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-7994778055369999579.post-4064751203443301979</id>
    <link href="http://onpersistence.blogspot.com/feeds/4064751203443301979/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=7994778055369999579&amp;postID=4064751203443301979" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/7994778055369999579/posts/default/4064751203443301979" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/7994778055369999579/posts/default/4064751203443301979" rel="self" type="application/atom+xml"/>
    <link href="http://onpersistence.blogspot.com/2010/03/running-sql-script-on-startup-in.html" rel="alternate" type="text/html"/>
    <title>Running a SQL Script on startup in EclipseLink</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Sometimes, when working with DDL generation it's useful to run a script to clean up the database first.  In Hibernate if you put a file called "import.sql" on your classpath its contents will be sent to the database.  Personally I'm not a fan of magic filenames but this can be a useful feature.<br/><br/>There's no built in support for this in EclipseLink but it's easy to do thank's to EclipseLink's high extensibility.  Here's a quick solution I came up with: I simply register an event listener for the session postLogin event and in the handler I read a file and send each SQL statement to the database--nice and clean.  I went a little further and supported setting the name of the file as a persistence unit property.  You can specify this all in code or in the persistence.xml.  <br/><br/>The ImportSQL class is configured as a SessionCustomizer through a persistence unit property which, on the postLogin event, reads the file identified by the "import.sql.file" property.  This property is also specified as a persistence unit property which is  passed to createEntityManagerFactory.  This example also shows how you can define and use your own persistence unit properties.<br/><br/><span style="font-family: courier new; font-size: 10pt;"><span style="font-weight: bold; color: rgb(127,0,85);">import</span> <span style="color: rgb(0,0,0);">org.eclipse.persistence.config.SessionCustomizer;</span><br/><span style="font-weight: bold; color: rgb(127,0,85);">import</span> <span style="color: rgb(0,0,0);">org.eclipse.persistence.sessions.Session;</span><br/><span style="font-weight: bold; color: rgb(127,0,85);">import</span> <span style="color: rgb(0,0,0);">org.eclipse.persistence.sessions.SessionEvent;</span><br/><span style="font-weight: bold; color: rgb(127,0,85);">import</span> <span style="color: rgb(0,0,0);">org.eclipse.persistence.sessions.SessionEventAdapter;</span><br/><span style="font-weight: bold; color: rgb(127,0,85);">import</span> <span style="color: rgb(0,0,0);">org.eclipse.persistence.sessions.UnitOfWork;</span><br/><br/><span style="font-weight: bold; color: rgb(127,0,85);">public</span> <span style="font-weight: bold; color: rgb(127,0,85);">class</span> <span style="color: rgb(0,0,0);">ImportSQL</span> <span style="font-weight: bold; color: rgb(127,0,85);">implements</span> <span style="color: rgb(0,0,0);">SessionCustomizer</span> <span style="color: rgb(0,0,0);">{</span><br/>    <br/>    <span style="font-weight: bold; color: rgb(127,0,85);">private</span> <span style="font-weight: bold; color: rgb(127,0,85);">void</span> <span style="color: rgb(0,0,0);">importSql(UnitOfWork</span> <span style="color: rgb(0,0,0);">unitOfWork,</span> <span style="color: rgb(0,0,0);">String</span> <span style="color: rgb(0,0,0);">fileName)</span> <span style="color: rgb(0,0,0);">{</span><br/>        <span style="color: rgb(63,127,95);">// Open file<br/></span>        <span style="color: rgb(63,127,95);">// Execute each line, e.g.,<br/></span>        <span style="color: rgb(63,127,95);">// unitOfWork.executeNonSelectingSQL("select 1 from dual");<br/></span>    <span style="color: rgb(0,0,0);">}</span><br/><br/>    <span style="color: rgb(0,0,0);">@Override</span><br/>    <span style="font-weight: bold; color: rgb(127,0,85);">public</span> <span style="font-weight: bold; color: rgb(127,0,85);">void</span> <span style="color: rgb(0,0,0);">customize(Session</span> <span style="color: rgb(0,0,0);">session)</span> <span style="font-weight: bold; color: rgb(127,0,85);">throws</span> <span style="color: rgb(0,0,0);">Exception</span> <span style="color: rgb(0,0,0);">{</span><br/>        <span style="color: rgb(0,0,0);">session.getEventManager().addListener(</span><span style="font-weight: bold; color: rgb(127,0,85);">new</span> <span style="color: rgb(0,0,0);">SessionEventAdapter()</span> <span style="color: rgb(0,0,0);">{</span><br/>            <span style="color: rgb(0,0,0);">@Override</span><br/>            <span style="font-weight: bold; color: rgb(127,0,85);">public</span> <span style="font-weight: bold; color: rgb(127,0,85);">void</span> <span style="color: rgb(0,0,0);">postLogin(SessionEvent</span> <span style="color: rgb(0,0,0);">event)</span> <span style="color: rgb(0,0,0);">{</span><br/>                <span style="color: rgb(0,0,0);">String</span> <span style="color: rgb(0,0,0);">fileName</span> <span style="color: rgb(0,0,0);">=</span> <span style="color: rgb(0,0,0);">(String)</span> <span style="color: rgb(0,0,0);">event.getSession().getProperty(</span><span style="color: rgb(42,0,255);">"import.sql.file"</span><span style="color: rgb(0,0,0);">);</span><br/>                <span style="color: rgb(0,0,0);">UnitOfWork</span> <span style="color: rgb(0,0,0);">unitOfWork</span> <span style="color: rgb(0,0,0);">=</span> <span style="color: rgb(0,0,0);">event.getSession().acquireUnitOfWork();</span><br/>                <span style="color: rgb(0,0,0);">importSql(unitOfWork,</span> <span style="color: rgb(0,0,0);">fileName);</span><br/>                <span style="color: rgb(0,0,0);">unitOfWork.commit()</span> <span style="color: rgb(0,0,0);"/><br/>            <span style="color: rgb(0,0,0);">}</span><br/><br/><br/><br/>        <span style="color: rgb(0,0,0);">});</span><br/>    <span style="color: rgb(0,0,0);">}</span><br/></span><br/><hr/><br/><span style="font-family: courier new; font-size: 10pt;">    <span style="font-weight: bold; color: rgb(127,0,85);">public</span> <span style="font-weight: bold; color: rgb(127,0,85);">static</span> <span style="font-weight: bold; color: rgb(127,0,85);">void</span> <span style="color: rgb(0,0,0);">main(String[]</span> <span style="color: rgb(0,0,0);">args)</span> <span style="color: rgb(0,0,0);">{</span><br/>        <span style="color: rgb(0,0,0);">Map&lt;String,</span> <span style="color: rgb(0,0,0);">Object&gt;</span> <span style="color: rgb(0,0,0);">properties</span> <span style="color: rgb(0,0,0);">=</span> <span style="font-weight: bold; color: rgb(127,0,85);">new</span> <span style="color: rgb(0,0,0);">HashMap&lt;String,</span> <span style="color: rgb(0,0,0);">Object&gt;();</span><br/>        <br/>        <span style="color: rgb(63,127,95);">// Enable DDL Generation<br/></span>        <span style="color: rgb(0,0,0);">properties.put(PersistenceUnitProperties.DDL_GENERATION,</span> <span style="color: rgb(0,0,0);">PersistenceUnitProperties.DROP_AND_CREATE);</span><br/>        <span style="color: rgb(0,0,0);">properties.put(PersistenceUnitProperties.DDL_GENERATION_MODE,</span> <span style="color: rgb(0,0,0);">PersistenceUnitProperties.DDL_DATABASE_GENERATION);</span><br/>        <span style="color: rgb(63,127,95);">// Configure Session Customizer which will pipe sql file to db before DDL Generation runs<br/></span>        <span style="color: rgb(0,0,0);">properties.put(PersistenceUnitProperties.SESSION_CUSTOMIZER,</span> <span style="color: rgb(42,0,255);">"model.ImportSQL"</span><span style="color: rgb(0,0,0);">);</span><br/>        <span style="color: rgb(0,0,0);">properties.put(</span><span style="color: rgb(42,0,255);">"import.sql.file"</span><span style="color: rgb(0,0,0);">,</span><span style="color: rgb(42,0,255);">"/tmp/someddl.sql"</span><span style="color: rgb(0,0,0);">);</span><br/>        <br/>        <span style="color: rgb(0,0,0);">EntityManagerFactory</span> <span style="color: rgb(0,0,0);">emf</span> <span style="color: rgb(0,0,0);">=</span> <span style="color: rgb(0,0,0);">Persistence</span><br/>                <span style="color: rgb(0,0,0);">.createEntityManagerFactory(</span><span style="color: rgb(42,0,255);">"employee"</span><span style="color: rgb(0,0,0);">,</span> <span style="color: rgb(0,0,0);">properties);</span><br/></span><div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/7994778055369999579-4064751203443301979?l=onpersistence.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2010-03-16T15:47:18Z</updated>
    <published>2010-03-16T14:04:00Z</published>
    <author>
      <name>Shaun Smith</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/03444889032778621661</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-7994778055369999579</id>
      <author>
        <name>Shaun Smith</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/03444889032778621661</uri>
      </author>
      <link href="http://onpersistence.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/7994778055369999579/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://onpersistence.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <title>On Persistence</title>
      <updated>2010-06-08T14:05:03Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-12783252.post-685805439693607041</id>
    <link href="http://eclipse-projects.blogspot.com/feeds/685805439693607041/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=12783252&amp;postID=685805439693607041" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/12783252/posts/default/685805439693607041" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/12783252/posts/default/685805439693607041" rel="self" type="application/atom+xml"/>
    <link href="http://eclipse-projects.blogspot.com/2010/03/congratulations-to-ed-chris-and-boris.html" rel="alternate" type="text/html"/>
    <title>Congratulations to Ed, Chris, and Boris</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Congratulations to the new committer board reps: Ed, Chris, and Boris.<br/><br/>All three are immensely talented individually and will be even better as a team: Ed with his skills in coordinating multiple related projects; Chris with his experience attracting new technologies and mentoring non-corporate projects; and Boris with his extensive knowledge of what is needed to support the core committers. I know they will represent the needs of the most important part of the Eclipse community -- the engine of production and innovation -- the committers and contributors (especially the core committers). It will be hard work, but these three have stepped up to the challenge and I look forward to their accomplishments.<br/><br/>Congratulations!<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/12783252-685805439693607041?l=eclipse-projects.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2010-03-16T14:09:46Z</updated>
    <published>2010-03-16T12:30:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="planet-eclipse"/>
    <author>
      <name>Bjorn Freeman-Benson</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/12380007655974891303</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-12783252</id>
      <author>
        <name>Bjorn Freeman-Benson</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/12380007655974891303</uri>
      </author>
      <link href="http://eclipse-projects.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/12783252/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://eclipse-projects.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://www.blogger.com/feeds/12783252/posts/default?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <subtitle>It's About More Than Just Code, But How Much More?</subtitle>
      <title>Open Source at Eclipse</title>
      <updated>2010-06-07T18:58:36Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-3318303833943079739.post-2275934257752644367</id>
    <link href="http://occasional-eclipse.blogspot.com/feeds/2275934257752644367/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=3318303833943079739&amp;postID=2275934257752644367" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/3318303833943079739/posts/default/2275934257752644367" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/3318303833943079739/posts/default/2275934257752644367" rel="self" type="application/atom+xml"/>
    <link href="http://occasional-eclipse.blogspot.com/2010/03/random-acts-of-kindness.html" rel="alternate" type="text/html"/>
    <title>Random acts of kindness</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">With Helios M6 in the mold, now is the time to send a big '<b>thank you</b>' to the ladies and gentlemen making all this possible, the unsung heroes of the more-or-less-oiled machinery called 'build', the closing-time-panic induced commitathon<i>ers</i>, the map-file conflict<i>inators</i>, the cooler of the cool 'hope-the-next-build-will-be-green'-cats, the ... well you know who you are!<div><br/></div><div><b>Thank you all very much!</b></div><div><br/>For those of you going to EclipseCon this year, I recommend buying a pint for your build-wizard. But don't overdo it in case somebody (could be me) breaks a build somewhere!</div><div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/3318303833943079739-2275934257752644367?l=occasional-eclipse.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2010-03-15T22:30:34Z</updated>
    <published>2010-03-15T22:08:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="build"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="eclipse"/>
    <author>
      <name>Jesper</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/15983201810190556000</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-3318303833943079739</id>
      <author>
        <name>Jesper</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/15983201810190556000</uri>
      </author>
      <link href="http://occasional-eclipse.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/3318303833943079739/posts/default/-/eclipse" rel="self" type="application/atom+xml"/>
      <link href="http://occasional-eclipse.blogspot.com/search/label/eclipse" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>A tinkerer reporting from the shadowy corners of Eclipse.</subtitle>
      <title>The Occasional Eclipse</title>
      <updated>2010-05-30T05:21:30Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-17547394.post-6533674154226052754</id>
    <link href="http://borisoneclipse.blogspot.com/feeds/6533674154226052754/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=17547394&amp;postID=6533674154226052754" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/17547394/posts/default/6533674154226052754?v=2" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/17547394/posts/default/6533674154226052754?v=2" rel="self" type="application/atom+xml"/>
    <link href="http://borisoneclipse.blogspot.com/2010/03/announcing-e4-rover-mars-challenge.html" rel="alternate" type="text/html"/>
    <title>Announcing the e4-Rover Mars Challenge</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">For the last couple of weeks, a few people from the e4 team and NASA JPL have been busy working on a <a href="http://www.eclipse.org/community/e4RoverMars/challenge.php">cool programming contest</a> to introduce e4 to the EclipseCon attendees, and to encourage them to try out e4 and learn about it. (See below for acknowledgments.)<br/><br/><div style="text-align: center;"><a href="http://www.eclipse.org/community/e4RoverMars/rover.png"><img alt="" border="0" src="http://www.eclipse.org/community/e4RoverMars/rover.png" style="cursor: pointer; width: 300px; height: 123px;"/></a><br/></div><br/>The idea is to drive a LEGO rover to collect points - <a href="http://www.eclipse.org/community/e4RoverMars/howtoplay.php">your mission</a> is to align the robot's on-board "instruments" with martian "rocks" in an arena. There are two ways to win - collect the most points to win a Lego Mindstorms NXT 2.0 set, or write the best e4-based client to win a Lego Mindstorms <span style="font-style: italic;">and</span> a trip to the NASA robotics lab in Los Angeles. Other prizes include credits for Amazon Web Services and T-Shirts.<br/><br/><div style="text-align: center;"><a href="http://www.eclipse.org/community/e4RoverMars/nasa.png"><img alt="" border="0" src="http://www.eclipse.org/community/e4RoverMars/nasa.png" style="cursor: pointer; width: 150px; height: 128px;"/></a><a href="http://www.eclipse.org/community/e4RoverMars/mindstorm.png"><img alt="" border="0" src="http://www.eclipse.org/community/e4RoverMars/mindstorm.png" style="cursor: pointer; width: 150px; height: 23px;"/></a><a href="http://www.eclipse.org/community/e4RoverMars/amazon.png"><img alt="" border="0" src="http://www.eclipse.org/community/e4RoverMars/amazon.png" style="cursor: pointer; width: 150px; height: 61px;"/></a><br/></div><br/>The architecture of the game system is interesting - the Lego robot executes commands that are sent to it from a local machine via bluetooth. The clients won't communicate with this local machine directly though - to make everything scalable, data about the state of the game, and an overhead view of the arena and the rover is made available using Amazon Web Services. We have an Equinox-based server on EC2, and are using S3 for making data available in a scalable way.<br/><br/><div style="text-align: center;"><a href="http://4.bp.blogspot.com/_9mAUrmH9eMo/S5wnxrWDf2I/AAAAAAAADQw/CKk-YJ00ihM/s1600-h/e4rover.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5448273383613759330" src="http://4.bp.blogspot.com/_9mAUrmH9eMo/S5wnxrWDf2I/AAAAAAAADQw/CKk-YJ00ihM/s400/e4rover.png" style="cursor: pointer; width: 400px; height: 327px;"/></a><br/></div><br/>We provide a <a href="http://www.eclipse.org/community/e4RoverMars/getstarted.php">basic e4-based client</a>, with a joystick-like way to control the rover. If you want to win the grand prize, you'll have to improve the client to make it look better and operate the robot more efficiently.  We basically want people to hack the client to beat the game. To help you do this, we have started a <a href="http://docs.google.com/View?id=ddtx7p76_81t8kngxd2">tutorial</a> (which we'll refine and expand over the next few days) and a <a href="http://docs.google.com/View?id=dcxsfdff_25dp9b5wgf">FAQ</a>. We will also add some more comments to the client code, and perhaps tweak the code a little bit, so make sure you check if there are newer versions of the source code available.<br/><br/>To give people a head start we are making the current source code for the client available today. You can download the code now, run the client but you can't actually control the robot.  You need a hash key to control the robot and those will only be given out at EclipseCon. What you will be able to do is watch us have some fun playing with the robot, erm, I mean, perform more testing, because the client includes a webcam view of the robot. More detailed instructions are available on the <a href="http://www.eclipse.org/community/e4RoverMars/challenge.php">contest web pages</a>.<br/><br/>I have been playing with the robot for the last week.  For a little while, I was at the top of the high score list, but since then others have gotten much better. I'll have to end the blog post here to do some more testing. ;-)<br/><br/>Driving the rover is a lot of fun! It's only a week or so until you can play too, at <a href="http://www.eclipsecon.org/2010/">EclipseCon</a>.<br/><br/>P.S. Credit for the idea goes to Jeff Norris, who will be presenting a  keynote on Wednesday. Khawaja, Victor, and Mark from Jeff's team worked  on the hardware and the server side, and Brian de Alwis, Benjamin Cabe  and myself wrote the simple e4 based client. Lars Vogel is helping with the documentation. Ian Skerrett from the Eclipse Foundation is coordinating everything, Lynn is going to help run the contest at EclipseCon, and a good number of e4 committers have been recruited as volunteers.<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/17547394-6533674154226052754?l=borisoneclipse.blogspot.com" width="1"/></div><img height="1" src="http://feeds.feedburner.com/~r/BorisBokowski/~4/dZlAUgF7egE" width="1"/></div>
    </content>
    <updated>2010-03-14T00:54:01Z</updated>
    <published>2010-03-14T00:10:00Z</published>
    <author>
      <name>Boris Bokowski</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/06344587055927544695</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-17547394</id>
      <author>
        <name>Boris Bokowski</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/06344587055927544695</uri>
      </author>
      <link href="http://borisoneclipse.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://borisoneclipse.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://www.blogger.com/feeds/17547394/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" rel="next" type="application/atom+xml"/>
      <link href="http://feeds.feedburner.com/BorisBokowski" rel="self" type="application/atom+xml"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>This blog is not intended to be implemented or extended by clients.</subtitle>
      <title>Boris Bokowski</title>
      <updated>2010-06-05T18:24:36Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://blog.richeton.com/?p=897</id>
    <link href="http://feedproxy.google.com/~r/LeBlogDeNicolasRicheton/~3/K-sRK0vOhXs/" rel="alternate" type="text/html"/>
    <title>Set Jetty buffer size (Maven)</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><img alt="" height="40" src="http://blog.richeton.com/wp-content/uploads/2008/05/java_logo-641.png" title="Java" width="64"/><br/>Working with large cookies and jetty, you may have faced this error : 
2010-03-11 18:18:31.275:WARN::HttpException(413,FULL head,null)
This is because jetty allows only 4ko for HTTP request and response headers. Using large cookies is enough to reach the limit. 
To add more room for headers, simply add &lt;headerBufferSize&gt;16384&lt;/headerBufferSize&gt; to your connector configuration (16k should be enough). 
Full [...]</div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><img alt="" height="40" src="http://blog.richeton.com/wp-content/uploads/2008/05/java_logo-641.png" title="Java" width="64"/><br/><p>Working with large cookies and jetty, you may have faced this error : </p>
<p><code>2010-03-11 18:18:31.275:WARN::HttpException(413,FULL head,null)</code></p>
<p>This is because jetty allows only 4ko for HTTP request and response headers. Using large cookies is enough to reach the limit. </p>
<p>To add more room for headers, simply add <strong>&lt;headerBufferSize&gt;<em>16384</em>&lt;/headerBufferSize&gt;</strong> to your connector configuration (16k should be enough). </p>
<p>Full jetty plug-in configuration :<br/>
<code>&lt;plugin&gt;<br/>
    			&lt;groupId&gt;org.mortbay.jetty&lt;/groupId&gt;<br/>
    			&lt;artifactId&gt;jetty-maven-plugin&lt;/artifactId&gt;<br/>
    			&lt;version&gt;7.0.1.v20091125&lt;/version&gt;<br/>
    			&lt;configuration&gt;&lt;scanIntervalSeconds&gt;10&lt;/scanIntervalSeconds&gt;<br/>
    			&lt;connectors&gt;<br/>
            &lt;connector implementation="org.eclipse.jetty.server.nio.SelectChannelConnector"&gt;<br/>
              &lt;port&gt;8080&lt;/port&gt;<br/>
              &lt;maxIdleTime&gt;60000&lt;/maxIdleTime&gt;<br/>
              &lt;headerBufferSize&gt;16192&lt;/headerBufferSize&gt;<br/>
            &lt;/connector&gt;<br/>
        &lt;/connectors&gt;<br/>
    			&lt;/configuration&gt;<br/>
    		&lt;/plugin&gt;</code></p>
<img height="1" src="http://feeds.feedburner.com/~r/LeBlogDeNicolasRicheton/~4/K-sRK0vOhXs" width="1"/></div>
    </content>
    <updated>2010-03-11T17:25:48Z</updated>
    <category term="Java"/>
    <category term="Maven"/><feedburner:origlink xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://blog.richeton.com/2010/03/11/set-jetty-buffer-size-maven/</feedburner:origlink>
    <author>
      <name>Nicolas Richeton</name>
    </author>
    <source>
      <id>http://blog.richeton.com</id>
      <link href="http://blog.richeton.com" rel="alternate" type="text/html"/>
      <link href="http://feeds.feedburner.com/LeBlogDeNicolasRicheton" rel="self" type="application/atom+xml"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>on Eclipse and Java development</subtitle>
      <title>Nicolas Richeton</title>
      <updated>2010-06-09T06:12:16Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://blog.richeton.com/?p=890</id>
    <link href="http://feedproxy.google.com/~r/LeBlogDeNicolasRicheton/~3/wjx8JBpBihk/" rel="alternate" type="text/html"/>
    <title>Wicket adapter for WAT : include block support</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><img alt="" height="40" src="http://blog.richeton.com/wp-content/uploads/2008/05/java_logo-641.png" title="Java" width="64"/><br/>I just added a new WATBlock component to Web Assemble Tool Wicket adapter (webassembletool-wicket). 
This is the equivalent of assemble:includeBlock jsp tag, which allows to include content from a remote web site into your application. 
Now the Wicket adapter has the minimal components to be useable in a project (WATTemplate, WATBlock).
I’ve also added some ready-to-use [...]</div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><img alt="" height="40" src="http://blog.richeton.com/wp-content/uploads/2008/05/java_logo-641.png" title="Java" width="64"/><br/><p>I just added a new <strong>WATBlock</strong> component to <a href="http://webassembletool.sourceforge.net/">Web Assemble Tool</a> <a href="http://wicket.apache.org/">Wicket</a> adapter (<a href="http://webassembletool.sourceforge.net/webassembletool-wicket/index.html">webassembletool-wicket</a>). </p>
<p>This is the equivalent of assemble:includeBlock jsp tag, which allows to include content from a remote web site into your application. </p>
<p>Now the <a href="http://wicket.apache.org/">Wicket</a> adapter has the minimal components to be useable in a project (WATTemplate, WATBlock).</p>
<p>I’ve also added some ready-to-use demo content and template in order to ease WAT learning. <strong>These files already have WAT tags included (look at the html source to get block names) </strong>: </p>
<ul>
<li><a href="http://webassembletool.svn.sourceforge.net/viewvc/webassembletool/trunk/src/site/resources/examples/content/block.html">Simple content</a></li>
<li><a href="http://webassembletool.svn.sourceforge.net/viewvc/webassembletool/trunk/src/site/resources/examples/content/blocks.html">Multiple content blocks</a></li>
<li><a href="http://webassembletool.svn.sourceforge.net/viewvc/webassembletool/trunk/src/site/resources/examples/templates/sparkle/index.html">3 columns template</a></li>
</ul>
<p>The website has yet to be updated.<br/>
Enjoy</p>
<img height="1" src="http://feeds.feedburner.com/~r/LeBlogDeNicolasRicheton/~4/wjx8JBpBihk" width="1"/></div>
    </content>
    <updated>2010-03-09T18:23:45Z</updated>
    <category term="Java"/>
    <category term="WAT"/><feedburner:origlink xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://blog.richeton.com/2010/03/09/wicket-adapter-for-wat-include-block-support/</feedburner:origlink>
    <author>
      <name>Nicolas Richeton</name>
    </author>
    <source>
      <id>http://blog.richeton.com</id>
      <link href="http://blog.richeton.com" rel="alternate" type="text/html"/>
      <link href="http://feeds.feedburner.com/LeBlogDeNicolasRicheton" rel="self" type="application/atom+xml"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>on Eclipse and Java development</subtitle>
      <title>Nicolas Richeton</title>
      <updated>2010-06-09T06:12:17Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-11200164.post-5609066850391656326</id>
    <link href="http://blog.nirav.name/feeds/5609066850391656326/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=11200164&amp;postID=5609066850391656326" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/11200164/posts/default/5609066850391656326" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/11200164/posts/default/5609066850391656326" rel="self" type="application/atom+xml"/>
    <link href="http://blog.nirav.name/2010/03/eclipse-refactoring-for-legacy-code.html" rel="alternate" type="text/html"/>
    <title>Eclipse Refactoring for legacy code</title>
    <summary>It has been quite sometime since I wrote anything on this blog, twitter probably spoiled me. If you are following me on twitter, you probably noticed announcement of  a small eclipse plugin for automated refactoring for Legacy Code. 


Before few months, I wrote an LTK refactoring mainly in Scala (yes, eclipse plugin in Scala language) to forward static method calls in a Java method to an</summary>
    <updated>2010-03-07T18:04:28Z</updated>
    <published>2010-03-07T17:58:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="Scala"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="Refactoring"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="Eclipse"/>
    <author>
      <name>Nirav Thaker</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/07204297663478577248</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-11200164</id>
      <author>
        <name>Nirav Thaker</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/07204297663478577248</uri>
      </author>
      <link href="http://blog.nirav.name/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/11200164/posts/default/-/Eclipse" rel="self" type="application/atom+xml"/>
      <link href="http://blog.nirav.name/search/label/Eclipse" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>Thoughts on Programming, Eclipse and Open Source.</subtitle>
      <title>Nirav's Contemplations</title>
      <updated>2010-06-03T09:36:00Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://dev.eclipse.org/blogs/memoryanalyzer/?p=112</id>
    <link href="http://dev.eclipse.org/blogs/memoryanalyzer/2010/02/25/heap-dump-analysis-with-memory-analyzer-part-2-shallow-size/" rel="alternate" type="text/html"/>
    <title>Heap Dump Analysis with Memory Analyzer, Part 2: Shallow Size</title>
    <summary>In the second part of the blog series dedicated to heap dump analysis with Memory Analyzer (see previous post here) I will have a detailed look at the shallow size of objects in the heap dump. In Memory Analyzer the term shallow size means the size of an object itself, without counting and accumulating the [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>In the second part of the blog series dedicated to heap dump analysis with <a href="http://www.eclipse.org/mat/">Memory Analyzer</a> (see previous post <a href="http://dev.eclipse.org/blogs/memoryanalyzer/2010/01/25/heap-dump-analysis-with-memory-analyzer-part-1-heap-dumps/">here</a>) I will have a detailed look at the shallow size of objects in the heap dump. In Memory Analyzer the term shallow size means the size of an object itself, without counting and accumulating the size of other objects referenced from it. For example the shallow size of an instance of java.lang.String will not include the memory needed for the underlying char[].</p>
<p>At first look this seems like a clear definition and a relatively boring topic to read about. So why did I decide to write about it? Because despite of the understandable definition, it is not always straightforward (for the tool developers) to calculate the shallow size, or (for a user) to understand how the size was calculated. The reasons? – different JVM vendors, different pointer sizes (32 / 64 bit), different dump formats, insufficient data in some heap dumps, etc … These factors could lead to small differences in the shallow sizes for objects of the same type shallow sizes being displayed for objects of the same type, and thus to questions.</p>
<p>Is it really important to know the precise size? Not necessarily. If you got a heap dump from an OutOfMemoryError in your production system, and MAT helps you to <a href="http://dev.eclipse.org/blogs/memoryanalyzer/2008/05/27/automated-heap-dump-analysis-finding-memory-leaks-with-one-click/">easily find the leak suspect</a> there – let’s say it is some 500Mb big object - then the shallow size of every individual object accumulated in the suspect’s size doesn’t really matter. The suspect is clear and you can go on and try to fix the problem.</p>
<p>On the other hand, if you are trying to understand the impact of adding some fields to your “base” classes, then the size of the individual instance can be of interest.</p>
<p>In the rest of the post I would have a look at the information available (or missing) in the different snapshot formats, explain what MAT displays as shallow size in the different cases, and try to answer some of the questions related to the shallow size which we usually get. If you are interested, read further.</p>
<p><span id="more-112"/><br/>
As I mentioned already, the various snapshot formats contain different pieces of information about the objects. I will look at each of them separately, and additionally differentiate between object instances and classes. For more information on the different heap dump formats see <a href="http://dev.eclipse.org/blogs/memoryanalyzer/2010/01/25/heap-dump-analysis-with-memory-analyzer-part-1-heap-dumps/">part one</a> of the blog series.</p>
<p><strong>Instance Size in HPROF Heap Dumps</strong></p>
<p>The heap dumps in HPROF binary format do not provide the correct size of each instance. What they provide is the number of bytes used to store the necessary data in the heap dump, but not the number of bytes the VM really needs to store the instance in the heap. Therefore, in MAT we have to (and attempt to) model how the VM would store the instance and how much memory it would need. </p>
<p>The approach we have to calculate the sizes is the following:</p>
<p>Instance Shallow Size = [object header] + space for fields of super class N + [some bytes because of alignment] + … + space for own fields +  [some bytes because of alignment]</p>
<p>The sizes originally provided in the hprof file do not contain the object header and the additional space the VM uses to have the object addresses aligned in a certain way. These are namely the parameters we guess on our own. Does this always work? No. Unfortunately not. In the <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=231296">Bugzilla entry 231296</a> you can find some discussions on the topic, and also what the current state is. Here is just a short summary:</p>
<li>The formula we use gives correct results for dumps from 64 bit Sun VMs (1.4, 1.5, 1.6)</li>
<li>With the formula we use to calculated the sizes for dumps from 32 bit Sun VMs we observed: correct results for 1.6 dumps; small deviations for a handful of objects in 1.5 dumps</li>
<li>For the special case of a x64 Sun VM with compressed OOPs we have no solution at the moment. We haven’t found a way to guess from the HPROF file that the pointers were compressed</li>
<p><strong>Instance Size in IBM System Dumps (read with DTFJ)</strong></p>
<p>The DTFJ provides already the correct instance size for the objects, and in MAT we don’t have to do any guessing – the instance sizes are correct. What needs to mentioned is that it may happen that two instances of the same class and in the same heap dump have different shallow sizes. The Memory Analyzer was not prepared until recently to handle such a case. More information on when exactly such a difference could appear and some discussions on the necessary changes can be found in <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=301228">Bugzilla entry 301228</a>.</p>
<p><strong>Instance Size in PHD Dumps</strong></p>
<p>The sizes provided in the PHD (Portable Heap Dumps from IBM JVMs) dumps are also correct and MAT just displays them without any further computations.</p>
<p><strong>Class Size in HPROF</strong></p>
<p>The HPROF format does not provide information about the memory needed for a class -  for bytecode, for jitted code, etc… For every class the Memory Analyzer will show as shallow size the sum of the shallow sizes of all static fields of the class.</p>
<p><strong>Class Size in IBM System Dumps</strong></p>
<p>DTFJ provides more information about the classes sizes. The shallow size for classes reported by MAT includes the size of all methods (bytecode and jitted code sections) and also the on heap size of the java.lang.Class object.</p>
<p><strong>Class Size in PHD Dumps</strong></p>
<p>The PHD dumps do not contain information about the method sizes. The shallow size for classes in PHD dumps is just the size of the java.lang.Class object.</p>
<p><strong>Shallow Size of a Set of Objects</strong></p>
<p>The “Shallow Size” column appears in many views where objects have been aggregated in groups based on different criteria. The shallow size of a set of objects is just the sum of the shallow sizes of the individual objects in the set. There are two things to mention here, which have raised questions in the past:</p>
<li>in a class histogram (i.e. when objects are aggregated based on their class) the table may contain more than one entry with the same class name. This happens if the same class is loaded with more than one class loaders. If one is interested in the total shallow size of the instances of all classes, one can filter the histogram and sum up the sizes</li>
<li>the classes are added to the record for java.lang.Class. This means that the shallow size in the histogram entry for java.lang.Class is the sum of the shallow sizes of all classes (calculated as described above in the “Class Size …” paragraphs. </li>
<p><strong>Summary</strong></p>
<p>My personal view is that if one is using the Memory Analyzer to find the root cause of an OutOfMemoryError, then the shallow sizes of the individual objects are not that important. </p>
<p>If for a given purpose one needs to understand in detail the sizes of objects, then it is important to remember that they depend on the concrete JVM and heap dump type, and that in some cases the displayed sizes are not given by the VM but are calculated in MAT. I hope that the short overview given in this blog could be helpful for better understanding these details.</p>
<p><strong>What Comes Next?</strong></p>
<p>In the next post I plan to write again about size, but a different one - the retained (or keep alive) size of objects and object sets.</p></div>
    </content>
    <updated>2010-02-25T08:41:36Z</updated>
    <category term="Memory Analyzer"/>
    <author>
      <name>Krum Tsvetkov</name>
    </author>
    <source>
      <id>http://dev.eclipse.org/blogs/memoryanalyzer</id>
      <link href="http://dev.eclipse.org/blogs/memoryanalyzer/feed" rel="self" type="application/atom+xml"/>
      <link href="http://dev.eclipse.org/blogs/memoryanalyzer" rel="alternate" type="text/html"/>
      <subtitle>News from the Memory Analyzer</subtitle>
      <title>Memory Analyzer News</title>
      <updated>2010-02-25T08:41:36Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-7742435659113733626.post-4226458747377565315</id>
    <link href="http://nokiacarbideoneclipse.blogspot.com/feeds/4226458747377565315/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=7742435659113733626&amp;postID=4226458747377565315" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/7742435659113733626/posts/default/4226458747377565315" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/7742435659113733626/posts/default/4226458747377565315" rel="self" type="application/atom+xml"/>
    <link href="http://nokiacarbideoneclipse.blogspot.com/2010/02/aligning-carbide-30-with-eclipse-helios.html" rel="alternate" type="text/html"/>
    <title>Aligning Carbide 3.0 with Eclipse Helios</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Like most teams that build C/C++ tools on top of Eclipse &amp; CDT we have been building Carbide with the latest platform release and a somewhat forked version of CDT. This made sense as most of our releases have shipped in the winter or spring, long after the last major Eclipse release. But with the next major release of Carbide due after Helios we’ve jumped on the opportunity to align more closely on Eclipse 3.6 and CDT 7.0. How closely? Well, we’ve just started creating our Carbide builds with 3.6M5 and the CDT 7.0 sources straight out of the eclipse.org CVS repository.<br/><br/>We hesitated to do this in the past because it means we effectively have the entire CDT team contributing to Carbide in real time: any one of the committers can break our build or introduce bugs. But we’re more confident now and our experience with the CDT community has been very good: people rarely break the build and the quality and review of contributions has been excellent.<br/><br/>And since we sync up with the latest platform and CDT eventually anyway is makes more sense to discover any issues at the moment when the work is developed and contributed, not months later. Now both our internal test team and the Carbide beta group can give the new platform and CDT stuff a workout before it’s released. This also lets us get rid of our internal copy of CDT we would occasionally sync with the public one. Trying to keep it updated was a pain and it created a temping way for us to make changes that weren’t really ready to go back into the community.<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/7742435659113733626-4226458747377565315?l=nokiacarbideoneclipse.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2010-02-24T16:44:30Z</updated>
    <published>2010-02-24T16:44:00Z</published>
    <author>
      <name>Ken Ryall</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/13632672249607934353</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-7742435659113733626</id>
      <author>
        <name>Ken Ryall</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/13632672249607934353</uri>
      </author>
      <link href="http://nokiacarbideoneclipse.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/7742435659113733626/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://nokiacarbideoneclipse.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://www.blogger.com/feeds/7742435659113733626/posts/default?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <subtitle>Building Nokia's C++ tools on Eclipse</subtitle>
      <title>Nokia Carbide.c++ on Eclipse</title>
      <updated>2010-04-22T13:42:58Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-17547394.post-2447516125836728441</id>
    <link href="http://borisoneclipse.blogspot.com/feeds/2447516125836728441/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=17547394&amp;postID=2447516125836728441" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/17547394/posts/default/2447516125836728441?v=2" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/17547394/posts/default/2447516125836728441?v=2" rel="self" type="application/atom+xml"/>
    <link href="http://borisoneclipse.blogspot.com/2010/02/eclipse-board-election-facts-2010.html" rel="alternate" type="text/html"/>
    <title>Eclipse Board Election Facts (2010 edition)</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><div style="text-align: center;"><a href="https://foundation.eclipse.org/vote2010/"><img src="http://www.eclipse.org/membership/vote2008/vote.jpg"/></a><br/></div><div><br/></div>You have hopefully seen one of the <a href="http://www.eclipse.org/community/newsletter/2010/2010February.html">announcements</a> that the elections for <a href="http://www.eclipse.org/org/elections/nominees.php">committer representatives</a> for the Eclipse Board of Directors is now open.<div><br/><div>Rather than explaining why you should vote for me :-), I thought it would be useful to summarize the key election facts:</div><div><ul><li>You are voting for a one-year term starting April 2010. Voting is open as of yesterday, for three weeks until March 12, 3 pm Eastern time. Check out the <a href="http://www.eclipse.org/org/elections/nominees.php">committer candidates</a> and their vision statements.</li><li>To vote, check if you received an email from emo@eclipse.org on Feb 19, 2009. It contains the <a href="https://foundation.eclipse.org/vote2010/">URL</a> for voting, as well as the required voting password. If you haven't received a voting password, you are probably not (yet) an Eclipse member, and have to sign the membership agreement first<span class="Apple-style-span"/>. To understand why this is required, read <a href="http://www.eclipse.org/membership/become_a_member/committer.php">this page</a>, then read <a href="http://www.eclipse.org/membership/become_a_member/membershipProcess.php">this page</a> to make sure you fill out <a href="http://www.eclipse.org/org/documents/Eclipse%20MEMBERSHIP%20AGMT%202008_04_16%20Final.pdf">the form</a> correctly. No voting privileges without signing the form!</li><li>The Board will have 20 directors, as follows:<ul><li>Fourteen directors for the <a href="http://www.eclipse.org/membership/showMembersWithTag.php?TagID=strategic">strategic members</a>, one seat per member.</li><li>Three directors from "<a href="http://www.eclipse.org/membership/vote2008/">sustaining members</a>". There are six candidates on which sustaining members (companies) get to vote.</li><li>Three directors representing the committers. There are five <a href="http://www.eclipse.org/org/elections/nominees.php">committer candidates</a>.<br/></li></ul></li></ul></div></div><div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/17547394-2447516125836728441?l=borisoneclipse.blogspot.com" width="1"/></div><img height="1" src="http://feeds.feedburner.com/~r/BorisBokowski/~4/fCBKshxklEk" width="1"/></div>
    </content>
    <updated>2010-02-23T20:55:37Z</updated>
    <published>2010-02-23T20:15:00Z</published>
    <author>
      <name>Boris Bokowski</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/06344587055927544695</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-17547394</id>
      <author>
        <name>Boris Bokowski</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/06344587055927544695</uri>
      </author>
      <link href="http://borisoneclipse.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://borisoneclipse.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://www.blogger.com/feeds/17547394/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" rel="next" type="application/atom+xml"/>
      <link href="http://feeds.feedburner.com/BorisBokowski" rel="self" type="application/atom+xml"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>This blog is not intended to be implemented or extended by clients.</subtitle>
      <title>Boris Bokowski</title>
      <updated>2010-06-05T18:24:36Z</updated>
    </source>
  </entry>

  <entry xml:lang="en-EU">
    <id>tag:ralph-at-eclipse.blog.de,2010-02-23:/2010/02/23/meet-the-eclipse-community-at-cebit-8061145/</id>
    <link href="http://ralph-at-eclipse.blog.de/2010/02/23/meet-the-eclipse-community-at-cebit-8061145/" rel="alternate" type="text/html"/>
    <title>Meet the Eclipse Community at CeBIT 2010</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>From March 2 - 6, we will be at the CeBIT in Hannover, Germany.</p>
	<p>With the help of the European Marketing Group, members of the Eclipse Foundation are teaming up to showcase Eclipse technologies and solutions at CeBIT 2010. Drop by the Eclipse Island, Booth #D38 in the Open Source Park, Hall 2, to meet representatives from <a href="http://eclipsesource.com/">EclipseSource</a>, <a href="http://www.actuate.com/">Actuate</a>, <a href="http://www.sopera.de/">SOPERA</a>, <a href="http://www.bredex.de/">Bredex</a> and the <a href="http://eclipse.org">Eclipse Foundation</a>.</p>
	<p>Visit the demo theater and see the RCP, RAP, BIRT, and Swordfish in action, as well as products based on these eclipse technologies such as Yoxos and GUIdancer. And, enter the drawing to have a chance to win great prizes every day.</p>
	<p>I'll be there on Tuesday, Wednesday and Friday and would be delighted to chat with you.</p>
	<p>For more information, go to <a href="http://wiki.eclipse.org/CeBIT2010"/><a href="http://wiki.eclipse.org/CeBIT2010">http://wiki.eclipse.org/CeBIT2010</a></p>
	<p>Ralph
</p>
<p> <small> <a href="http://ralph-at-eclipse.blog.de/2010/02/23/meet-the-eclipse-community-at-cebit-8061145/#comments">Comments</a> </small> </p></div>
    </summary>
    <updated>2010-02-23T17:17:45Z</updated>
    <category term="tech"/>
    <category term="news"/>
    <category term="eclipse"/>
    <category term="cebit"/>
    <source>
      <id>http://ralph-at-eclipse.blog.de/</id>
      <logo>http://data5.blog.de/design/preview/ca/b3186b840d124daa1581d2a0d352c2_160x200.jpg</logo>
      <author>
        <name>Ralph Müller</name>
      </author>
      <link href="http://ralph-at-eclipse.blog.de/" rel="alternate" type="text/html"/>
      <link href="http://ralph-at-eclipse.blog.de/feed/rss2/posts/" rel="self" type="application/atom+xml"/>
      <subtitle>From my work life at the Eclipse Foundation</subtitle>
      <title>ralph@eclipse.org</title>
      <updated>2010-06-09T06:54:20Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-29207064.post-1614749492479629248</id>
    <link href="http://pweclipse.blogspot.com/feeds/1614749492479629248/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=29207064&amp;postID=1614749492479629248" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/29207064/posts/default/1614749492479629248" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/29207064/posts/default/1614749492479629248" rel="self" type="application/atom+xml"/>
    <link href="http://pweclipse.blogspot.com/2010/02/pde-will-tell-you.html" rel="alternate" type="text/html"/>
    <title>PDE will tell you</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">We're experimenting with a lot of new technology in e4 and with different development paradigms.  It's all good.  But development on 3.x and with PDE will continue for many years to come, and PDE has some often overlooked tools that can really help you develop your plugin and find your IDs.<br/><br/>1) Plug-in Selection Spy (ALT+SHIFT+F1) activate a part or dialog page and hit ALT+SHIFT+F1.  Plug-in spy will open a popup and describe the contents (at least it will try).  It will provide information about what ID and implementation class the focus part has, as well as which plugin contributed it, what are the active identifiers (menu, help, etc) and what type is the selection that part publishes.<br/><br/>2) Plug-in Menu Spy (ALT+SHIFT+F2).  Hit ALT+SHIFT+F2 and then pick a menu item.  The popup will provide information about where that item lives, action ID, command IDs if available, etc.<br/><br/>3) In the PDE Editor, the Browse... button.  Many extensions need IDs provided in another extension.  For example a menu contribution (org.eclipse.ui.menus) needs a commandId (org.eclipse.ui.commands).  If you are asked to fill in an ID and there is a Browse... button, use it.  It will give you a filterable list, and cuts down on cut&amp;paste errors.<br/><br/>These 3 are examples of PDE tools that you probably don't use very often, but when you need them they're *really* helpful.<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/29207064-1614749492479629248?l=pweclipse.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2010-02-19T19:05:37Z</updated>
    <published>2010-02-19T19:05:00Z</published>
    <author>
      <name>paulweb515</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/13481600474889179891</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-29207064</id>
      <author>
        <name>paulweb515</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/13481600474889179891</uri>
      </author>
      <link href="http://pweclipse.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/29207064/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://pweclipse.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>Musings from a committer in Platform UI</subtitle>
      <title>Paul's Eclipse Blog</title>
      <updated>2010-06-08T10:00:00Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://www.modumind.com/?p=1174</id>
    <link href="http://www.modumind.com/2010/02/18/interesting-opportunity-for-rcposgi-experts/" rel="alternate" type="text/html"/>
    <title>Interesting opportunity for RCP/OSGi experts</title>
    <summary>One of the things I love about being a trainer is that I get to visit and work with so many development teams. Every group of developers has their own chemistry, culture, skills and domain interests. Sometimes I think I’m learning as much as the teams I’m training.
As it happens, one of the teams I’ve [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>One of the things I love about being a trainer is that I get to visit and work with so many development teams. Every group of developers has their own chemistry, culture, skills and domain interests. Sometimes I think I’m learning as much as the teams I’m training.</p>
<p>As it happens, one of the teams I’ve enjoyed working with the most is looking for a full-time RCP/OSGi project lead. The company, <a href="http://www.extol.com">EXTOL</a>, is a small, successful ISV that creates B2B integration tools. I don’t do this too often, but I wanted to pass this on because I think it’s such a cool opportunity. What’s so cool about it, you ask?</p>
<ul>
<li>First, I don’t think there’s any better programming job than working for a small ISV. You can have a big impact and what you do matters. A lot.</li>
<li>EXTOL is re-architecting it’s products from the ground up (this is greenfield development) and they’re using a lot of interesting technologies – RCP, OSGi, EMF, GMF and more.</li>
<li>One of the coolest things they’re doing is leveraging OSGi on both the client-side and server-side. Very few projects are leveraging OSGi in this way, and I think the opportunities here are awesome.</li>
<li>Finally, the team is great. The developers are smart and easy to work with, management knows how to let developers be successful.</li>
</ul>
<p>So what’s the catch? Well, whether there’s a catch or not depends on what you’re looking for in your life at the moment. EXTOL is located in a small town (Pottsville) in the hills of eastern Pennsylvania. It’s a beautiful area with lots to do outdoors, a great place to raise a family and much more. It’s not for everyone, but I imagine it would be great for more than a few of the developers I’ve met.</p>
<p>If you’re interested, here’s <a href="http://www.extol.com/blog/?p=474">a post on the EXTOL blog</a> that goes into more detail. They’ll also have developers at EclipseCon, so feel free to introduce yourself to one of them (or me) if you’re there as well.</p>
<p><a href="http://www.addtoany.com/add_to/dzone?linkurl=http%3A%2F%2Fwww.modumind.com%2F2010%2F02%2F18%2Finteresting-opportunity-for-rcposgi-experts%2F&amp;linkname=Interesting%20opportunity%20for%20RCP%2FOSGi%20experts" rel="nofollow" target="_blank" title="DZone"><img alt="DZone" height="16" src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/dzone.png" width="16"/></a> <a href="http://www.addtoany.com/add_to/linkedin?linkurl=http%3A%2F%2Fwww.modumind.com%2F2010%2F02%2F18%2Finteresting-opportunity-for-rcposgi-experts%2F&amp;linkname=Interesting%20opportunity%20for%20RCP%2FOSGi%20experts" rel="nofollow" target="_blank" title="LinkedIn"><img alt="LinkedIn" height="16" src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/linkedin.png" width="16"/></a> <a href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Fwww.modumind.com%2F2010%2F02%2F18%2Finteresting-opportunity-for-rcposgi-experts%2F&amp;linkname=Interesting%20opportunity%20for%20RCP%2FOSGi%20experts" rel="nofollow" target="_blank" title="Delicious"><img alt="Delicious" height="16" src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/delicious.png" width="16"/></a> <a href="http://www.addtoany.com/add_to/digg?linkurl=http%3A%2F%2Fwww.modumind.com%2F2010%2F02%2F18%2Finteresting-opportunity-for-rcposgi-experts%2F&amp;linkname=Interesting%20opportunity%20for%20RCP%2FOSGi%20experts" rel="nofollow" target="_blank" title="Digg"><img alt="Digg" height="16" src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/digg.png" width="16"/></a> <a href="http://www.addtoany.com/add_to/evernote?linkurl=http%3A%2F%2Fwww.modumind.com%2F2010%2F02%2F18%2Finteresting-opportunity-for-rcposgi-experts%2F&amp;linkname=Interesting%20opportunity%20for%20RCP%2FOSGi%20experts" rel="nofollow" target="_blank" title="Evernote"><img alt="Evernote" height="16" src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/evernote.png" width="16"/></a> <a href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fwww.modumind.com%2F2010%2F02%2F18%2Finteresting-opportunity-for-rcposgi-experts%2F&amp;linkname=Interesting%20opportunity%20for%20RCP%2FOSGi%20experts" rel="nofollow" target="_blank" title="Facebook"><img alt="Facebook" height="16" src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/facebook.png" width="16"/></a> <a href="http://www.addtoany.com/add_to/friendfeed?linkurl=http%3A%2F%2Fwww.modumind.com%2F2010%2F02%2F18%2Finteresting-opportunity-for-rcposgi-experts%2F&amp;linkname=Interesting%20opportunity%20for%20RCP%2FOSGi%20experts" rel="nofollow" target="_blank" title="FriendFeed"><img alt="FriendFeed" height="16" src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/friendfeed.png" width="16"/></a> <a href="http://www.addtoany.com/add_to/google_bookmarks?linkurl=http%3A%2F%2Fwww.modumind.com%2F2010%2F02%2F18%2Finteresting-opportunity-for-rcposgi-experts%2F&amp;linkname=Interesting%20opportunity%20for%20RCP%2FOSGi%20experts" rel="nofollow" target="_blank" title="Google Bookmarks"><img alt="Google Bookmarks" height="16" src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/google.png" width="16"/></a> <a href="http://www.addtoany.com/add_to/reddit?linkurl=http%3A%2F%2Fwww.modumind.com%2F2010%2F02%2F18%2Finteresting-opportunity-for-rcposgi-experts%2F&amp;linkname=Interesting%20opportunity%20for%20RCP%2FOSGi%20experts" rel="nofollow" target="_blank" title="Reddit"><img alt="Reddit" height="16" src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/reddit.png" width="16"/></a> <a href="http://www.addtoany.com/add_to/squidoo?linkurl=http%3A%2F%2Fwww.modumind.com%2F2010%2F02%2F18%2Finteresting-opportunity-for-rcposgi-experts%2F&amp;linkname=Interesting%20opportunity%20for%20RCP%2FOSGi%20experts" rel="nofollow" target="_blank" title="Squidoo"><img alt="Squidoo" height="16" src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/squidoo.png" width="16"/></a> <a href="http://www.addtoany.com/add_to/stumbleupon?linkurl=http%3A%2F%2Fwww.modumind.com%2F2010%2F02%2F18%2Finteresting-opportunity-for-rcposgi-experts%2F&amp;linkname=Interesting%20opportunity%20for%20RCP%2FOSGi%20experts" rel="nofollow" target="_blank" title="StumbleUpon"><img alt="StumbleUpon" height="16" src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/stumbleupon.png" width="16"/></a> <a href="http://www.addtoany.com/add_to/technorati_favorites?linkurl=http%3A%2F%2Fwww.modumind.com%2F2010%2F02%2F18%2Finteresting-opportunity-for-rcposgi-experts%2F&amp;linkname=Interesting%20opportunity%20for%20RCP%2FOSGi%20experts" rel="nofollow" target="_blank" title="Technorati Favorites"><img alt="Technorati Favorites" height="16" src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/technorati.png" width="16"/></a> <a href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fwww.modumind.com%2F2010%2F02%2F18%2Finteresting-opportunity-for-rcposgi-experts%2F&amp;linkname=Interesting%20opportunity%20for%20RCP%2FOSGi%20experts" rel="nofollow" target="_blank" title="Twitter"><img alt="Twitter" height="16" src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/twitter.png" width="16"/></a> <a href="http://www.addtoany.com/add_to/yahoo_bookmarks?linkurl=http%3A%2F%2Fwww.modumind.com%2F2010%2F02%2F18%2Finteresting-opportunity-for-rcposgi-experts%2F&amp;linkname=Interesting%20opportunity%20for%20RCP%2FOSGi%20experts" rel="nofollow" target="_blank" title="Yahoo Bookmarks"><img alt="Yahoo Bookmarks" height="16" src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/yahoo.png" width="16"/></a> <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.modumind.com%2F2010%2F02%2F18%2Finteresting-opportunity-for-rcposgi-experts%2F&amp;linkname=Interesting%20opportunity%20for%20RCP%2FOSGi%20experts">Share/Save</a></p></div>
    </content>
    <updated>2010-02-18T19:07:32Z</updated>
    <category term="Announcement"/>
    <category term="OSGi"/>
    <category term="Rich Client Platform"/>
    <category term="eclipse"/>
    <author>
      <name>Patrick</name>
    </author>
    <source>
      <id>http://www.modumind.com</id>
      <link href="http://www.modumind.com/feed/?mrss=off" rel="self" type="application/atom+xml"/>
      <link href="http://www.modumind.com" rel="alternate" type="text/html"/>
      <subtitle>Eclipse RCP and OSGi training - online or onsite</subtitle>
      <title>Modular Mind</title>
      <updated>2010-04-27T13:48:19Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://overholt.ca/wp/?p=150</id>
    <link href="http://overholt.ca/wp/?p=150" rel="alternate" type="text/html"/>
    <title>Bootchart for Eclipse?</title>
    <summary>Doug pointed out yesterday how Eclipse startup performance isn’t great.  I asked on his blog entry, wouldn’t it be great if we had something like bootchart — or Michael Meeks‘ work (FOSDEM presentation) — for Eclipse?

Would this be a good Eclipse Summer of Code project?</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Doug <a href="http://cdtdoug.blogspot.com/2010/02/ok-eclipse-you-have-3-seconds.html#comment-form">pointed out</a> yesterday how Eclipse startup performance isn’t great.  I asked on his blog entry, wouldn’t it be great if we had something like <a href="http://www.bootchart.org/">bootchart</a> — or <a href="http://www.gnome.org/~michael/blog">Michael Meeks</a>‘ <a href="http://github.com/mmeeks/bootchart">work</a> (<a href="http://www.gnome.org/~michael/data/2010-02-09-bootchart2.pdf">FOSDEM presentation</a>) — for Eclipse?</p>
<p><a href="http://www.bootchart.org/images/bootchart.png"><img alt="bootchart-sm" class="aligncenter size-full wp-image-151" src="http://overholt.ca/wp/wp-content/uploads/2010/02/bootchart-sm1.png" title="bootchart-snippet"/></a></p>
<p>Would this be a good Eclipse Summer of Code project?</p></div>
    </content>
    <updated>2010-02-12T14:25:51Z</updated>
    <category term="Eclipse"/>
    <author>
      <name>Andrew Overholt</name>
    </author>
    <source>
      <id>http://overholt.ca/wp</id>
      <link href="http://overholt.ca/wp/?feed=rss2&amp;cat=6" rel="self" type="application/atom+xml"/>
      <link href="http://overholt.ca/wp" rel="alternate" type="text/html"/>
      <subtitle>Eclipse, FOSS, Linux, Free Java</subtitle>
      <title>Andrew's blog » Eclipse</title>
      <updated>2010-04-27T13:57:35Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://overholt.ca/wp/?p=143</id>
    <link href="http://overholt.ca/wp/?p=143" rel="alternate" type="text/html"/>
    <title>Mouse pointer</title>
    <summary>My friend Adam pointed me to Anatoly Zenkov’s generated graph of his mouse pointer movements during 3 hours using Eclipse:
http://www.flickr.com/photos/anatoliy_zenkov/4160723711
The previous photo in his stream has a screenshot of his desktop in the background so you can see what lines up where.  It’s more fun to guess, though</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>My friend Adam pointed me to Anatoly Zenkov’s generated graph of his mouse pointer movements during 3 hours using Eclipse:</p>
<p><a href="http://www.flickr.com/photos/anatoliy_zenkov/4160723711">http://www.flickr.com/photos/anatoliy_zenkov/4160723711</a></p>
<p>The previous photo in his stream has a screenshot of his desktop in the background so you can see what lines up where.  It’s more fun to guess, though <img alt=":)" class="wp-smiley" src="http://overholt.ca/wp/wp-includes/images/smilies/icon_smile.gif"/> </p></div>
    </content>
    <updated>2010-02-09T16:40:23Z</updated>
    <category term="Eclipse"/>
    <author>
      <name>Andrew Overholt</name>
    </author>
    <source>
      <id>http://overholt.ca/wp</id>
      <link href="http://overholt.ca/wp/?feed=rss2&amp;cat=6" rel="self" type="application/atom+xml"/>
      <link href="http://overholt.ca/wp" rel="alternate" type="text/html"/>
      <subtitle>Eclipse, FOSS, Linux, Free Java</subtitle>
      <title>Andrew's blog » Eclipse</title>
      <updated>2010-04-27T13:57:35Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://abstratt.com/blog/?p=117</id>
    <link href="http://abstratt.com/blog/2010/02/08/uml-may-suck-but-is-there-anything-better/" rel="alternate" type="text/html"/>
    <title>UML may suck, but is there anything better?</title>
    <summary>UML has been getting a lot of criticism from all sides, even from the modeling community. Sure, it has its warts:

it is a huge language, that wants to be all things to all kinds of people (business analysts, designers, developers, users)
it has a specification that is lengthy, hard to navigate and often vague, incomplete or [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>UML has been getting a lot of criticism from all sides, even from the modeling community. Sure, it has its warts:</p>
<ul>
<li>it is a huge language, that wants to be all things to all kinds of people (business analysts, designers, developers, users)</li>
<li>it has a specification that is lengthy, hard to navigate and often vague, incomplete or inconsistent</li>
<li>it is modular, but its composition mechanism (package merging) is esoteric and not well understood by most</li>
<li>it is extensible, but language extensions (profiles and stereotypes) are 2nd-class citizens</li>
<li>it lacks a reference implementation</li>
<li>its model interchange specification is so vague that often two valid implementations won’t work with each other</li>
<li>its committees work behind closed doors, there is no opportunity for non-members to provide feedback on specifications while they are in progress (membership is paid)</li>
<li><em>&lt;add your own grudges here&gt;</em></li>
</ul>
<p>However, even though I see a lot of room for improvement, <em>I still don’t think there is anything better out there</em>. The more I become familiar with the UML specification, the more impressed I am about its completeness, and how issues I had never thought about before were dealt with by its designers. And it seems that the OMG recognizes some of the issues I raised above as shortcomings and is working towards addressing them. Unfortunately, some fundamental problems are likely to remain.</p>
<p>In my opinion (hey, this is my blog!), for a modeling language to beat UML:</p>
<ul>
<li>it must be general purpose, not tailored to a specific architecture or style of software</li>
<li>it must not be tailored to an implementation language</li>
<li>it must be based on or compatible with the object paradigm</li>
<li>it must not be limited to one of the dominant aspects of software (state, structure, behavior)</li>
<li>it must be focused on executability/code generation (and thus suitable for MDD) as opposed to documentation/communication</li>
<li>it must be modular, and user extensions should be 1st class citizens</li>
<li>its specification should follow an open process</li>
<li>it must not be owned/controlled by a single company</li>
<li>it must not require royalties for adoption/implementation</li>
</ul>
<p>My suspicion is that the next modeling language that will beat the UML as we know today is <em>the future major release of UML</em>. Honestly, I would rather see a new modeling language built from scratch, focused on building systems, that didn’t carry all that requirement/communication/documentation-oriented crap^H^H^H^Hbaggage that UML has (yes, I am talking about you, use case, sequence, instance and collaboration diagrams!), and developed in a more open and agile process than the OMG can possibly do. But I am not hopeful. The current divide between general purpose and domain specific modeling communities is not helping either.</p>
<p>So, what is your opinion? Do you think there are any better alternatives that address the shortcomings of UML without imposing any significant caveats of their own? Have your say.</p></div>
    </content>
    <updated>2010-02-08T08:06:08Z</updated>
    <category term="Eclipse"/>
    <category term="UML"/>
    <category term="editorial"/>
    <author>
      <name>rafael.chaves</name>
    </author>
    <source>
      <id>http://abstratt.com/blog</id>
      <link href="http://abstratt.com/blog/category/eclipse/feed/" rel="self" type="application/atom+xml"/>
      <link href="http://abstratt.com/blog" rel="alternate" type="text/html"/>
      <subtitle>A company obsessed with one single goal: stopping people from writing so much code</subtitle>
      <title>abstratt: news from the front » Eclipse</title>
      <updated>2010-02-08T08:06:08Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://abstratt.com/blog/?p=168</id>
    <link href="http://abstratt.com/blog/2010/02/06/myths-that-give-model-driven-development-a-bad-name/" rel="alternate" type="text/html"/>
    <title>Myths that give model-driven development a bad name</title>
    <summary>It seems that people that resist the idea of model-driven development (MDD) do so because they believe no tool can have the level of insight a programmer can. They are totally right about that last part. But that is far from being the point of MDD anyways. However, I think that unfortunate misconception is one [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>It seems that people that resist the idea of model-driven development (MDD) do so because they believe <strong>no tool can have the level of insight a programmer can</strong>. They are totally right about that last part. But that is far from being the point of MDD anyways. However, I think that unfortunate misconception is one of the main reasons MDD hasn’t caught on yet. Because of that, I thought it would be productive to explore this and other myths that give MDD a bad name.</p>
<p><strong>Model-driven development myths</strong></p>
<p>Model-driven development <strong>makes programmers redundant</strong>. MDD helps with the boring, repetitive work, leaving more time for programmers to focus on the intellectually challenging aspects. Programmers are still needed to model a solution, albeit using a more appropriate level of abstraction. And programmers are still needed to encode implementation strategies in the form of reusable code generation templates or model-driven runtime engines.</p>
<p>Model-driven development <strong>enables business analysts to develop software</strong> (a variation of the previous myth). The realm of business analysts is the problem space. They usually don’t have the skills required to devise a solution in software. Tools cannot bridge that gap. Unless the mapping between the problem space and solution space is really trivial (but then you wouldn’t want to do that kind of trivial job anyways, right?).</p>
<p>Model-driven development <strong>generates an initial version of the code</strong> that can be manually maintained from there on. That is not model-driven, it is model-started at most. Most of the benefits of MDD are missed unless models truly drive development.</p>
<p>Model-driven development <strong>involves round-trip engineering</strong>. In MDD, models are king, 3GL source code is object code, models are the source. The nice abstractions from the model-level map to several different implementation artifacts that capture some specific aspect of the original abstraction, combined with implementation-related aspects. That mapping is not without loss of information, so it is usually not reversible in a practical way, even less so if the codebase is manually maintained (and thus inherently inconsistent/ill-formed). More on this in <a href="http://abstratt.com/blog/2009/05/03/on-code-being-model/">this older post</a>, pay attention to the comments as well.</p>
<p>Model-driven development <strong>is an all or nothing proposition</strong>. You use MDD where it is beneficial, combining with manually developed artifacts and components where appropriate. But avoid mixing manual written code with automatically generated code in the same artifact.</p>
<p>What is your opinion? Do you agree these are myths? Any other myths about MDD that give it a bad name that you have seen being thrown around?</p>
<p>Rafael</p></div>
    </content>
    <updated>2010-02-06T07:58:38Z</updated>
    <category term="Eclipse"/>
    <category term="editorial"/>
    <author>
      <name>rafael.chaves</name>
    </author>
    <source>
      <id>http://abstratt.com/blog</id>
      <link href="http://abstratt.com/blog/category/eclipse/feed/" rel="self" type="application/atom+xml"/>
      <link href="http://abstratt.com/blog" rel="alternate" type="text/html"/>
      <subtitle>A company obsessed with one single goal: stopping people from writing so much code</subtitle>
      <title>abstratt: news from the front » Eclipse</title>
      <updated>2010-02-08T08:06:08Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-29207064.post-8755768565070088959</id>
    <link href="http://pweclipse.blogspot.com/feeds/8755768565070088959/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=29207064&amp;postID=8755768565070088959" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/29207064/posts/default/8755768565070088959" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/29207064/posts/default/8755768565070088959" rel="self" type="application/atom+xml"/>
    <link href="http://pweclipse.blogspot.com/2010/02/e4-and-early-compatibility.html" rel="alternate" type="text/html"/>
    <title>e4 and "early" compatibility</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>As the model for the e4 workbench stabilizes we're back working hard on the compatibility layer.  Right now it consists of the gutted org.eclipse.ui.workbench plugin.  The idea is to support the API we have in org.eclipse.workbench, but based on the e4 workbench model and e4 services, instead of the mass of internal code in parts, perspectives, and presentations.</p><p>We're taking a 2 pronged approach.  Creating an e4 IDE application and slowly adding useful views and actions, seeing what is needed to bring them up.  We want to support a useful number of views (like the Project Explorer and Problems view) sooner rather than later.</p><p>We're also running the <code>org.eclipse.ui.tests.api.ApiTestSuite</code> (after cleaning up internal references in the tests themselves with the aid of a tweaklet).  ApiTestSuite covers the most common scenarios (opening and closing windows, perspectives, views, and editors), and supporting our API is a good way to help 3.x plugins run on e4 with the compatibility layer.</p><p>There's always a lot to do, so if you are interested please check out <a href="http://wiki.eclipse.org/E4/Compatibility/Running_the_compatibility_layer">http://wiki.eclipse.org/E4/Compatibility/Running_the_compatibility_layer</a>.  You can also post to the <a href="https://dev.eclipse.org/mailman/listinfo/e4-dev">e4-dev</a> mailing list, or join us on irc at irc://freenode.net/#eclipse-e4 </p><div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/29207064-8755768565070088959?l=pweclipse.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2010-02-05T19:39:01Z</updated>
    <published>2010-02-05T19:39:00Z</published>
    <author>
      <name>paulweb515</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/13481600474889179891</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-29207064</id>
      <author>
        <name>paulweb515</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/13481600474889179891</uri>
      </author>
      <link href="http://pweclipse.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/29207064/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://pweclipse.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>Musings from a committer in Platform UI</subtitle>
      <title>Paul's Eclipse Blog</title>
      <updated>2010-06-08T10:00:00Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-7747481246630004369.post-7043424011239991146</id>
    <link href="http://java-persistence.blogspot.com/feeds/7043424011239991146/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=7747481246630004369&amp;postID=7043424011239991146" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/7747481246630004369/posts/default/7043424011239991146" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/7747481246630004369/posts/default/7043424011239991146" rel="self" type="application/atom+xml"/>
    <link href="http://java-persistence.blogspot.com/2010/02/eclipselink-on-linkedin.html" rel="alternate" type="text/html"/>
    <title>EclipseLink on LinkedIn</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">I was back in the field last week helping a customer with their migration to EclipseLink from a 3rd party developed solution using TopLink Essentials. Generally these migrations are very straight forward but in this case we bumped into a few unique wrinkles caused by the original solution being developed on a very early version of our JPA 1.0 solution and the consultants building it introducing a partial JPA container that changed the default behaviour. <br/><br/>Ultimately we got the issues resolved in relatively short order and enjoyed a great meal with some of the consultants on the project in Halifax. I truly enjoy any chance I get to down into an application and help developers solve their persistence challenges. <br/><br/>During my visit I made some notes on a couple of take-aways.<br/><br/>1. Update the EclipseLink wiki's best practices to include a couple of additional scenarios around long-running transactions.<br/><br/>2. Help connect the existing community of Java professionals using EclipseLink.<br/><br/>I have already started on the first and will post some highlights here when the work is completed. To address the second action item I created the <a href="http://www.linkedin.com/groups?home=&amp;gid=2720577&amp;trk=anet_ug_hm">EclipseLink Group</a> on LinkedIn. <br/><br/>The goal of this group is to allow any and all Java professionals who use LinkedIn to connect and share ideas, job opportunities, news, and upcoming events. If this sounds interesting to you please join the group and share your ideas.<br/><br/>Doug<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/7747481246630004369-7043424011239991146?l=java-persistence.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2010-02-01T18:41:39Z</updated>
    <published>2010-02-01T18:30:00Z</published>
    <author>
      <name>Doug</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/02383574560699818383</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-7747481246630004369</id>
      <author>
        <name>Doug</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/02383574560699818383</uri>
      </author>
      <link href="http://java-persistence.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/7747481246630004369/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://java-persistence.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>A blog dedicated to Java Persistence issues and solutions related to EclipseLink and Oracle TopLink.</subtitle>
      <title>Java Persistence</title>
      <updated>2010-06-08T15:38:24Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-3691419744299351480.post-3380767646165780157</id>
    <link href="http://eclipser-blog.blogspot.com/feeds/3380767646165780157/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=3691419744299351480&amp;postID=3380767646165780157" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/3691419744299351480/posts/default/3380767646165780157" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/3691419744299351480/posts/default/3380767646165780157" rel="self" type="application/atom+xml"/>
    <link href="http://eclipser-blog.blogspot.com/2010/01/dropins-diagnosis.html" rel="alternate" type="text/html"/>
    <title>Dropins diagnosis</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">This post is P2 related but I could not find the appropriate words to start it. Actually I would not know what to say about P2 even if I could write this in my native language. P2 was definitely a pain at some point, but I still have no clue about the real root cause - was it P2 or just the change of general approach to plugin management.<br/><br/>While there are certainly areas for improvement, the P2 team does a great job in fixing bugs. They are preparing API, which in my opinion will speed up P2 adoption because you all will be able to wrap existing functionality into your UI, so there will be much more testing and much more bug reports :-).<br/><br/>I wanted to let you know that one, in my opinion very important, bug has been fixed:<br/><a href="http://bugs.eclipse.org/264924">Bug 264924 -  [reconciler] No diagnosis of dropin problems</a>.<br/><br/>If you add right now to your .options file following lines<br/><pre>org.eclipse.equinox.p2.core/debug=true<br/>org.eclipse.equinox.p2.core/reconciler=true<br/></pre>P2 will inform you what bundles were found in dropins/ folder, what request was generated, and what is the plan of installation. Maybe it is not detailed explanation of what actually happened, and what went wrong, but it should give you strong information about where to start - was your bundle in the plan? Was it installation problem (P2 fault) or maybe it is just not optimal to include your feature?<br/><br/>This is not a lot and a lot at the same time ;-).<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/3691419744299351480-3380767646165780157?l=eclipser-blog.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2010-01-26T14:54:36Z</updated>
    <published>2010-01-26T14:54:00Z</published>
    <author>
      <name>Christopher Daniel</name>
      <email>noreply@blogger.com</email>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-3691419744299351480</id>
      <author>
        <name>Jakub Jurkiewicz</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/03876404419372373682</uri>
      </author>
      <link href="http://eclipser-blog.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/3691419744299351480/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://eclipser-blog.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://www.blogger.com/feeds/3691419744299351480/posts/default?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <subtitle>This is a blog of Eclipse enthusiasts from Poznań (Poland) who would like to share their knowledge of Eclipse. We work for the IBM Support Center for Eclipse at Poznań University of Technology.</subtitle>
      <title>eclipser-blog</title>
      <updated>2010-05-18T15:09:34Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://dev.eclipse.org/blogs/memoryanalyzer/?p=94</id>
    <link href="http://dev.eclipse.org/blogs/memoryanalyzer/2010/01/25/heap-dump-analysis-with-memory-analyzer-part-1-heap-dumps/" rel="alternate" type="text/html"/>
    <title>Heap Dump Analysis with Memory Analyzer, Part 1: Heap Dumps</title>
    <summary>Almost two years passed since the Memory Analyzer tool (MAT) was published at Eclipse. Since then we have collected a lot of feedback, questions and comments by people using it, and we also gathered experience in using the tool ourselves. Most of the people find their way to solve memory problems using MAT relatively easy, [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Almost two years passed since the <a href="http://www.eclipse.org/mat/">Memory Analyzer</a> tool (MAT) was published at Eclipse. Since then we have collected a lot of feedback, questions and comments by people using it, and we also gathered experience in using the tool ourselves. Most of the people find their way to solve memory problems using MAT relatively easy, but I am convinced there are also a lot of unexplored features and concepts within the tool, which can be very handy if properly understood and used. Therefore I decided to start a series of blog posts dedicated to memory analysis (with MAT) - starting from the basics and covering the different topics in detail. I would try to answer there some of the questions which pop-up most often, give some (hopefully useful) hints, explain the benefit of certain “unpopular” queries, and (please, please, please…) collect your feedback.</p>
<p>As the Memory Analyzer is a tool working with heap dumps, I will start with a detailed look at heap dumps – what they are, which formats MAT can read, what can be found inside, how one can get them, etc… If you are interested in the topic, read further.<br/>
<span id="more-94"/><br/>
<strong>What Is a Heap Dump?</strong></p>
<p>A heap dump is a snapshot of the memory of a Java process at a certain point of time. There are different formats for persisting this data, and depending on the format it may contain different pieces of information, but in general the snapshot contains information about the java objects and classes in the heap <em>at the moment the snapshot was triggered</em>. As it is just a snapshot at a given moment, a heap dump does not contain information such as when and where (in which method) an object was allocated.</p>
<p><strong>What Are Heap Dumps Good for?</strong></p>
<p>So what are heap dumps good for? Well, for a lot of things <img alt=":-)" class="wp-smiley" src="http://dev.eclipse.org/blogs/memoryanalyzer/wp-includes/images/smilies/icon_smile.gif"/><br/>
If there is a system which is crashing sporadically with an OutOfMemoryError, then analyzing an automatically written heap dump with MAT can be a very easy way to find the root cause of the problem (read more <a href="http://dev.eclipse.org/blogs/memoryanalyzer/2008/05/27/automated-heap-dump-analysis-finding-memory-leaks-with-one-click/">here</a>).<br/>
If you wan to analyze what the footprint into memory of your application is, then MAT and heap dumps are again a good choice. This combination can also help you to find which are your biggest structures, to find redundant data structures, to find space wasted in unused collections, and much more. Such topics will be covered later in this blog series.<br/>
If you however are trying to find out why too many garbage objects are produced during a certain operation, or want to see which methods allocate most of the objects, then you would need to use a profiler which is collecting data over time from the VM. Leak detecting techniques relying on analysis of the objects behaviour (allocation / garbage collection) are difficult to inplement using heap dumps (see object identity below).</p>
<p><strong>Types of Heap Dumps</strong></p>
<p>Currently the Memory Analyzer is able to work with HPROF binary heap dumps (produced by Sun, HP, SAP, etc… JVMs), IBM system dumps (after preprocessing them), and IBM portable heap dumps (PHD) from a variaty of IBM platforms. Let’s have a closer look at each of the types.</p>
<p><strong>HPROF Binary Heap Dumps</strong></p>
<p>A detailed specification of the content of an HPROF file can be found <a href="https://heap-snapshot.dev.java.net/files/documents/4282/31543/hprof-binary-format.html">here</a>.</p>
<p>Below are summarized some of the important pieces of the information used within MAT:</p>
<li>Information about all loaded classes. For every class the HPROF dump contains its name, its super-class, its class loader, the defined fields for the instances (name and type), the static fields of the class and their values</li>
<li>Information about all objects. For every object one can find the class and the values of all fields – both references and primitive fields. The possibility to look at the names and the content of certain objects, e.g. the char[] within a huge StringBuilder, the size of a collection, etc … can be very helpful when performing memory analysis</li>
<li>a list of GC roots (<a href="http://wiki.eclipse.org/index.php/MemoryAnalyzer#Garbage_Collection_Roots">what is a GC root?</a>)</li>
<li>the callstacks of all threads (in heap dumps from JDK 6 update 14 and above)</li>
<p><strong>IBM System Dumps</strong></p>
<p>On IBM platforms one can preprocess a system dump (core file) from a Java process with the jxtract tool, and analyze the result with Memory Analyzer on an arbitrary other box (DTFJ libraries have to be additionally installed, see details below in the “How to get heap dump” section). As the core file contains the whole process memory, this kind of dump also provides all the details seen in an hprof heap dump (including the field names, primitive fields’ values, stacktraces, etc…). There is even more information (e.g. process related information), but at the moment it is not used in Memory Analyzer.</p>
<p><strong>IBM Portable Heap Dumps (PHD)</strong></p>
<p>The PHD files are much smaller in size than the corresponding system dumps. However, they contain less information.<br/>
The major difference between the HPROF dumps (or the IBM system dumps) and PHD dumps is that a PHD dump does not contain the values of the primitive fields. Only the non-null references from an object are provided. The second important difference is that the field names are not present, i.e. one can’t distinguish from which field a reference is made, and because of this the presented reference chains (paths) are not as concrete as with the other dumps. Using just the object graph is still enough for the analysis of many memory-related problems, but when the content of some fields is needed to get an idea why an object is too big then one has to use the system dumps.<br/>
Usually when a PHD dump is generated there is also a corresponding javacore file. If they are put together in the same directory when the PHD dump is opened with MAT, then some of the data in the javacore file will also be used.</p>
<p>So, having less information has both advantages and disadvantages - the PHD dumps are ways easier to transport from a customer (smaller size), can be used to find the biggest objects in the heap. And as they are usually written by default they are a good place to start the analysis. However, in some cases the information is enough to analyze in details the root cause of a problem.</p>
<p><strong>A Common API for Them All?</strong></p>
<p>Having different formats for the heap dumps is definitely easier for the VM providers, as they can provide very efficiently the specific data they have. This however doesn’t hold true for the tools, which are faced with the different formats, have to understand each of them, and possibly optimize for every format separately.<br/>
An attempt to solve this problem and make the life of tool writers easier is made under the <a href="http://incubator.apache.org/kato/site/index.html">Apache Kato project</a> and the related <a href="http://www.jcp.org/en/jsr/detail?id=326">JSR 326</a>. They put efforts to provide a common API for accessing data from vendor specific snapshots and thus give tools a standard way to extract the data needed for post-mortem diagnostics (including memory related problems).</p>
<p><strong>How To Get a Heap Dump</strong></p>
<p>How to obtain a heap dump depends on the platform and the used JVM. In general all VMs provide the possibility to request a heap dump manually, or to get one written from the VM when an OutOfMemoryError occurs. The second option is very convenient for the analysis of problems happening on production systems, or happening only sporadically, as one does not have to observe the system and wait for the problem to reoccur.<br/>
A detailed description how a heap dump can be obtained depending on the JVM is provided <a href="http://wiki.eclipse.org/index.php/MemoryAnalyzer#Getting_a_Heap_Dump">here</a>.</p>
<p><strong>Object Identity</strong></p>
<p>One of the questions which we are asked very often is if MAT can recognize the same objects in two or more heap dumps from the same process. The answer is unfortunately still no. Object IDs which are provided in the known to us heap dumps are just the addresses at which the objects are located. As objects are often moved and reordered by the JVM during a GC these addressed change. Therefore they cannot be used to compare the objects. Tagging the objects while they are allocated is something a profiler could do (usually at a relatively high cost), but in the standard heap dumps described above such information is missing. Some ideas how to guess identical objects were discussed in this <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=283778">bugzilla entry</a>.</p>
<p><strong>Are Dead Objects Present In the Heap Dump?</strong></p>
<p>Another question which often pops up is if garbage objects are included in the heap dump. This again depends on the heap dump, but usually a GC is done before the heap dump is written. Nevertheless there are always some objects which are unreachable from the GC roots, i.e. should be thrown away. The Memory Analyzer removes such objects during the initial parsing of a heap dump in order to simplify the analysis. If you want to have a look at the “garbage” or even want the objects to remain, then find <a href="http://wiki.eclipse.org/index.php/MemoryAnalyzer/FAQ#How_to_analyse_unreachable_objects">here</a> what to do.</p>
<p><strong>In Closing …</strong><br/>
This was my attempt to give a detailed explanation of the different heap dump formats which the Memory Analyzer understands, and also give the answers to some of the questions which we frequently get. I’m sure there are still questions to be answered, and the MAT team will be very happy to get them from you, be it as comments here, in our <a href="http://www.eclipse.org/forums/index.php?t=thread&amp;frm_id=62">fourm</a>, or in bugzilla.</p></div>
    </content>
    <updated>2010-01-25T10:35:20Z</updated>
    <category term="Memory Analyzer"/>
    <author>
      <name>Krum Tsvetkov</name>
    </author>
    <source>
      <id>http://dev.eclipse.org/blogs/memoryanalyzer</id>
      <link href="http://dev.eclipse.org/blogs/memoryanalyzer/feed" rel="self" type="application/atom+xml"/>
      <link href="http://dev.eclipse.org/blogs/memoryanalyzer" rel="alternate" type="text/html"/>
      <subtitle>News from the Memory Analyzer</subtitle>
      <title>Memory Analyzer News</title>
      <updated>2010-02-25T08:41:36Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-17681521.post-801343787487272782</id>
    <link href="http://michaelscharf.blogspot.com/feeds/801343787487272782/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=17681521&amp;postID=801343787487272782" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/17681521/posts/default/801343787487272782" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/17681521/posts/default/801343787487272782" rel="self" type="application/atom+xml"/>
    <link href="http://michaelscharf.blogspot.com/2009/12/contradicting-myself-with-my-eclipsecon.html" rel="alternate" type="text/html"/>
    <title>Contradicting myself with my eclipsecon submissions....</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">If you look at my EclipseCon 2010 submissions:<br/><ul><br/><li> <a href="https://www.eclipsecon.org/submissions/2010/view_talk.php?id=1443">1443</a> Declarative UI sucks? Create your own!<br/></li><li> <a href="https://www.eclipsecon.org/submissions/2010/view_talk.php?id=1480">1480</a> Extensible EMF Switches<br/></li><li> <a href="https://www.eclipsecon.org/submissions/2010/view_talk.php?id=1483">1483</a> Annoyed by all those similar looking interfaces: IMemento, IConfigurationElement, IPreferenceStore, IDialogSettings, ILaunchConfiguration...<br/></li><li> <a href="https://www.eclipsecon.org/submissions/2010/view_talk.php?id=1484">1484</a> JFace/SWT Tables turned upside down<br/></li></ul><br/>It seems that I am contradicting myself, because in <a href="https://www.eclipsecon.org/submissions/2010/view_talk.php?id=1443">1443</a> I propose to create your own (copy) of a declarative UI and in <a href="https://www.eclipsecon.org/submissions/2010/view_talk.php?id=1483">1483</a> I whine about all those similar looking interfaces. How does this go together? <br/><br/>Well, in the case of all the different property stores, they all do the same and having 10 different classes/interfaces is indeed annoying. On the other hand. I simply do not believe that there is "the" declarative UI that solves everybody's problems. <b>Whenever you try to create the ultimate declarative UI you are doomed to fail because it is either simple but too restrictive or powerful but too complicated</b> (I'd be very happy if someone could prove me wrong).<br/><br/>The idea of a domains specific language is to be Domain Specific! One could argue that UI is a domain and a (e.g. xml based) declarative UI is a domain specific language for creating UI. But, in reality UI is not UI. It's like creating a domain specific language for programming. You end up creating a Turing complete general purpose language. OTOH, if you want to create a domain specific language for form based UI on top of EMF you have a good chance it becomes a good abstractions. But do not expect this language to be used to create something like JDT or PDE. <br/><br/>I do not believe there is the ultimate declarative UI language. But I believe that saving properties is so universal (and simple) that one 'language' should be sufficient.<div class="blogger-post-footer">Michael Scharfs Eclipse and Java Blog http://MichaelScharf.blogspot.com/<img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/17681521-801343787487272782?l=michaelscharf.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2009-12-20T21:24:35Z</updated>
    <published>2009-12-20T18:37:00Z</published>
    <author>
      <name>Michael Scharf</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/16708708879318235495</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-17681521</id>
      <author>
        <name>Michael Scharf</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/16708708879318235495</uri>
      </author>
      <link href="http://michaelscharf.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/17681521/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://michaelscharf.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://www.blogger.com/feeds/17681521/posts/default?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <subtitle>Here I collect interesting links and findings about eclipse and java...</subtitle>
      <title>Eclipse and Java Blog by Michael Scharf</title>
      <updated>2010-06-03T21:28:03Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-8149959654067390196.post-2464735307974704950</id>
    <link href="http://eclipsenuggets.blogspot.com/feeds/2464735307974704950/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=8149959654067390196&amp;postID=2464735307974704950" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/8149959654067390196/posts/default/2464735307974704950" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/8149959654067390196/posts/default/2464735307974704950" rel="self" type="application/atom+xml"/>
    <link href="http://eclipsenuggets.blogspot.com/2009/12/ribbon-ide-leaner-modern-ui-for-eclipse.html" rel="alternate" type="text/html"/>
    <title>The Ribbon IDE - a leaner, modern UI for Eclipse</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Here's a short video about integrating the <a href="http://hexapixel.com/projects/ribbon">Hexapixel Ribbon</a> widget into Eclipse. I'm working on this over the holidays. It will be available for free under EPL.<br/><br/>If you like this, please vote for my <a href="https://www.eclipsecon.org/submissions/2010/view_talk.php?id=1510">EclipseCon submission</a>.<br/><br/><br/><br/>Don't see the video? <a href="http://eclipsenuggets.blogspot.com/2009/12/ribbon-ide-leaner-modern-ui-for-eclipse.html">Click here</a>.<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/8149959654067390196-2464735307974704950?l=eclipsenuggets.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2009-12-19T19:44:14Z</updated>
    <published>2009-12-19T15:00:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="eclipse-ui"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="eclipse"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="ribbon IDE"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="screencast"/>
    <author>
      <name>Elias Volanakis</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/05881712904794632968</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-8149959654067390196</id>
      <author>
        <name>Elias Volanakis</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/05881712904794632968</uri>
      </author>
      <link href="http://eclipsenuggets.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/8149959654067390196/posts/default/-/eclipse" rel="self" type="application/atom+xml"/>
      <link href="http://eclipsenuggets.blogspot.com/search/label/eclipse" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>Eclipse tips &amp; tricks from the code trenches.</subtitle>
      <title>Eclipse Nuggets</title>
      <updated>2010-03-25T07:11:44Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-3691419744299351480.post-1934418002842546808</id>
    <link href="http://eclipser-blog.blogspot.com/feeds/1934418002842546808/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=3691419744299351480&amp;postID=1934418002842546808" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/3691419744299351480/posts/default/1934418002842546808" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/3691419744299351480/posts/default/1934418002842546808" rel="self" type="application/atom+xml"/>
    <link href="http://eclipser-blog.blogspot.com/2009/12/xtext-how-to-start.html" rel="alternate" type="text/html"/>
    <title>Xtext -  how to start</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><div>Sometimes is better to have screwdriver than swiss knife. At least people from the are of DSL think that. Well, I have decided to follow this path. I need a screwdriver. In our world one of the options is to use <a href="http://www.eclipse.org/Xtext/">Xtext</a>. Xtext is a framework for development of textual domain specific languages (DSLs).</div><div><p>What does it mean?</p>You can build a grammar description and with the use of the framework get a:<br/><ol><li> EMF model related to this grammar.</li><li> Fully functional text editor. </li><li> Scaffold for the generation tool </li></ol><p>What for?</p><p>I need to record some data in structured form. I need model. Text editor is more convincing. <br/>But this is only my motivation. There is a sea of use cases. </p><p>How to start ?</p>You can download Eclispe Modeling tools distribution from <a href="http://www.eclipse.org/">Eclipse downloads site</a>. Or use update site.<br/>Then you can follow <a href="http://www.eclipse.org/Xtext/documentation/0_7_2/xtext.html#getting-started">Xtext documentation</a>. And this is the reason for this post. Although, you don't need to spend weeks on learning Xtext principles to build usable tools, still there are some things missing from the documentation.<br/></div><div>You have created project, you have written your grammar. Now is a generation step. Is build successful ? Not really. If you look at the console view, you can find why. <br/><cite>You are generating without ANTLR. It is highly recommended to download and use the plug-in 'de.itemis.xtext.antlr' using the update site http://download.itemis.com/updates/milestones</cite> <br/>Of course solution is to download the plug-in. After that you can follow the <i>getting started</i> tutorial.<br/></div><div>Code is generated and now is time for building your XPand templates to generate Java code from your model. How to do that? There is no "generate sth.." button in your target environment. <br/>The simplest way is to import your xxx.generator plug-in project from source to target. You are almost done. The only thing left is to add required dependencies to imported project. It is also helpful to add XPand nature to this project. After that you can follow tutorial, build XPand templates, and generate Java code.<br/></div>Hope this short note will help somebody to start the adventure with the screwdriver even smoother ;)<br/>Next time I will show you how to change editor default coloring.<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/3691419744299351480-1934418002842546808?l=eclipser-blog.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2009-12-17T13:02:25Z</updated>
    <published>2009-12-17T13:02:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="Xpand"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="Xtext"/>
    <author>
      <name>Bartek Michalik</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/07327101506665451789</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-3691419744299351480</id>
      <author>
        <name>Jakub Jurkiewicz</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/03876404419372373682</uri>
      </author>
      <link href="http://eclipser-blog.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/3691419744299351480/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://eclipser-blog.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://www.blogger.com/feeds/3691419744299351480/posts/default?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <subtitle>This is a blog of Eclipse enthusiasts from Poznań (Poland) who would like to share their knowledge of Eclipse. We work for the IBM Support Center for Eclipse at Poznań University of Technology.</subtitle>
      <title>eclipser-blog</title>
      <updated>2010-05-18T15:09:34Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://manuelselva.wordpress.com/?p=304</id>
    <link href="http://manuelselva.wordpress.com/2009/12/10/pde-headless-build-and-p2/" rel="alternate" type="text/html"/>
    <title>PDE Headless Build and P2</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">As we said here in France Mieux vaut tard que jamais. I spent the last few days (almost 1.5 year after the first P2 release) playing with P2 and the new PDE Build facilities  on top of it. It was longer than expected (I mean here longer than what I expected) to catch the main [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=manuelselva.wordpress.com&amp;blog=2529905&amp;post=304&amp;subd=manuelselva&amp;ref=&amp;feed=1"/></div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>As we said here in France <em><a href="http://en.wiktionary.org/wiki/mieux_vaut_tard_que_jamais">Mieux vaut tard que jamais</a></em>. I spent the last few days (almost 1.5 year after the first P2 release) playing with P2 and the new PDE Build facilities  on top of it.</p>
<p>It was longer than expected (I mean here longer than what I expected) to catch the main concepts of P2 but I think I finally get these concepts !!! And I’m happy with that !!!</p>
<p>In order to help other not already aware with P2 and the PDE Build facilities on top of it I am just gathering here all the links you need to get started:</p>
<ul>
<li><a href="http://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Application">http://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Application</a></li>
<li><a href="http://aniefer.blogspot.com/2009/03/building-p2-rcp-products-in-eclipse.html">http://aniefer.blogspot.com/2009/03/building-p2-rcp-products-in-eclipse.html</a></li>
<li><a href="http://www.toedter.com/blog/?p=79">http://www.toedter.com/blog/?p=79</a></li>
<li><a href="http://help.eclipse.org/galileo/index.jsp?nav=/4_2_2">http://help.eclipse.org/galileo/index.jsp?nav=/4_2_2</a></li>
<li><a href="http://help.eclipse.org/galileo/index.jsp?topic=/org.eclipse.platform.doc.isv/guide/p2_overview.htm">http://help.eclipse.org/galileo/index.jsp?topic=/org.eclipse.platform.doc.isv/guide/p2_overview.htm</a></li>
<li><a href="http://wiki.eclipse.org/Category:Equinox_p2">http://wiki.eclipse.org/Category:Equinox_p2</a></li>
</ul>
<p>All required information to catch P2 and PDE build for it are available using these 6 links !!!!</p>
<p>Good luck and hope this can help a little others to get started quicker than me ;o)</p>
<p>PS: I started this blog entry for ME to avoid looking through Google over and over to find the information</p>
<br/>  <a href="http://feeds.wordpress.com/1.0/gocomments/manuelselva.wordpress.com/304/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/manuelselva.wordpress.com/304/"/></a> <a href="http://feeds.wordpress.com/1.0/godelicious/manuelselva.wordpress.com/304/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/manuelselva.wordpress.com/304/"/></a> <a href="http://feeds.wordpress.com/1.0/gostumble/manuelselva.wordpress.com/304/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/manuelselva.wordpress.com/304/"/></a> <a href="http://feeds.wordpress.com/1.0/godigg/manuelselva.wordpress.com/304/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/manuelselva.wordpress.com/304/"/></a> <a href="http://feeds.wordpress.com/1.0/goreddit/manuelselva.wordpress.com/304/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/manuelselva.wordpress.com/304/"/></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=manuelselva.wordpress.com&amp;blog=2529905&amp;post=304&amp;subd=manuelselva&amp;ref=&amp;feed=1"/></div>
    </content>
    <updated>2009-12-10T14:21:28Z</updated>
    <category term="Eclipse Misc"/>
    <category term="Eclipse Tools"/>
    <category term="eclipse"/>
    <category term="Headless"/>
    <category term="P2"/>
    <category term="PDE Build"/>
    <author>
      <name>Manuel</name>
    </author>
    <source>
      <id>http://manuelselva.wordpress.com</id>
      <logo>http://www.gravatar.com/blavatar/60cb836544be073a7a6b22db9662a9d0?s=96&amp;d=http://s2.wp.com/i/buttonw-com.png</logo>
      <link href="http://manuelselva.wordpress.com/feed/?mrss=off" rel="self" type="application/atom+xml"/>
      <link href="http://manuelselva.wordpress.com" rel="alternate" type="text/html"/>
      <link href="http://manuelselva.wordpress.com/osd.xml" rel="search" type="application/opensearchdescription+xml"/>
      <link href="http://manuelselva.wordpress.com/?pushpress=hub" rel="hub" type="text/html"/>
      <subtitle>My Eclipse Experiences</subtitle>
      <title>Manuel Selva's Eclipse blog</title>
      <updated>2010-04-27T13:55:19Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://dev.eclipse.org/blogs/kevinmcguire/?p=123</id>
    <link href="http://dev.eclipse.org/blogs/kevinmcguire/2009/12/02/tolerance-and-respect/" rel="alternate" type="text/html"/>
    <title>Tolerance and Respect</title>
    <summary>While I no longer work on Eclipse nor for a member company, I regard many many people in the community as my friends, so felt compelled to write.
I think one measure of the strength of a community, or of a society for that matter, is the degree to which it tolerates viewpoints and discussions which [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>While I no longer work on Eclipse nor for a member company, I regard many many people in the community as my friends, so felt compelled to write.</p>
<p>I think one measure of the strength of a community, or of a society for that matter, is the degree to which it tolerates viewpoints and discussions which challenge, irritate, or upset it. At best it may learn from them, at the least it can disregard them while it celebrates the fact that those voices exist. That voice could be yours.</p>
<p>There’s been much discussion about the need for openness.  But that openness starts with a willingness to listen to, or at least accept, the words of others regardless of whether they align with our own.  It begins with tolerance and respect.  When as a community we engage in disrespectful acts such as personal attacks and name calling, and entertain the banning of those whom we no longer have the desire to listen to, we are no longer open.  We lessen ourselves, and are not much of a community.</p>
<p>Is this who you want to be?</p></div>
    </content>
    <updated>2009-12-02T05:18:27Z</updated>
    <category term="Uncategorized"/>
    <author>
      <name>Kevin McGuire</name>
    </author>
    <source>
      <id>http://dev.eclipse.org/blogs/kevinmcguire</id>
      <link href="http://dev.eclipse.org/blogs/kevinmcguire/feed/" rel="self" type="application/atom+xml"/>
      <link href="http://dev.eclipse.org/blogs/kevinmcguire" rel="alternate" type="text/html"/>
      <subtitle>(Former) Eclipse UI Guy</subtitle>
      <title>Kevin McGuire</title>
      <updated>2009-12-02T05:18:48Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-1593219853242657843.post-8288607769439403420</id>
    <link href="http://eclipsetacy.blogspot.com/feeds/8288607769439403420/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=1593219853242657843&amp;postID=8288607769439403420" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/1593219853242657843/posts/default/8288607769439403420" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/1593219853242657843/posts/default/8288607769439403420" rel="self" type="application/atom+xml"/>
    <link href="http://eclipsetacy.blogspot.com/2009/12/eclipse-empowering-universal-platform.html" rel="alternate" type="text/html"/>
    <title>Eclipse: Empowering the Universal Platform Technical Briefing</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">IBM has put together a technical briefing entitled <a href="http://www.ibm.com/developerworks/offers/techbriefings/details/eclipse.html">Eclipse: Empowering the Universal Platform</a> that provides an introduction to Eclipse - the platform, the foundation, and the ecosystem. This is a nice introduction if you're starting out with Eclipse or want to get a better sense of what's available in Eclipse land.<br/><br/>For those who attended my session last week the slides are available from:<br/><a href="http://www.ibm.com/developerworks/offers/techbriefings/details/eclipse.html">http://www.ibm.com/developerworks/offers/techbriefings/details/eclipse.html</a><div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/1593219853242657843-8288607769439403420?l=eclipsetacy.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2009-12-01T17:01:22Z</updated>
    <published>2009-12-01T17:01:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="slides"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="eclipse"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="ibm"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="presentation"/>
    <author>
      <name>Lawrence Mandel</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/10420435504140055673</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-1593219853242657843</id>
      <author>
        <name>Lawrence Mandel</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/10420435504140055673</uri>
      </author>
      <link href="http://eclipsetacy.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/1593219853242657843/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://eclipsetacy.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>A committer's take on issues related to Eclipse.</subtitle>
      <title>Eclipsetacy</title>
      <updated>2010-04-10T04:29:41Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-1593219853242657843.post-4570423038606026877</id>
    <link href="http://eclipsetacy.blogspot.com/feeds/4570423038606026877/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=1593219853242657843&amp;postID=4570423038606026877" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/1593219853242657843/posts/default/4570423038606026877" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/1593219853242657843/posts/default/4570423038606026877" rel="self" type="application/atom+xml"/>
    <link href="http://eclipsetacy.blogspot.com/2009/11/eclipse-rt-day-toronto.html" rel="alternate" type="text/html"/>
    <title>Eclipse RT Day Toronto</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Yesterday was Eclipse RT Day Toronto at the IBM Toronto Lab. For those who missed it, there is quite a lot going on the runtime space. (A number of the presentation slides are available on the <a href="http://wiki.eclipse.org/EclipseRT_Day#Toronto">Eclipse RT Day page</a>.) My interest is currently in server side equinox. I've first started playing with this technology about two years ago and my current product, Rational Insight, recently released v1.0, which includes a server side equinox based component. The runtimes are really coming along nicely and have been stable and usable for some time. For me the big takeaways from the day are:<br/><br/>1. The required ancillary features, like filter support for server side equinox, security, and provisioning have now been or are currently being addressed.<br/>2. Tool support is growing for Eclipse RT.<br/><br/>This one day event was really great. The two tracks kept everyone together for most of the day, there was low overhead for me as this was in Toronto (and where I work no less), and there was only a single day commitment, which is much easier on my schedule than a multi-day conference. Thanks to everyone who came down from Ottawa and other places to present and participate. I hope to see more of these events in the future.<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/1593219853242657843-4570423038606026877?l=eclipsetacy.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2009-11-20T19:32:55Z</updated>
    <published>2009-11-20T19:21:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="conference"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="eclipse"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="eclipse rt day"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="eclipse rt"/>
    <author>
      <name>Lawrence Mandel</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/10420435504140055673</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-1593219853242657843</id>
      <author>
        <name>Lawrence Mandel</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/10420435504140055673</uri>
      </author>
      <link href="http://eclipsetacy.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/1593219853242657843/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://eclipsetacy.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>A committer's take on issues related to Eclipse.</subtitle>
      <title>Eclipsetacy</title>
      <updated>2010-04-10T04:29:41Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-9210566578097047576.post-3287136601858913109</id>
    <link href="http://coderthoughts.blogspot.com/feeds/3287136601858913109/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=9210566578097047576&amp;postID=3287136601858913109" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/9210566578097047576/posts/default/3287136601858913109" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/9210566578097047576/posts/default/3287136601858913109" rel="self" type="application/atom+xml"/>
    <link href="http://coderthoughts.blogspot.com/2009/11/altering-osgi-service-lookups-with.html" rel="alternate" type="text/html"/>
    <title>Altering OSGi Service Lookups with Service Registry Hooks</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><div lang="en-GB">OSGi Services are <i><b>great</b></i><span style="font-style: normal;"><span style="font-weight: normal;">. They can solve many problems very elegantly. Take for instance SPI patterns. SPI patterns are used to make implementations pluggable. This type of pattern outside OSGi often comes with a bunch of external configuration (e.g. in META-INF/services) that makes it hard to manage and gives you a once-off chance to choose your implementation that you're stuck with for the rest of the VM lifecycle. OSGi Services provide a much more elegant way to solve this. </span></span><br/><span style="font-style: normal;"><span style="font-weight: normal;"> </span></span> <br/></div>In many cases clients simply want to use some functionality and don't particularly care how that functionality was created. When using OSGi Services the functionality is looked up in the OSGi Service Registry which is a directory of these. Services can be looked up by implemented interface (like a phone book) or by provided attribute (like the yellow pages). How the service got there is not interesting to the client and he's not involved in that. What if the service gets replaced while the client is active? No problem, the OSGi Service Programming model is actually built around this dynamicity. You don't need to stop service consumers when you are replacing or updating the service, they are automatically rebound.<br/><br/><span style="font-style: normal;"><span style="font-weight: normal;">The Service Registry also provides us with an attribute based selection mechanism which is very nice if there are multiple implementations to choose from. As an example, take a system where every available printer is represented in the Service Registry as a Service that implements the </span></span><span style="font-family: Courier New,monospace;"><span style="font-style: normal;"><span style="font-weight: normal;">org.acme.Printer</span></span></span><span style="font-style: normal;"><span style="font-weight: normal;"> interface. Each printer will have additional properties registered that help with the selection:</span></span><br/><br/><div lang="en-GB" style="font-style: normal; font-weight: normal;"><div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/_JTmY6gtOOjs/SwPR2s5E6sI/AAAAAAAAARc/2HRdqC9jsnk/s1600/img1.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/_JTmY6gtOOjs/SwPR2s5E6sI/AAAAAAAAARc/2HRdqC9jsnk/s400/img1.png"/></a><br/></div><br/>When looking for a Printer OSGi allows you to use an LDAP-style filter to select the printer you want. So if you want a printer that can do A3 you would use this LDAP filter:<br/></div><div class="code-western" lang="en-GB"><span style="font-size: small;">  <span> </span></span><br/><span style="font-size: small;"><span>(&amp;(objec</span></span><span style="font-family: Courier New,monospace; font-size: small;"><span style="font-style: normal;"><span style="font-weight: normal;">tClass=org.acme.Printer)(paper-</span></span></span><span>size=A3))</span><br/></div><div lang="en-GB" style="font-style: normal; font-weight: normal;"><br/>or if you want a printer in a location that starts with 'b' you do this:<br/></div><div class="code-western" lang="en-GB"><span style="font-size: small;">  <span> </span></span><br/><span style="font-size: small;"><span>(&amp;(objectClass=org.acme.Printer)(location=b*))</span></span><br/></div><div lang="en-GB"><br/>This is all great and you can build your system on this using either plain OSGi code or component frameworks such as OSGi Blueprint or OSGi Declarative Services. However sometimes you may want to tweak the properties at a later date without having to rewrite your system. Assume that in your organisation all of a sudden the office numbering has changed, which would really mean that you'd have to update the 'location' attribute of all the printers. Or maybe you want to add some additional metadata to existing printers that influence the selection process, like their energy rating.  <br/></div><div lang="en-GB">Service Registry Hooks provide the building blocks that make this possible. <span style="font-style: normal;"><span style="font-weight: normal;">I wrote a little bundle called <i><b>ServiceJockey</b></i> that uses these to manipulate service registrations and how they are looked up. BTW you can find details at the end of this posting about getting ServiceJockey, which is open source and available freely under the Apache License.</span></span><br/><br/><span style="font-size: large;"><b>Service Registry Hooks: what are they?</b></span><br/><div lang="en-GB">One of the driving factors for Service Registry Hooks (an OSGi standard introduced in the 4.2 Core specification) was the Remote Services (Distributed OSGi) work done in the OSGi Alliance. One of the things that implementations of the Remote Service spec need to know is what kind of services consumers are looking for so that they can go out to a discovery system to see if it might be available remotely. Eagerly registering all available remote services is clearly not scalable so we need a smarter mechanism to allow for <i>transparent</i><span style="font-style: normal;"> on demand discovery of remote services. This is what the </span><span style="font-style: normal;"><b>ListenerHook </b></span><span style="font-style: normal;"><span style="font-weight: normal;">and </span></span><span style="font-style: normal;"><b>FindHook </b></span><span style="font-style: normal;"><span style="font-weight: normal;">provide us. Together they allow us to find out what service consumers are requesting making us to only look in a remote Discovery system for those that are relevant to the current framework. </span></span><br/></div><div lang="en-GB"><br/></div><div lang="en-GB"><span style="font-style: normal;"><span style="font-weight: normal;">Another problem was frequently brought up. What if you have an existing bundle that doesn't know anything about Remote Services? What is the default behaviour? Should all service lookups all of a sudden always include remote services? The Remote Services spec does include a special property that you can add to your filter to influence this (</span></span><span style="font-family: Courier New,monospace; font-size: small;"><span style="font-style: normal;"><span style="font-weight: normal;">service.imported</span></span></span><span style="font-style: normal;"><span style="font-weight: normal;">) but you clearly don't want to break up all your existing service consumers to add this extra property to their lookup filters.</span></span><br/></div><div lang="en-GB"><span style="font-style: normal;"><span style="font-weight: normal;">It turned out that there wasn't really a valid answer to that question applicable to all cases. If you're working on a system only using Remote Services for a select set of services it may make sense to default all other services consumers to </span></span><i><span style="font-weight: normal;">not</span></i><span style="font-style: normal;"><span style="font-weight: normal;"> use Remote Services. On the other hand, maybe if you're building a Cloud-based infrastructure where services can move freely from one container to another the default behaviour could be that you do allow remote services for just about anything.</span></span><br/></div><div lang="en-GB"><span style="font-style: normal;"><span style="font-weight: normal;">Since there isn't really a one-size fits-all here the Service Registry Hooks make it possible to provide a </span></span><i><span style="font-weight: normal;">policy</span></i><span style="font-style: normal;"><span style="font-weight: normal;"> for this problem in a separate bundle. You can create </span></span><span style="font-style: normal;"><b>EventHooks </b></span><span style="font-style: normal;"><span style="font-weight: normal;">and </span></span><span style="font-style: normal;"><b>FindHooks </b></span><span style="font-style: normal;"><span style="font-weight: normal;">to influence what services consumers can see. This effectively allows you to add extra conditions to the lookup of service consumers without the need to modify those consumers.</span></span><br/></div><div lang="en-GB"><br/></div><div lang="en-GB"><span style="font-style: normal;"><span style="font-weight: normal;">Finally, </span></span><span style="font-style: normal;"><b>EventHooks </b></span><span style="font-style: normal;"><span style="font-weight: normal;">and </span></span><span style="font-style: normal;"><b>FindHooks</b></span><span style="font-style: normal;"><span style="font-weight: normal;">, together with the a </span></span><span style="font-style: normal;"><b>ServiceListener</b></span><span style="font-style: normal;"><span style="font-weight: normal;">, allow you to proxy Service Registrations, where you provide a second registration of the same object with modified properties, hiding the original.</span></span><br/></div><div lang="en-GB" style="font-style: normal; font-weight: normal;">The ability to provide an alternate registration on the fly and the possibility to impose extra conditions on existing service consumer lookups is what I built ServiceJockey around.<br/></div><div lang="en-GB" style="font-style: normal; font-weight: normal;"><br/></div><div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/_JTmY6gtOOjs/SwPR4vKkr7I/AAAAAAAAARk/jBGn1vJTTRs/s1600/img2.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/_JTmY6gtOOjs/SwPR4vKkr7I/AAAAAAAAARk/jBGn1vJTTRs/s640/img2.png"/></a><br/></div><div lang="en-GB" style="font-style: normal; font-weight: normal;"><br/></div><div lang="en-GB" style="font-style: normal; font-weight: normal;">ServiceJockey doesn't replace the Service Object, it only effectively replaces the registration in the Service Registry plus it can put additional constraints on client lookups. But you could go further. If you wanted to actually replace or shadow the real service object and do some work when somebody uses it (maybe log it or something) you could put an additional object between the consumer and the original service object.<br/></div><div lang="en-GB" style="font-style: normal; font-weight: normal;"><br/></div><div lang="en-GB" style="font-style: normal; font-weight: normal;">Because the Service Registry Hooks effectively modify some basic behaviour of the framework (the visibility of Services) they should really be started early in the Framework lifecycle. You can achieve that by giving them a low start level.  <br/></div><div lang="en-GB" style="font-style: normal; font-weight: normal;">The Service Registry Hooks are available in Felix 1.8.0 and Equinox 3.5 and newer versions of these.<br/></div><b><span style="font-size: large;"><br/>Altering Service Registrations</span></b> <br/><div lang="en-GB">Let's start with a bundle that consumes (uses) a Printer. It isn't interested in which printer, as long as it can print A4:<br/></div><div lang="en-GB"><span style="color: black; font-size: small;">  BundleContext context = ... </span><span style="font-size: small;"><span style="color: #3f7f5f;">// from Activator.start()</span></span><br/></div><div lang="en-GB"><span style="color: black; font-size: small;">  Filter filter = context.createFilter(</span><br/></div><div lang="en-GB"><span style="color: black; font-size: small;"><span style="color: #2a00ff;">  "(&amp;(objectClass=org.acme.Printer)(paper-size=A4))"</span><span style="color: black;">);        </span></span> <br/></div><div align="left" lang="en-GB"><span style="font-size: small;"><span style="color: #0000c0;">st</span><span style="color: black;"> = </span><span style="color: #7f0055;"><b>new</b></span><span style="color: black;"> ServiceTracker(context, filter, </span><span style="color: #7f0055;"><b>null</b></span><span style="color: black;">) {</span></span><br/></div><div align="left" lang="en-GB"><span style="font-size: small;">  </span><span style="font-size: small;"><span style="color: #7f0055;"><b>public</b></span><span style="color: black;"> Object addingService(ServiceReference ref) {</span></span><br/></div><div align="left" lang="en-GB"><span style="font-size: small;">    </span><span style="font-size: small;"><span style="color: #3f7f5f;">// print out some information on the printer</span></span><br/></div><div align="left" lang="en-GB"><span style="font-size: small;"><span style="color: #3f7f5f;">    // or use the printer</span></span><br/></div><div align="left" lang="en-GB"><span style="font-size: small;">    </span><span style="font-size: small;"><span style="color: #7f0055;"><b>return</b></span><span style="color: black;"> </span><span style="color: #7f0055;"><b>super</b></span><span style="color: black;">.addingService(ref);</span></span><br/></div><div align="left" lang="en-GB"><span style="color: black; font-size: small;">  }            </span> <br/></div><div align="left" lang="en-GB"><span style="color: black; font-size: small;">  };</span><br/></div><div align="left" lang="en-GB"><span style="color: black; font-size: small;">  </span><span style="font-size: small;"><span style="color: #0000c0;">st</span><span style="color: black;">.open();</span></span><br/></div><div lang="en-GB"><br/></div><div lang="en-GB">When I run this it's reporting both printers that I have in my system:<br/></div><div lang="en-GB"><span style="color: black; font-size: small;">Printer:</span><br/></div><div align="left" lang="en-GB"><span style="color: black; font-size: small;">objectClass: [org.acme.Printer]</span><br/></div><div align="left" lang="en-GB"><span style="color: black; font-size: small;">service.id: 27</span><br/></div><div align="left" lang="en-GB"><span style="color: black; font-size: small;">name: p1</span><br/></div><div align="left" lang="en-GB"><span style="color: black; font-size: small;">location: b283</span><br/></div><div align="left" lang="en-GB"><span style="color: black; font-size: small;">capabilities: [Double-sided]</span><br/></div><div align="left" lang="en-GB"><span style="color: black; font-size: small;">paper-size: [A3, A4]</span><br/></div><div align="left" lang="en-GB"><span style="font-size: small;"><br/></span> <br/></div><div align="left" lang="en-GB"><span style="color: black; font-size: small;">Printer:</span><br/></div><div align="left" lang="en-GB"><span style="color: black; font-size: small;">objectClass: [org.acme.Printer]</span><br/></div><div align="left" lang="en-GB"><span style="color: black; font-size: small;">service.id: 28</span><br/></div><div align="left" lang="en-GB"><span style="color: black; font-size: small;">name: p7</span><br/></div><div align="left" lang="en-GB"><span style="color: black; font-size: small;">location: a12</span><br/></div><div align="left" lang="en-GB"><span style="color: black; font-size: small;">capabilities: [Colour, Staple]</span><br/></div><div align="left" lang="en-GB"><span style="color: black; font-size: small;">paper-size: [A4, Letter]</span><br/></div><div align="left" lang="en-GB" style="margin-bottom: 0in;"><br/><br/></div><div lang="en-GB">So the client has arbitrary access to both of them. Now lets see if you can modify the client behaviour so that it only uses a printer with an Energy Rating &lt; 50.  <br/></div><div lang="en-GB">But hold on, we don't even know about energy ratings yet! We need to add this information to the Printer registration <b>without changing the bundle(s) that register the Printers.</b><span style="font-weight: normal;"> Let's user Service Jockey to do this.</span><br/></div><div lang="en-GB"><br/></div><div lang="en-GB">Service Jockey uses the OSGi Extender Model. This means that it is driven from a data file in a bundle.  <br/></div><div lang="en-GB"><span style="font-size: small;">So I've got a bundle (called PrinterJockey) that contains META-INF/sj.xml:</span><br/></div><div lang="en-GB"><span style="font-size: small;"><span style="color: teal;">&lt;</span><span style="color: #3f7f7f;">service-jockey</span><span style="color: teal;"> </span><span style="color: #7f007f;">xmlns</span><span style="color: black;">=</span><span style="color: #2a00ff;"><i>"http://www.coderthoughts.org/schemas/sj/v1.0.0"</i></span><span style="color: teal;">&gt;</span></span><br/></div><div align="left" lang="en-GB"><span style="font-size: small;"><span style="color: teal;"> &lt;</span><span style="color: #3f7f7f;">proxy-registration</span><span style="color: teal;">&gt;</span></span><br/></div><div align="left" lang="en-GB"><span style="font-size: small;">  </span><span style="font-size: small;"><span style="color: teal;">&lt;</span><span style="color: #3f7f7f;">rule</span><span style="color: teal;">&gt;</span></span><br/></div><div align="left" lang="en-GB"><span style="font-size: small;">   </span><span style="font-size: small;"><span style="color: teal;">&lt;</span><span style="color: #3f7f7f;">service-filter</span><span style="color: teal;">&gt;</span><span style="color: black;">(</span><span style="color: #2a00ff;">&amp;</span><span style="color: black;">(objectClass=org.acme.Printer)(name=p1))</span></span><span style="font-size: small;"><span style="color: teal;">&lt;</span></span><span style="font-size: small;"><span style="color: teal;"><span style="color: #3f7f7f;">/service-filter</span><span style="color: teal;">&gt;</span></span></span><br/></div><div align="left" lang="en-GB"><span style="font-size: small;">   <span style="color: teal;">&lt;</span><span style="color: #3f7f7f;">add-property</span> <span style="color: #7f007f;">key</span><span style="color: black;">=</span><span style="color: #2a00ff;"><i>"energy-rating"</i></span><span style="color: teal;">&gt;</span><span style="color: black;">75</span></span><span style="font-size: small;"><span style="color: teal;">&lt;</span></span><span style="font-size: small;"><span style="color: teal;"><span style="color: #3f7f7f;">/add-property</span><span style="color: teal;">&gt;</span></span></span><br/></div><div align="left" lang="en-GB"><span style="font-size: small;">  <span style="color: teal;"><span style="color: #3f7f7f;">&lt;/rule</span><span style="color: teal;">&gt;</span></span></span><br/></div><div align="left" lang="en-GB"><span style="font-size: small;">  <span style="color: teal;">&lt;</span><span style="color: #3f7f7f;">rule</span><span style="color: teal;">&gt;</span></span><br/></div><div align="left" lang="en-GB"><span style="font-size: small;">   <span style="color: teal;">&lt;</span><span style="color: #3f7f7f;">service-filter</span><span style="color: teal;">&gt;</span><span style="color: black;">(</span><span style="color: #2a00ff;">&amp;</span><span style="color: black;">(objectClass=org.acme.Printer)(name=p7))</span></span><span style="font-size: small;"><span style="color: teal;">&lt;</span></span><span style="font-size: small;"><span style="color: teal;"><span style="color: #3f7f7f;">/service-filter</span><span style="color: teal;">&gt;</span></span></span><br/></div><div align="left" lang="en-GB"><span style="font-size: small;"><span style="color: black;">        </span><span style="color: teal;">&lt;</span><span style="color: #3f7f7f;">add-property</span> <span style="color: #7f007f;">key</span><span style="color: black;">=</span><span style="color: #2a00ff;"><i>"energy-rating"</i></span><span style="color: teal;">&gt;</span><span style="color: black;">50</span></span><span style="font-size: small;"><span style="color: teal;">&lt;/</span></span><span style="font-size: small;"><span style="color: teal;"><span style="color: #3f7f7f;">add-property</span><span style="color: teal;">&gt;</span></span></span><br/></div><div align="left" lang="en-GB"><span style="font-size: small;">  </span><span style="font-size: small;"><span style="color: teal;">&lt;</span></span><span style="font-size: small;"><span style="color: teal;"><span style="color: #3f7f7f;">/rule</span><span style="color: teal;">&gt;</span></span></span><br/></div><div align="left" lang="en-GB"><span style="font-size: small;"> </span><span style="font-size: small;"><span style="color: teal;">&lt;</span></span><span style="font-size: small;"><span style="color: teal;"><span style="color: #3f7f7f;">/proxy-registration</span><span style="color: teal;">&gt;</span></span></span><br/></div><div align="left" lang="en-GB"><span style="font-size: small;"><span style="color: teal;">&lt;/</span></span><span style="font-size: small;"><span style="color: teal;"><span style="color: #3f7f7f;">service-jockey</span><span style="color: teal;">&gt;</span></span></span><br/></div><div lang="en-GB" style="margin-bottom: 0in;"><span style="font-size: small;"><br/></span><br/></div><div lang="en-GB"><span style="font-size: small;">I will have to tell the Service-Jockey that my bundle contains configuration for it, for that I'm adding a header to the Manifest:</span><br/></div><div lang="en-GB"><span style="font-size: small;"><span style="color: maroon;">Service-Jockey</span><span style="color: black;">: META-INF/sj.xml</span></span><br/></div><div lang="en-GB"><span style="font-size: small;"><br/></span><br/></div><div lang="en-GB"><span style="font-size: small;">Lets run the Printer Consumer bundle  together with Service Jockey and my 'Printer Jockey' configuration bundle that contains the sj.xml file:</span><br/></div><div align="left" lang="en-GB"><span style="font-size: small;"><span style="color: black;">id    State   Level Bundle</span></span><br/></div><div align="left" lang="en-GB"><span style="font-size: small;"><span style="color: black;">0 ACTIVE   0     org.eclipse.osgi_3.5.1.R35x_v20090827</span></span><br/></div><div align="left" lang="en-GB"><span style="font-size: small;"><span style="color: black;">1 ACTIVE   1     org.coderthoughts.servicejockey_0.0.1</span></span><br/></div><div align="left" lang="en-GB"><span style="font-size: small;"><span style="color: black;">2 ACTIVE   1     PrinterJockey_1.0.0</span></span><br/></div><div align="left" lang="en-GB"><span style="font-size: small;"><span style="color: black;">3 ACTIVE  10    Printers_1.0.0</span></span><br/></div><div lang="en-GB"><span style="font-size: small;"><br/></span><br/></div><div lang="en-GB"><span style="font-size: small;">In my case the Printers bundle both registers and consumes the Printers, but that's because its a little test bundle. It's not really relevant. Note that the Printers bundle has a higher start level than the Jockey ones and therefore starts later.</span><br/></div><div lang="en-GB"><span style="font-size: small;"><br/></span><br/></div><div lang="en-GB"><span style="font-size: small;">When I run my system again I can see that it's doing some work. Now my client reports these services:</span><br/></div><div lang="en-GB"><span style="font-size: small;"><span style="color: black;">Printer:</span></span><br/></div><div align="left"><span style="font-size: small;"><span style="color: black;">objectClass: [org.acme.Printer]</span></span><br/></div><div align="left"><span style="font-size: small;"><span style="color: black;">service.id: 30</span></span><br/></div><div align="left"><span style="font-size: small;"><span style="color: black;">name: p1</span></span><br/></div><div align="left"><span style="font-size: small;"><span style="color: black;">location: b283</span></span><br/></div><div align="left"><span style="font-size: small;"><span style="color: black;">capabilities: [Double-sided]</span></span><br/></div><div align="left"><span style="font-size: small;"><span style="color: black;">paper-size: [A3, A4]</span></span><br/></div><div align="left"><span style="font-size: small;"><span style="color: black;">energy-rating: 75</span></span><br/></div><div align="left"><span style="font-size: small;"><span style="color: black;">.ServiceJockey: Proxied</span></span><br/></div><div align="left"><span style="font-size: small;"><br/></span><br/></div><div align="left"><span style="font-size: small;"><span style="color: black;">Printer:</span></span><br/></div><div align="left"><span style="font-size: small;"><span style="color: black;">objectClass: [org.acme.Printer]</span></span><br/></div><div align="left"><span style="font-size: small;"><span style="color: black;">service.id: 32</span></span><br/></div><div align="left"><span style="font-size: small;"><span style="color: black;">name: p7</span></span><br/></div><div align="left"><span style="font-size: small;"><span style="color: black;">location: a12</span></span><br/></div><div align="left"><span style="font-size: small;"><span style="color: black;">capabilities: [Colour, Staple]</span></span><br/></div><div align="left"><span style="font-size: small;"><span style="color: black;">paper-size: [A4, Letter]</span></span><br/></div><div align="left"><span style="font-size: small;"><span style="color: black;">energy-rating: 50</span></span><br/></div><div align="left"><span style="font-size: small;"><span style="color: black;">.ServiceJockey: Proxied</span></span><br/></div><div align="left" lang="en-GB" style="margin-bottom: 0in;"><span style="font-size: small;"><br/></span><br/></div><div lang="en-GB" style="margin-bottom: 0in;"><span style="font-size: small;">Aha! I've got my energy rating in there! That's good. Remember that these are alternative registrations. The original ones haven't changed, they're just hidden.</span><br/></div><span style="font-size: small;"><b><br/><span style="font-size: large;"> Altering Client Side Lookups </span><br/></b> </span><br/><div lang="en-GB"><span style="font-size: small;">Now I want my client to only use the one that is rated &lt;= 50.  </span><br/></div><div lang="en-GB"><span style="font-size: small;">That's done by adding another rule to the Service Jockey configuration. A rule that adds an extra filter to any matching lookup in a consumer.</span><br/></div><div><span style="font-size: small;"><span style="color: teal;"><span lang="en-GB">&lt;</span></span><span style="color: #3f7f7f;"><span lang="en-GB">service-jockey</span></span><span lang="en-GB"> </span><span style="color: #7f007f;"><span lang="en-GB">xmlns</span></span><span style="color: black;"><span lang="en-GB">=</span></span><span style="color: #2a00ff;"><span lang="en-GB"><i>"http://www.coderthoughts.org/schemas/sj/v1.0.0"</i></span></span><span style="color: teal;"><span lang="en-GB">&gt;</span></span></span><br/></div><div align="left"><span style="font-size: small;"> <b><span style="color: teal;">&lt;</span><span style="color: #3f7f7f;">restrict-visibility</span><span style="color: teal;">&gt;</span></b></span><br/></div><div align="left"><span style="font-size: small;"><span style="color: black;">     </span><b><span style="color: teal;">&lt;</span><span style="color: #3f7f7f;">rule</span><span style="color: teal;">&gt;</span></b></span><br/></div><div align="left"><span style="font-size: small;">   <b><span style="color: teal;">&lt;</span><span style="color: #3f7f7f;">bsn</span><span style="color: teal;">&gt;</span><span style="color: black;">.*</span></b></span><span style="font-size: small;"><b><span style="color: teal;"><span style="color: #3f7f7f;">&lt;/</span></span></b></span><span style="font-size: small;"><b><span style="color: teal;"><span style="color: #3f7f7f;">bsn</span><span style="color: teal;">&gt;</span></span></b></span><br/></div><div align="left"><span style="font-size: small;">   <b><span style="color: teal;">&lt;</span><span style="color: #3f7f7f;">service-filter</span><span style="color: teal;">&gt;</span><span style="color: black;">(objectClass=org.acme.Printer)</span></b></span><span style="font-size: small;"><b><span style="color: teal;"><span style="color: #3f7f7f;">&lt;/</span></span></b></span><span style="font-size: small;"><b><span style="color: teal;"><span style="color: #3f7f7f;">service-filter</span><span style="color: teal;">&gt;</span><span style="color: black;"> </span></span></b> </span><br/></div><div align="left"><span style="font-size: small;">   <b><span style="color: teal;">&lt;</span><span style="color: #3f7f7f;">add-filter</span><span style="color: teal;">&gt;</span><span style="color: black;">(energy-rating</span><span style="color: #2a00ff;">&lt;</span><span style="color: black;">=50)</span></b></span><span style="font-size: small;"><b><span style="color: teal;"><span style="color: #3f7f7f;">&lt;/</span></span></b></span><span style="font-size: small;"><b><span style="color: teal;"><span style="color: #3f7f7f;">add-filter</span><span style="color: teal;">&gt;</span></span></b></span><br/></div><div align="left"><span style="font-size: small;">  <b><span style="color: teal;"><span style="color: #3f7f7f;">&lt;/rule</span><span style="color: teal;">&gt;</span></span></b></span><br/></div><div align="left"><span style="font-size: small;"><span style="color: teal;"><b> </b></span></span><span style="font-size: small;"><span style="color: teal;">&lt;</span></span><span style="font-size: small;"><b><span style="color: teal;"><span style="color: #3f7f7f;">/restrict-visibility</span><span style="color: teal;">&gt;</span></span></b></span><br/></div><div align="left"><span style="font-size: small;"><span style="color: black;"> </span><span style="color: teal;">&lt;</span><span style="color: #3f7f7f;">proxy-registration</span><span style="color: teal;">&gt;</span></span><br/></div><div align="left"><span style="font-size: small;"><span style="color: teal;">  ...</span></span><br/></div><div align="left"><span style="font-size: small;"> </span><span style="font-size: small;"><span style="color: teal;">&lt;/</span></span><span style="font-size: small;"><span style="color: teal;"><span style="color: #3f7f7f;">proxy-registration</span><span style="color: teal;">&gt;</span></span></span><br/></div><div align="left"><span style="font-size: small;"><span style="color: teal;">&lt;</span></span><span style="font-size: small;"><span style="color: teal;"><span style="color: #3f7f7f;">/service-jockey</span><span style="color: teal;">&gt;</span></span></span><br/></div><div lang="en-GB"><span style="font-size: small;"><br/></span><br/></div><div lang="en-GB"><span style="font-size: small;">You can specify a regular expression to say what the Bundle Symbolic Name of the consumer bundle(s) is that the rule applies to. In my case .* matches anything. So it applies to any bundle that has OSGi Service consumers. By the way, there's also a <span style="font-family: Courier New,monospace;"/> tag.</span><br/></div><div align="left" style="margin-bottom: 0in;"><span style="font-size: small;"><br/></span><br/></div><div align="left" style="margin-bottom: 0in;"><span lang="en-GB" style="font-size: small;">You specify to what services the additional filter applies with the </span><span style="font-size: small;"><span style="color: black;"><span style="font-family: Courier New,monospace;"><span lang="en-GB"> </span></span></span><span lang="en-GB">tag and you specify the additional filter in </span><span style="color: black;"><span style="font-family: Courier New,monospace;"><span lang="en-GB"/></span></span><span lang="en-GB">. In my case I'm adding the </span><span style="color: black;"><span style="font-family: Courier New,monospace;"><span lang="en-GB">(energy-rating&lt;=50) </span></span></span><span lang="en-GB">condition to any Printer Service returned to a consumer (the condition looks a bit dodgy because of the XML escaping of the '&lt;' sign - you could use a CDATA section instead...).</span></span><br/></div><div align="left" lang="en-GB" style="margin-bottom: 0in;"><span style="font-size: small;">Note that the Service Filter applies to any service returned to a service consumer, regardless of the filter used by the client itself looks like.  </span><br/></div><div align="left" lang="en-GB" style="margin-bottom: 0in;"><span style="font-size: small;"><br/></span><br/></div><div align="left" lang="en-GB" style="margin-bottom: 0in;"><span style="font-size: small;">Let's run the client again:</span><br/></div><div align="left" lang="en-GB"><span style="font-size: small;"><span style="color: black;">Printer:</span></span><br/></div><div align="left"><span style="font-size: small;"><span style="color: black;">objectClass: [org.acme.Printer]</span></span><br/></div><div align="left"><span style="font-size: small;"><span style="color: black;">service.id: 32</span></span><br/></div><div align="left"><span style="font-size: small;"><span style="color: black;">name: p7</span></span><br/></div><div align="left"><span style="font-size: small;"><span style="color: black;">capabilities: [Colour, Staple]</span></span><br/></div><div align="left"><span style="font-size: small;"><span style="color: black;">location: a12</span></span><br/></div><div align="left"><span style="font-size: small;"><span style="color: black;">paper-size: [A4, Letter]</span></span><br/></div><div align="left"><span style="font-size: small;"><span style="color: black;">energy-rating: 50</span></span><br/></div><div align="left"><span style="font-size: small;"><span style="color: black;">.ServiceJockey: Proxied</span></span><br/></div><div align="left" lang="en-GB" style="margin-bottom: 0in;"><span style="font-size: small;"><br/></span><br/></div><div align="left" lang="en-GB" style="margin-bottom: 0in;"><span style="font-size: small;">Bingo - it only selects the service I wanted it to select. Based on additional properties and criteria listed in my Service Jockey configuration file. I did not have to modify the Printer Service registration bundle or the Consumer bundle...</span><br/></div><span style="font-size: large;"><b><br/>Is it overkill?</b> </span><br/><div lang="en-GB"><span style="font-size: small;">Seems like a lot of work for just adding a service property, is there not a lighter way to at least add values to Service Registrations? Well at least that was my initial impression. However looking at the ServiceJockey bundle, it's only 14kb. Besides that there is currently no other way to achieve this...  </span><br/></div><span style="font-size: small;"><b><br/><span style="font-size: large;"> Service Jockey - ride your service interactions</span></b> </span><br/><div lang="en-GB"><span style="font-size: small;">I didn't show any of the code to actually use the EventHook and the FindHook. Have a look at the <a href="http://coderthoughts.googlecode.com/svn/trunk/ServiceJockey/ServiceJockey/src/org/coderthoughts/servicejockey/HidingEventHook.java">HidingEventHook</a> and <a href="http://coderthoughts.googlecode.com/svn/trunk/ServiceJockey/ServiceJockey/src/org/coderthoughts/servicejockey/HidingFindHook.java">HidingFindHook</a> source code for that.</span><br/><br/><span style="font-size: small;">You can check out the source (Apache License) as an Eclipse Project <a href="http://coderthoughts.googlecode.com/svn/trunk/ServiceJockey/ServiceJockey">from SVN here</a>. If you fancy modifying the code, I would recommend you also <a href="http://coderthoughts.googlecode.com/svn/trunk/ServiceJockey/ServiceJockeyTest">get the tests project</a> and add new ones. The test bundle depend on the <a href="http://code.google.com/p/mockito/">Mockito bundle</a> for its mock objects...</span><br/></div><div lang="en-GB"><span style="font-size: small;">  </span><br/></div><div lang="en-GB"><span style="font-size: small;">I'm sure the Service Jockey isn't perfect, because I only wrote it during an airplane flight so feel free to send patches :)<br/></span><br/></div><div lang="en-GB"><span style="font-size: small;">I also put a <a href="http://coderthoughts.googlecode.com/files/org.coderthoughts.servicejockey_0.0.1.jar">binary download of ServiceJockey here</a>.</span><br/></div><div lang="en-GB"><span style="font-size: small;">Also in the source tree, Eclipse projects for the <a href="http://coderthoughts.googlecode.com/svn/trunk/ServiceJockey/Printers">Printers</a> and <a href="http://coderthoughts.googlecode.com/svn/trunk/ServiceJockey/PrinterJockey">PrinterJockey</a> example bundles. </span><br/></div></div><div lang="en-GB"><span style="font-size: x-small;"><span style="font-size: x-small;"><span style="font-size: x-small;"><span style="font-size: x-small;"><span style="font-size: x-small;"><span style="font-size: x-small;"><span style="font-size: x-small;"><span style="font-size: x-small;"><span style="font-size: x-small;"><span style="font-size: x-small;"><span style="font-size: x-small;"><span style="font-size: x-small;"><span style="font-size: x-small;"><span style="font-size: x-small;"><span style="font-size: x-small;"><span style="font-style: normal;"><span style="font-weight: normal;"/></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><br/></div><span style="font-size: x-small;"><span style="font-size: x-small;"><span style="font-size: x-small;"><span style="font-size: x-small;"><span style="font-size: x-small;"><span style="font-size: x-small;"><span style="font-size: x-small;"><span style="font-size: x-small;"><span style="font-size: x-small;"><span style="font-size: x-small;"><span style="font-size: x-small;"><span style="font-size: x-small;"><span style="font-size: x-small;"><span style="font-size: x-small;"><span style="font-size: x-small;"><span style="font-size: large;"><b/></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/9210566578097047576-3287136601858913109?l=coderthoughts.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2009-11-18T13:58:42Z</updated>
    <published>2009-11-18T11:28:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="OSGi"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="services"/>
    <author>
      <name>davidb</name>
      <email>david.bosschaert@gmail.com</email>
      <uri>http://www.blogger.com/profile/13786738766478890804</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-9210566578097047576</id>
      <author>
        <name>davidb</name>
        <email>david.bosschaert@gmail.com</email>
        <uri>http://www.blogger.com/profile/13786738766478890804</uri>
      </author>
      <link href="http://coderthoughts.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/9210566578097047576/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://coderthoughts.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <title>&lt;coderthoughts /&gt;</title>
      <updated>2010-06-08T06:16:50Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-18361809.post-434200439345987255</id>
    <link href="http://douggaff.blogspot.com/feeds/434200439345987255/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=18361809&amp;postID=434200439345987255" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/18361809/posts/default/434200439345987255" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/18361809/posts/default/434200439345987255" rel="self" type="application/atom+xml"/>
    <link href="http://douggaff.blogspot.com/2009/11/my-next-adventure.html" rel="alternate" type="text/html"/>
    <title>My Next Adventure</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><span><p>After almost 10 years at EmbeddedSupportTools/WindRiver/Intel, I'm heading off to pursue a new opportunity. I will be joining <a href="http://www.npr.org/">National Public Radio</a> as Director of Technology for <a href="http://www.publicinteractive.com/">Public Interactive</a>. This Boston-based division of NPR is responsible for the web technology platform used by many of the NPR affiliate stations. NPR is a great organization with a great mission, and I'm excited to be joining their team.<br/></p><p>For my colleagues in Eclipse who know me as the embedded and mobile guy, the leader of DSDP, the guy who's always on the EclipseCon Program Committee, or one of your friendly Committer Reps, this is clearly "something completely different" as the Monty Python crew would say. In my new role, we will predominantly be users of Eclipse rather than contributors, and as such I will unfortunately be stepping down from my leadership roles in the Eclipse community.<br/></p><p>I want to thank Wind River for supporting my work at Eclipse and for investing in the CDT, DSDP, and Platform projects. I also want to thank the many leaders in the Eclipse community and at the Foundation, from whom I've learned a great deal about meritocracy, IP policy, coopetition, copyright, governance, collaboration, and free beer. <br/></p><p>Please stay in touch. Follow me on <a href="http://twitter.com/douggaff">twitter</a> or connect on <a href="http://www.linkedin.com/in/douggaff">linked in</a>.<br/></p></span><div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/18361809-434200439345987255?l=douggaff.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2009-11-16T14:44:39Z</updated>
    <published>2009-11-16T14:44:00Z</published>
    <author>
      <name>Doug Gaff</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/05648526940839535738</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-18361809</id>
      <author>
        <name>Doug Gaff</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/05648526940839535738</uri>
      </author>
      <link href="http://douggaff.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/18361809/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://douggaff.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://www.blogger.com/feeds/18361809/posts/default?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <title>Device Software Development Platform</title>
      <updated>2010-06-05T21:53:56Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://ahtik.com/blog/?p=253</id>
    <link href="http://ahtik.com/blog/2009/11/10/eclipse-democamp-tallinn-flyer-available/" rel="alternate" type="text/html"/>
    <title>Eclipse DemoCamp TALLINN flyer available!</title>
    <summary>We prepared a small pdf flyer to promote Eclipse DemoCamp taking place in Tallinn, Estonia. See Eclipse DemoCamp Tallinn/Estonia website for event details!
Direct link to flyer: Eclipse DemoCamp Tallinn PDF Flyer.
Feel free to share!</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p><b>We prepared a small pdf flyer to promote Eclipse DemoCamp taking place in Tallinn, Estonia. See <a href="http://wiki.eclipse.org/Eclipse_DemoCamps_November_2009/Tallinn">Eclipse DemoCamp Tallinn/Estonia website</a> for event details!</b></p>
<p>Direct link to flyer: <a href="http://ahtik.com/blog/wp-content/uploads/2009/11/democamp-tallinn-flyer1.pdf">Eclipse DemoCamp Tallinn PDF Flyer</a>.</p>
<p><b>Feel free to share!</b></p></div>
    </content>
    <updated>2009-11-10T15:21:41Z</updated>
    <category term="Eclipse"/>
    <author>
      <name>Ahti Kitsik</name>
    </author>
    <source>
      <id>http://ahtik.com/blog</id>
      <link href="http://ahtik.com/blog/category/eclipse/feed/" rel="self" type="application/atom+xml"/>
      <link href="http://ahtik.com/blog" rel="alternate" type="text/html"/>
      <subtitle>Beyond Being Backwards-Compatible</subtitle>
      <title>AhtiK Ventures » Eclipse</title>
      <updated>2010-06-09T06:15:09Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://www.modumind.com/?p=1165</id>
    <link href="http://www.modumind.com/2009/11/09/java-modularity-presentation-in-prezi/" rel="alternate" type="text/html"/>
    <title>Java modularity presentation in Prezi</title>
    <summary>One of the talks I give most often is called “Why Java Modularity Matters”. This is my attempt to explain how modularity in general and OSGi in particular represent the next logical step in the evolution of software development. I’m actually giving this talk at the Madison Java Users Group tomorrow night, and if you’re [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>One of the talks I give most often is called “Why Java Modularity Matters”. This is my attempt to explain how modularity in general and OSGi in particular represent the next logical step in the evolution of software development. I’m actually <a href="http://www.wjug.org/madjug/">giving this talk at the Madison Java Users Group tomorrow night</a>, and if you’re in the area please feel free to stop by.</p>
<p>Anyway, I spent some time last week moving the presentation over to <a href="http://prezi.com">Prezi</a>, which I’ve been interested in trying for a while. What I like about Prezi is that it allows you to convey structure and meaning in ways that are impossible with regular slideware. </p>
<p>If you’re interested in what this looks like, check out the presentation embedded below. It’s obviously not meant to convey a lot of information on it’s own, but you’ll get the general idea. And as always, I’d be interested to hear what you think.</p>
<p> </p>
<p><a href="http://www.addtoany.com/add_to/dzone?linkurl=http%3A%2F%2Fwww.modumind.com%2F2009%2F11%2F09%2Fjava-modularity-presentation-in-prezi%2F&amp;linkname=Java%20modularity%20presentation%20in%20Prezi" rel="nofollow" target="_blank" title="DZone"><img alt="DZone" height="16" src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/dzone.png" width="16"/></a> <a href="http://www.addtoany.com/add_to/linkedin?linkurl=http%3A%2F%2Fwww.modumind.com%2F2009%2F11%2F09%2Fjava-modularity-presentation-in-prezi%2F&amp;linkname=Java%20modularity%20presentation%20in%20Prezi" rel="nofollow" target="_blank" title="LinkedIn"><img alt="LinkedIn" height="16" src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/linkedin.png" width="16"/></a> <a href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Fwww.modumind.com%2F2009%2F11%2F09%2Fjava-modularity-presentation-in-prezi%2F&amp;linkname=Java%20modularity%20presentation%20in%20Prezi" rel="nofollow" target="_blank" title="Delicious"><img alt="Delicious" height="16" src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/delicious.png" width="16"/></a> <a href="http://www.addtoany.com/add_to/digg?linkurl=http%3A%2F%2Fwww.modumind.com%2F2009%2F11%2F09%2Fjava-modularity-presentation-in-prezi%2F&amp;linkname=Java%20modularity%20presentation%20in%20Prezi" rel="nofollow" target="_blank" title="Digg"><img alt="Digg" height="16" src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/digg.png" width="16"/></a> <a href="http://www.addtoany.com/add_to/evernote?linkurl=http%3A%2F%2Fwww.modumind.com%2F2009%2F11%2F09%2Fjava-modularity-presentation-in-prezi%2F&amp;linkname=Java%20modularity%20presentation%20in%20Prezi" rel="nofollow" target="_blank" title="Evernote"><img alt="Evernote" height="16" src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/evernote.png" width="16"/></a> <a href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fwww.modumind.com%2F2009%2F11%2F09%2Fjava-modularity-presentation-in-prezi%2F&amp;linkname=Java%20modularity%20presentation%20in%20Prezi" rel="nofollow" target="_blank" title="Facebook"><img alt="Facebook" height="16" src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/facebook.png" width="16"/></a> <a href="http://www.addtoany.com/add_to/friendfeed?linkurl=http%3A%2F%2Fwww.modumind.com%2F2009%2F11%2F09%2Fjava-modularity-presentation-in-prezi%2F&amp;linkname=Java%20modularity%20presentation%20in%20Prezi" rel="nofollow" target="_blank" title="FriendFeed"><img alt="FriendFeed" height="16" src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/friendfeed.png" width="16"/></a> <a href="http://www.addtoany.com/add_to/google_bookmarks?linkurl=http%3A%2F%2Fwww.modumind.com%2F2009%2F11%2F09%2Fjava-modularity-presentation-in-prezi%2F&amp;linkname=Java%20modularity%20presentation%20in%20Prezi" rel="nofollow" target="_blank" title="Google Bookmarks"><img alt="Google Bookmarks" height="16" src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/google.png" width="16"/></a> <a href="http://www.addtoany.com/add_to/reddit?linkurl=http%3A%2F%2Fwww.modumind.com%2F2009%2F11%2F09%2Fjava-modularity-presentation-in-prezi%2F&amp;linkname=Java%20modularity%20presentation%20in%20Prezi" rel="nofollow" target="_blank" title="Reddit"><img alt="Reddit" height="16" src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/reddit.png" width="16"/></a> <a href="http://www.addtoany.com/add_to/squidoo?linkurl=http%3A%2F%2Fwww.modumind.com%2F2009%2F11%2F09%2Fjava-modularity-presentation-in-prezi%2F&amp;linkname=Java%20modularity%20presentation%20in%20Prezi" rel="nofollow" target="_blank" title="Squidoo"><img alt="Squidoo" height="16" src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/squidoo.png" width="16"/></a> <a href="http://www.addtoany.com/add_to/stumbleupon?linkurl=http%3A%2F%2Fwww.modumind.com%2F2009%2F11%2F09%2Fjava-modularity-presentation-in-prezi%2F&amp;linkname=Java%20modularity%20presentation%20in%20Prezi" rel="nofollow" target="_blank" title="StumbleUpon"><img alt="StumbleUpon" height="16" src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/stumbleupon.png" width="16"/></a> <a href="http://www.addtoany.com/add_to/technorati_favorites?linkurl=http%3A%2F%2Fwww.modumind.com%2F2009%2F11%2F09%2Fjava-modularity-presentation-in-prezi%2F&amp;linkname=Java%20modularity%20presentation%20in%20Prezi" rel="nofollow" target="_blank" title="Technorati Favorites"><img alt="Technorati Favorites" height="16" src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/technorati.png" width="16"/></a> <a href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fwww.modumind.com%2F2009%2F11%2F09%2Fjava-modularity-presentation-in-prezi%2F&amp;linkname=Java%20modularity%20presentation%20in%20Prezi" rel="nofollow" target="_blank" title="Twitter"><img alt="Twitter" height="16" src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/twitter.png" width="16"/></a> <a href="http://www.addtoany.com/add_to/yahoo_bookmarks?linkurl=http%3A%2F%2Fwww.modumind.com%2F2009%2F11%2F09%2Fjava-modularity-presentation-in-prezi%2F&amp;linkname=Java%20modularity%20presentation%20in%20Prezi" rel="nofollow" target="_blank" title="Yahoo Bookmarks"><img alt="Yahoo Bookmarks" height="16" src="http://www.modumind.com/wp-content/plugins/add-to-any/icons/yahoo.png" width="16"/></a> <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.modumind.com%2F2009%2F11%2F09%2Fjava-modularity-presentation-in-prezi%2F&amp;linkname=Java%20modularity%20presentation%20in%20Prezi">Share/Save</a></p></div>
    </content>
    <updated>2009-11-09T21:59:05Z</updated>
    <category term="OSGi"/>
    <category term="eclipse"/>
    <author>
      <name>Patrick</name>
    </author>
    <source>
      <id>http://www.modumind.com</id>
      <link href="http://www.modumind.com/feed/?mrss=off" rel="self" type="application/atom+xml"/>
      <link href="http://www.modumind.com" rel="alternate" type="text/html"/>
      <subtitle>Eclipse RCP and OSGi training - online or onsite</subtitle>
      <title>Modular Mind</title>
      <updated>2010-04-27T13:48:19Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-24509428.post-6200311898300133451</id>
    <link href="http://blog.ianbull.com/feeds/6200311898300133451/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=24509428&amp;postID=6200311898300133451" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/24509428/posts/default/6200311898300133451" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/24509428/posts/default/6200311898300133451" rel="self" type="application/atom+xml"/>
    <link href="http://blog.ianbull.com/2009/11/mo-mo-mo-movember.html" rel="alternate" type="text/html"/>
    <title>Mo, Mo, Mo, Movember</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">What started out as a <a href="http://eclipsesource.com/blogs/2009/10/31/come-on-eclipse-lets-grow-a-mo/">crazy idea on Friday afternoon</a>, with a little encouragement from <a href="http://dev.eclipse.org/blogs/iamkevb/2009/10/30/eclipse-mommitters-for-prostate-cancer/">Kevin Barnes</a>, is starting to take off.  We now have an Official Eclipse Mommitter team -- a team of Eclipse contributors who plan on growing Mustaches during the month of <a href="http://www.movember.com/">Movember</a> to raise awareness (and funds) for men's health issues.<br/><br/>But if you're reading this blog it means you're interested in Eclipse and you are encouraged to join the team.  In fact, I would like to put a challenge out there: let's try and get 20 people to join the Eclipse Mommitters (no voting needed).  Considering there are close to 1,000 committers, 20 people is only 2% of that population.  Considering the release train is known to have a few million users, that's less than 0.002%!  It would also be cool to get at least one committer from each top level project.  (And someone from the Foundation too).<br/><br/>Since November has already started (it's likely November 2nd when your reading this) we have to act quick.  There are a few things you must do:<br/><ol><li> Checkout <a href="http://www.movember.com/">www.movember.com</a><br/></li><li> Join the team: <a href="http://www.movember.com/register/44681">http://www.movember.com/register/44681</a>.  If the link doesn't work, search www.movember.com for the team Eclipse Mommitters<br/></li><li> Run home and shave (no head starts)<br/></li><li> Start raising a few bucks and a ton of awareness<br/></li></ol>Our awesome Eclipse Release Engineers are considering using our Mommitters logo during one of the integration builds to help raise awareness too -- You could be part of Eclipse history!<br/><br/>No doubt you have a few questions, so here are answers to some of the more common questions:<br/><br/><b>What is Movember?</b><br/><br/>Movember (the month formerly known as November) is a moustache growing charity event held during November each year that raises funds and awareness for men's health.<br/><br/>At the start of Movember guys register with a clean shaven face. The Movember participants, known as Mo Bros, have the remainder of the month to grow and groom their Mo, raising money along the way to benefit men's health. -- In Canada we are raising funds for prostate cancer, however, different countries are raising funds for local charities related to men's health.<br/><br/><b>How can women get involved?</b><br/>While growing a Mo is left to the guys, Mo Sistas do a lot of important work for Movember. Mo Sistas can get involved by:<br/><ul><li> Registering online, recruiting a team and raising money<br/></li><li>  Organising events like Mo Parties<br/></li><li>  Making a donation to a Mo Bro<br/></li><li> Supporting and showing love for the Mo<br/></li></ul><b>I already have a Mo - how can I participate?</b><br/>If you already have a Mo you can do a ‘reverse Movember’ and have people donate to you to shave it off.  Alternatively, you could shave off your moustache at the start of Movember and then re-grow your Mo throughout the month…. Maybe it’s time to try a new Mo style?<br/><br/><b>Are goatees or beards allowed?</b><br/>The definition of a Moustache:<br/><ol><li> There is to be no joining of the Mo to side burns – That’s a beard.<br/></li><li> There is to be no joining of the handlebars – That’s a goatee.<br/></li><li> A small complimentary growth under the bottom lip is allowed (aka a tickler).<br/></li></ol>Remember, it’s Movember, not ‘Beardvember’ or ‘Goateevember’<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/24509428-6200311898300133451?l=blog.ianbull.com" width="1"/></div></div>
    </content>
    <updated>2009-11-02T04:24:52Z</updated>
    <published>2009-11-02T03:40:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="eclipse"/>
    <author>
      <name>Ian Bull</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/02668098567506210626</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-24509428</id>
      <author>
        <name>Ian Bull</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/02668098567506210626</uri>
      </author>
      <link href="http://blog.ianbull.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/24509428/posts/default/-/eclipse" rel="self" type="application/atom+xml"/>
      <link href="http://blog.ianbull.com/search/label/eclipse" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>I'm just sayin' is all</subtitle>
      <title>Bull's Blog</title>
      <updated>2010-05-10T05:22:56Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://www.norio.be/148 at http://www.norio.be</id>
    <link href="http://www.norio.be/blog/2009/10/problems-eclipse-buttons-ubuntu-910" rel="alternate" type="text/html"/>
    <title>Problems with Eclipse buttons in Ubuntu 9.10</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>After upgrading to Ubuntu 9.10 (Karmic Koala) some buttons no longer work in Eclipse 3.5. Clicking has no effect but keyboard shortcuts still work.<!--break--></p>
<p>It looks like Eclipse is doing some <strike>nasty stuff</strike> advanced hacking in SWT on GTK. <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=287307">This bug</a> is fixed in 3.6M2 but you can <a href="http://git.gnome.org/cgit/gtk+/commit/?id=a79f929dd6c89fceeaf0d9039e5a10cad9d87d2f">work around</a> the issue in Eclipse 3.5 by launching Eclipse through the following small shell script (assuming Eclipse is installed in /opt/eclipse-3.5):</p>
<pre>#!/bin/sh
export GDK_NATIVE_WINDOWS=1
/opt/eclipse-3.5/eclipse
</pre><img height="1" src="http://feeds.feedburner.com/~r/norio-eclipse/~4/g7wkXXhBCRw" width="1"/></div>
    </summary>
    <updated>2009-10-30T13:44:44Z</updated>
    <category scheme="http://www.norio.be/tags/eclipse" term="eclipse"/>
    <category scheme="http://www.norio.be/tags/open-source" term="open source"/>
    <category scheme="http://www.norio.be/tags/ubuntu" term="ubuntu"/>
    <author>
      <name>litrik</name>
    </author>
    <source>
      <id>http://www.norio.be/taxonomy/term/12/0</id>
      <link href="http://www.norio.be/taxonomy/term/12/0" rel="alternate" type="text/html"/>
      <link href="http://feeds.feedburner.com/norio-eclipse" rel="self" type="application/rss+xml"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <title>Norio's Eclipse posts</title>
      <updated>2010-04-27T13:53:46Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-17681521.post-3130553693105827912</id>
    <link href="http://michaelscharf.blogspot.com/feeds/3130553693105827912/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=17681521&amp;postID=3130553693105827912" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/17681521/posts/default/3130553693105827912" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/17681521/posts/default/3130553693105827912" rel="self" type="application/atom+xml"/>
    <link href="http://michaelscharf.blogspot.com/2009/10/future-of-eclipse-road-construction.html" rel="alternate" type="text/html"/>
    <title>Future of eclipse: The Road Construction Analogy</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><a href="http://www.gerhardtinformatics.com/">Frank Gerhard</a> will host a session at ESE called <a href="http://www.eclipsecon.org/summiteurope2009/sessions?id=1037">Symposium on Eclipse Foundation 2.0</a>. Half a year ago I burned my fingers with my <a href="http://michaelscharf.blogspot.com/2009/04/eclipse-freeloader-award.html">"Eclipse Freeloader Award"</a> blog entry. I got lots of negative comments and mails. I also got a few positive reactions. I decided not to continue talking about the future of eclipse.<br/><br/>Today, half a year later I look back and one interesting mail I wrote at that time is an email press interview. I decided to post it as I wrote it and I use it as my position paper for the symposium. <br/><br/><b>If this blog is to long just read the <a href="http://michaelscharf.blogspot.com/feeds/posts/default/#RC">"The road construction analogy"</a> section.</b> This is the part of the interview I am most proud of....<br/><br/>The last months I have been heavily involved in an internal Wind River project based on eclipse and modeling, especially <a href="http://www.eclipse.org/Xtext/">Xtext</a> and I have not had too much time to work on eclipse except bug reporting and asking stupid questions on the tmf newsgroup. <br/><br/>I have no idea how the community will react on that (very long) post. <br/><br/><b>Disclaimer</b>: The text below was written half a year ago. It expresses my personal opinion at that time. I have not followed the recent developments and I might change my mind at any time... ;-)<br/><br/><br/><b>My reply to an e-mail interview on April 18. 2009:</b><br/><br/><b>Q:</b><i> If you were ready to give the freeloader award, who would be the three finalists for the "honor." Why these guys?</i><br/><br/><b>A:</b> I had no particular company in mind. However, it is the general mentality of the industry that frustrates me: the attitude to take advantage of something like open source and not give back anything to the system. This is also known as the <a href="http://en.wikipedia.org/wiki/Tragedy_of_the_commons">"Tragedy of the Commons"</a>: Scott Lewis pointed out that the bigger a community is the less people participate: <a href="http://eclipsesource.com/blogs/2009/04/07/the-logic-of-collective-action/">"The Logic of Collective Action"</a><br/><br/>From an architectural perspective, there are things to be done in eclipse that should not been driven by direct interests of some companies but in the common interest of the community. IBM somehow took this role for a while, when they put some of their best people on the core of eclipse. At that time they were interested in the overall success of eclipse. Since some years they started removing quite some developers from eclipse (and put them on the Jazz/RTC project).<br/><br/>I believe there should be an independent group of developers driving eclipse. In my opinion it would be best if they would be paid by the community but act independently in the best interest of eclipse.<br/><br/>Now the questions is: why should companies put money into something that is free? If they put money in the system and their competitors do not, they have a competitive disadvantage. They support the community but they have no direct advantage. And in fact the company I work for (Wind River) just ended their membership (which is a sponsorship of the foundation) just recently.<br/><br/>That is why I was brainstorming about ideas how to stimulate companies to contribute. I am really afraid that eclipse will suffer in the future because the architecture degenerates over time and there is not enough manpower to keep modernize the architecture. Yes, there is e4 (the next generation of eclipse), but I am not 100% convinced that this is the solution.<br/><br/>To stimulate companies to give money/resources to support the <a href="http://en.wikipedia.org/wiki/Commons">commons</a> there has to be a benefit. If there is no positive benefit why would a company do that? So, my idea was to create peer pressure. One way to create peer pressure for companies to make them avoid negative press. A freeloader award would create negative pressure. No company would like to win the freeloader award.<br/><br/><b>Q:</b><i> Other people I've spoken to, include Mike M. at Eclipse are much less concerned about the problem. Why do you see it as so serious?</i><br/><br/><b>A:</b> Well, I probably have a different perspective than Mike. Mike sees the eco system and the new companies joining eclipse. My focus is more on the architecture of eclipse. So, the irony is that although eclipse is widely successful the underlying architecture ages and dissolves slowly. Partly because eclipse is stretched into so many different directions. It is never good for an architecture to go into too many directions at the same time. When eclipse started it was a platform for IDE like applications. It was later retro fitted to be the basis for rich client applications. The people ported eclipse to embedded systems. Then the it was used for the web and for servers.... All this is good for the short term success but I am afraid that the long term impact on the architecture could be disastrous. The architecture council is not really focusing on architecture. Partly because the members have never been the ones that created and drove the original architecture. And partly because architecture by committee is doomed to fail. <br/><br/><a name="RC"><b>The road construction analogy</b></a><br/><br/>One analogy for the general eclipse community problem I have been thinking about recently is road infrastructure in a country. Suppose a big company (=IBM) created a basic road infrastructure and decided to make this available to the public for free (=original eclipse).<br/><br/>In the beginning, the big company somehow drove the journey and continued building the free infrastructure. They also had some interest in this infrastructure because they wanted to have a well accepted public road system to deliver their products. But over time they gave the roads to the public and let the other companies continue building the roads. The hope is that the market is self regulating and it would continue maintaining the road infrastructure and new roads would be build by other companies.<br/><br/>In the beginning the companies understood the plan of the big company and continued building in that spirit. But some companies realized that it is not in their interest to build roads for their competitors. And it makes no sense for them to maintain the highways in general. They might build junctions to their private road network but hope that others maintain the net of highways created by the big company long ago. Sure they would fix some obvious holes on the roads. One could argue that roads build like that really reflect the needs of the community. But some of companies make sure the competitors do not get access to their key roads. What happens is: many private roads are be build in parallel, instead of some new highways. Companies would build "public roads" that connect their private roads. If the companies would understand that they all would benefit form good public roads, then they could come together and hire an independent road building organization and give them money (a kind of tax) to build the roads that are in the interest of the entire eco system. But at the moment there is no authority to enforce the tax payment. Lots of the roads are public and some companies donate "public roads" to the system. Who could blame those companies? They give something free to the community but also act in their own interest. They are much better than companies that use the public roads without contributing back. But something is wrong here. The nicely designed infrastructure degenerates over time. Can we blame the ones who contribute for that? That is the key to the problem: companies are contributing, but the contributions are not really in the best interest of the eco system.<br/><br/>How to solve the problem? How to make sure that roads are build that are in the common interest? Would it make sense to have a "tax paid" independent organization build and maintain the infra structure? How can we motivate the community to pay the taxes? Can we blame the companies that fix the roads and add now ones?<br/><br/><br/><b>Q:</b><i> Any suggestions, besides public disgrace, to ease the problem?</i><br/><br/><b>A:</b> The questions boils down to: how can we motivate companies to maintain and enhance the common infra structure?<br/><br/>Positive motivation: all participants understand that they have to invest into the system beyond direct interests. But do all participants understand that? And how to deal with community members that do not want to pay their taxes? If someone can get away not paying the taxes the others who pay the taxes are the stupid ones. So, positive motivation works if all participants understand that they depend on the system. It essentially requires a certain level of moral. The bigger the community (and the more anonymous) the easier it is to get away without paying the tax. And in a capitalist world companies act in their own interest. Who can blame them for doing so? How else can they survive?<br/><br/>Negative motivation: have a police, a pillory, public opinion (press), a freeloader award. Something that puts pressure on members that do not want to pay their "taxes"...<br/><br/><b>Q:</b><i> I always prefer to quote people by name, but if you like, I can withhold yours.</i><br/><br/><b>A:</b> You can quote me. Those who know me know that I can change my mind very quickly. Partly because I simply forget what I say and partly because I like to look at problems from very different angles. Therefore, I could never ever become a politician because you could find lots of statements where I contradict myself.<br/><br/>If I look into the eclipse world, I see that the number of people warning about the future problems is underrepresented. That is why I raised my voice. If everybody would scream and warn about the future of eclipse, I would certainly find a lot of good arguments why eclipse has a bright future and why the current eclipse eco system works so exceptionally well and why eclipse is a great example of a successful open source project. <br/><br/>But at the moment I think there is not enough awareness of the problems of the tragedy of the commons. And that companies think they act in their own interest, but in the long term and from an higher level, they do not act in their own interest because they "ultimately destroy a shared limited resource".<br/><br/>[sorry for the long reply, but this is a topic that upsets me at the moment because I can see the disaster coming]<div class="blogger-post-footer">Michael Scharfs Eclipse and Java Blog http://MichaelScharf.blogspot.com/<img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/17681521-3130553693105827912?l=michaelscharf.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2009-10-24T13:15:56Z</updated>
    <published>2009-10-24T02:38:00Z</published>
    <author>
      <name>Michael Scharf</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/16708708879318235495</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-17681521</id>
      <author>
        <name>Michael Scharf</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/16708708879318235495</uri>
      </author>
      <link href="http://michaelscharf.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/17681521/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://michaelscharf.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://www.blogger.com/feeds/17681521/posts/default?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <subtitle>Here I collect interesting links and findings about eclipse and java...</subtitle>
      <title>Eclipse and Java Blog by Michael Scharf</title>
      <updated>2010-06-03T21:28:03Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-25095519.post-1057750166473005705</id>
    <link href="http://aniefer.blogspot.com/feeds/1057750166473005705/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=25095519&amp;postID=1057750166473005705" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/25095519/posts/default/1057750166473005705" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/25095519/posts/default/1057750166473005705" rel="self" type="application/atom+xml"/>
    <link href="http://aniefer.blogspot.com/2009/07/composing-and-updating-custom-eclipse.html" rel="alternate" type="text/html"/>
    <title>Composing and updating custom Eclipse distros</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">I've recently seen a <a href="http://www.eclipse.org/forums/index.php?t=msg&amp;th=41383&amp;start=0&amp;S=5763840b219361fc591b43e71884b82b">couple</a> of <a href="http://www.eclipse.org/forums/index.php?t=tree&amp;th=41087&amp;start=0&amp;S=47c495d41f26650fc5964f406daf6b70">different</a> posts to the newsgroups dealing with problems updating RCP applications using p2.  <span style="font-style: italic; font-size: small;">[edit 2009/10/21, update links to forums]</span><br/><br/>As an example, I've created my own Eclipse product.  It is composed of the <a href="http://www.eclipse.org/platform/">Eclipse Platform</a>, <a href="http://eclipse.org/eclipse/platform-cvs/">CVS support</a>, the <a href="http://eclipse.org/cdt/">CDT</a> and <a href="http://eclipse.org/mylyn/">Mylyn</a>.  I'm calling it the ADT (Andrew's Development Tools).<br/><br/>It's not hard to create a feature based product that includes these things, and do a <a href="http://aniefer.blogspot.com/2009/03/building-p2-rcp-products-in-eclipse.html">product build</a> to end up with something like this:<br/><br/><a href="http://3.bp.blogspot.com/_iiaKuwyHAlw/SlOuiohv8vI/AAAAAAAAAdo/1cJnTbZpIGY/s1600-h/screen1.PNG"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5355816291891409650" src="http://3.bp.blogspot.com/_iiaKuwyHAlw/SlOuiohv8vI/AAAAAAAAAdo/1cJnTbZpIGY/s400/screen1.PNG" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 281px;"/></a><br/><br/>As explained in <a href="http://www.eclipse.org/newsportal/article.php?id=81809&amp;group=eclipse.platform#81809">this newsgroup post</a>, there are two kinds of things that are included in an Eclipse install:<br/><ol><li>Things that are explicitly installed</li><li>Things that are required by the things that are installed.</li></ol>Here in my example, only my development tools "org.example.adt" is installed, the rest (CDT, CVS, Mylyn) are required by my product.<br/><br/>Only things that are explicitly installed will be searched for when you look for updates.  Also, the installed things generally specify the versions of things they require, which makes it hard to install/update those required items independently of the root product.  In both the newsgroup postings I referred to above, the problem was trying to install/update one of the required items without updating the root product.<br/><br/>So the question becomes how to allow updating sub-components of the product without updating the product itself.<br/><br/><h3>Composing for Updatability</h3>What we want to do is to update sub-components of the product without updating the root product itself.    In this example we do not to allow updating the Eclipse Platform independently, to do that, the user will need to update the product itself.<br/><br/>I have created a example builder to do this.  Get it from <a href="http://dev.eclipse.org/viewcvs/index.cgi/pde-build-home/examples/"><b>cvs</b></a> (dev.eclipse.org:/cvsroot/eclipse/pde-build-home/examples/adt.builder).<br/><br/><span style="font-size: 85%;"><span style="font-style: italic;">I am able get this project from cvs using the cvs repository perspective in eclipse.  If the link to ViewCVS does not yet show the adt.builder project,  I expect there is simply some delay in refreshing and the project will show up there sometime soon.</span></span><br/><br/>We need to do two things:<br/><ol><li>Use version ranges to include sub-components in our product so that we allow upgrading those components.</li><li>Explicitly install those sub-components so they will be found when checking for updates.  This is essentially a book-keeping step.<br/></li></ol><h4>The ADT .product File</h4>There is a <tt>adt.builder/product/adt.product</tt> file which we will use to run a product build.  If we were to include the features for our sub-components in the .product file, then we would end up with requirements on specific versions of those components.  Instead we only include the platform feature <span style="font-size: 85%;"><a href="http://www.blogger.com/post-create.g?blogID=25095519#note_1">[1]</a></span>.<br/><br/>To get requirements to our sub-components, we use a <a href="http://wiki.eclipse.org/Equinox/p2/Customizing_Metadata">p2.inf</a> file to <a href="http://help.eclipse.org/galileo/index.jsp?topic=/org.eclipse.platform.doc.isv/guide/p2_customizing_metadata.html">customize</a> the metadata.   We add requirements with entries that look like this:<br/><pre><br/>requires.1.namespace = org.eclipse.equinox.p2.iu<br/>requires.1.name = org.eclipse.cvs.feature.group<br/>requires.1.range = [1.1.100, 1.2.0)<br/><br/>requires.2.namespace = org.eclipse.equinox.p2.iu<br/>requires.2.name = org.eclipse.mylyn_feature.feature.group<br/>requires.2.range = [3.2.0, 3.3.0)<br/><br/>...<br/></pre><br/>The <tt>.feature.group</tt> suffix is the name of the p2 <a href="http://help.eclipse.org/galileo/index.jsp?topic=/org.eclipse.pde.doc.user/tasks/pde_p2_featuremetadata.htm">Installable Unit</a> corresponding to the features we are interested in.   We specify the version ranges in which we will allow those components to be updated.<br/><h4>The ADT Builder</h4>The adt.builder project includes a <tt>buildADT.xml</tt> ant script which will run a headless product build for us.  The first thing it does is download zips containing the things we need.  This example illustrates three different ways of <a href="http://help.eclipse.org/galileo/index.jsp?topic=/org.eclipse.pde.doc.user/tasks/pde_p2_reusingmetadata.htm">reconsuming metadata</a>.<br/><ol><li>The <a href="http://download.eclipse.org/tools/cdt/releases/galileo/dist/cdt-master-6.0.0.zip">CDT</a> and <a href="http://download.eclipse.org/eclipse/downloads/drops/R-3.5-200906111540/org.eclipse.cvs-p2repo-3.5.zip">CVS</a> both come as zipped p2 repositories.   Things that are not referenced directly by the .product file only need to be available as repositories.  We can reuse these zips directly by specifying them as context repositories using jar: urls.    See the <tt>p2.context.repos</tt> property in the <tt>adt.builder/build.properties</tt> file.</li><li><a href="http://download.eclipse.org/tools/mylyn/update/mylyn-3.2.0-e3.4.zip">Mylyn</a> is not a p2 repository, it is a zipped old style update site.  For this, we use a <a href="http://help.eclipse.org/galileo/index.jsp?topic=/org.eclipse.platform.doc.isv/guide/p2_publishingtasks.htm">publisher task</a> to generate p2 metadata for it. <span style="font-size: 85%;"><a href="http://www.blogger.com/post-create.g?blogID=25095519#note_2">[2]</a></span></li><li>The <a href="http://download.eclipse.org/eclipse/downloads/drops/R-3.5-200906111540/org.eclipse.platform-p2repo-3.5.zip">Eclipse Platform</a> is a p2 repository just like the CDT and CVS.  It is similar to the <a href="http://aniefer.blogspot.com/2009/06/using-deltapack-in-eclipse-35.html">delta pack</a> in that it contains the org.eclipse.equinox.executable feature that is need to get launchers in product builds.  Because the platform feature is included directly in the product, we can't just specify the platform as a context repository, we need the bundles available to pde.build like in a normal headless build.  To do this we transform the repository using the <tt><a href="http://help.eclipse.org/galileo/index.jsp?topic=/org.eclipse.platform.doc.isv/guide/p2_repositorytasks.htm#p2_repo2runnable">p2.repo2runnable</a></tt> task.  See the <tt>transformedRepoLocation</tt> and <tt>repoBaseLocation</tt> properties in the build.properties file.  The transformed repository automatically gets included along with the <tt>pluginPath</tt> property used by pde.build.<br/></li></ol><h4>Adding additional director calls</h4>In order for our sub-components to be independently updatable, they need to be explicitly installed in our resulting product.   By default PDE/Build performs a <a href="http://help.eclipse.org/galileo/index.jsp?topic=/org.eclipse.platform.doc.isv/guide/p2_director.html">director install</a> for just the product being built.  We can use a <tt><a href="http://help.eclipse.org/galileo/index.jsp?topic=/org.eclipse.pde.doc.user/tasks/pde_customization.htm">customAssembly.xml</a></tt> script to perform additional director<span style="font-size: 85%;"><a href="http://www.blogger.com/post-create.g?blogID=25095519#note_3">[3]</a></span> calls before the final archive is created.<br/><br/>It looks like this:<br/><pre>&lt;target name="pre.archive"&gt;<br/>&lt;ant antfile="${genericTargets}" target="runDirector" inheritAll="true"&gt;<br/>&lt;property name="p2.repo" value="${p2.build.repo}"/&gt;<br/>&lt;property name="p2.director.iu" value="org.eclipse.cvs.feature.group"/&gt;<br/>&lt;property name="p2.director.installPath" value="${eclipse.base}"/&gt;<br/>&lt;/ant&gt;<br/>...<br/>&lt;/target&gt;<br/></pre>We make director calls for each of the sub components we allow to be updated.  In the example we do CVS, Mylyn, CDT, and the CDT-Mylyn bridge.<br/><br/><h3>The final result</h3>Run the adt.builder by right-clicking on buildADT.xml and choosing Run As -&gt; Ant Build... Be sure to run in the <a href="http://4.bp.blogspot.com/_iiaKuwyHAlw/SlPIFntIfYI/AAAAAAAAAdw/YSA0GiIyGdQ/s1600-h/screen2.PNG">same JRE</a> as the workspace.  After running the build, the results are available under <tt>adt.builder/buildDirectory/I.&lt;timstamp&gt;</tt>.<br/><br/>Running the resulting product, we see that the CDT, Mylyn and CVS are all showing up as installed roots, and are therefore independently updatable.<br/><br/><a href="http://4.bp.blogspot.com/_iiaKuwyHAlw/SlPKfWXF9gI/AAAAAAAAAd4/W1C0QijnvtM/s1600-h/screen3.PNG"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5355847021800846850" src="http://4.bp.blogspot.com/_iiaKuwyHAlw/SlPKfWXF9gI/AAAAAAAAAd4/W1C0QijnvtM/s320/screen3.PNG" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 211px;"/></a><br/><br/><h4> Notes<br/></h4><ol><li><a name="note_1"/>PDE/Build will automatically generate start level configuration information, but only for things that are included in the .product file.   If we didn't include the platform feature, or at least the bundles that need start level information, then this would not happen automatically and we would need to handle start levels ourselves.   See the help page <a href="http://help.eclipse.org/galileo/index.jsp?topic=/org.eclipse.pde.doc.user/tasks/pde_p2_configuringproducts.htm">here</a> for more information of configuring start levels.</li><li><a name="note_2"/>We publish the p2 metadata for mylyn into <tt><a href="http://help.eclipse.org/galileo/index.jsp?topic=/org.eclipse.pde.doc.user/tasks/pde_p2_builds.htm">${p2.build.repo}</a></tt>.  This property specifies the location of the p2 repository that will be used internally by the build.  Publishing the mylyn metadata here instead of some location specified as a context repository saves the build from mirroring the required IUs into the build repository.</li><li>PDE/Build provides a "<tt><a href="http://help.eclipse.org/galileo/index.jsp?topic=/org.eclipse.pde.doc.user/tasks/pde_p2_productbuilds.htm">runDirector</a></tt>" target that can be used to invoke the director.  This works by executing the director application in a new process.  Normally, this requires setting the "<tt>equinoxLauncherJar</tt>" property specifying the location of the equinox launcher to use, but because we are calling the director from customAssembly.xml, we inherit this property from the generated assembly scripts.</li><li>Running this build produces a properly p2 enabled product.  It does not produce a corresponding repository for that product other than the build time repository <tt>${p2.build.repo}</tt>.  To produce a final repository containing the final product, define the properties <tt>p2.metadata.repo</tt> and <tt>p2.artifact.repo</tt> in the build.properties.  The product and its requirements will then be automatically mirrored into that repo.<br/></li></ol><div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/25095519-1057750166473005705?l=aniefer.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2009-10-21T17:42:42Z</updated>
    <published>2009-07-07T20:01:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="p2"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="RCP"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="Eclipse"/>
    <author>
      <name>Andrew Niefer</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/10918930759740557341</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-25095519</id>
      <author>
        <name>Andrew Niefer</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/10918930759740557341</uri>
      </author>
      <link href="http://aniefer.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/25095519/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://aniefer.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://www.blogger.com/feeds/25095519/posts/default?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <subtitle>One more Eclipse developer.</subtitle>
      <title>Andrew Niefer</title>
      <updated>2010-06-08T17:28:51Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://ahtik.com/blog/?p=230</id>
    <link href="http://ahtik.com/blog/2009/10/16/intellij-idea-goes-open-source/" rel="alternate" type="text/html"/>
    <title>IntelliJ IDEA goes Open-Source!</title>
    <summary>Yesterday (October 15th, 2009) IntelliJ announced open-sourcing most of its IDEA editor under Apache 2.0 license.
Inevitable for growth
At some perspective this has been an inevitable move — code editors have turned into big platforms. They are used for much more than developing pure text-based artifacts. To remain competitive you need to allow the maximum level [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p><b>Yesterday (October 15th, 2009) IntelliJ <a href="http://blogs.jetbrains.com/idea/2009/10/intellij-idea-open-source">announced</a> open-sourcing most of its IDEA editor under Apache 2.0 license.</b></p>
<h2>Inevitable for growth</h2>
<p>At some perspective this has been an inevitable move — code editors have turned into big platforms. They are used for much more than developing pure text-based artifacts. To remain competitive you need to allow the maximum level of integration, openness and visibility. Which becomes impossible without open-sourcing all the core components. Controversially, using a permissive license (ASL, BSD, EPL, LGPL, not GPL) can turn your business into a charity organization.</p>
<h2>Commercial offering</h2>
<p>IDEA Platform plus Java, Groovy and Scala support are all open-sourced. It looks like IntelliJ is retaining some of the revenue stream by keeping Java EE stack closed-source, calling it IDEA Ultimate and offering it as a commercial product.</p>
<h2>The Importance of Java Enterprise (JEE) Tooling</h2>
<p>I think IntelliJ decision about keeping EE as a separate commercial product is a very important indicator for the whole IDE marketplace and particularly for Eclipse. Much to my surprise, at the <a href="http://eclipse.org/membership/slides.pdf">last Eclipse members meeting Q3 call</a> there were some very interesting download stats reported. Eclipse Galileo IDE for JEE gets 41% of the downloads! While Classic and Java combined were 34%! (Off-topic but rcp/plugin edition was 2%).</p>
<p>This 41% of JEE downloads does not include 3rd party distribution providers, many application server vendors have their own bundles with a pre-configured settings (for example <a href="http://download.java.net/glassfish/eclipse">GlassFish Tools Eclipse Bundle</a>).</p>
<h2>Indication for a better future</h2>
<p>IntelliJ move and Eclipse Galileo JEE download clearly demonstrate how important is a good tooling support for Java Enterprise development.</p>
<p>IntelliJ move can also be a sign for Eclipse that there is now a friendly competitor who has put their bet on outperforming current Eclipse JEE feature-set with a commercial offering.</p>
<p>I have no experience with the IntelliJ JEE offering, is it better than the JEE tooling from Netbeans and Eclipse?</p></div>
    </content>
    <updated>2009-10-16T10:07:24Z</updated>
    <category term="Eclipse"/>
    <category term="Technology"/>
    <author>
      <name>Ahti Kitsik</name>
    </author>
    <source>
      <id>http://ahtik.com/blog</id>
      <link href="http://ahtik.com/blog/category/eclipse/feed/" rel="self" type="application/atom+xml"/>
      <link href="http://ahtik.com/blog" rel="alternate" type="text/html"/>
      <subtitle>Beyond Being Backwards-Compatible</subtitle>
      <title>AhtiK Ventures » Eclipse</title>
      <updated>2010-06-09T06:15:09Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-2310191777550204104.post-718609107996481513</id>
    <link href="http://eclipseo.blogspot.com/feeds/718609107996481513/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=2310191777550204104&amp;postID=718609107996481513" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/2310191777550204104/posts/default/718609107996481513" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/2310191777550204104/posts/default/718609107996481513" rel="self" type="application/atom+xml"/>
    <link href="http://eclipseo.blogspot.com/2009/10/job-openings-available-at-india-on.html" rel="alternate" type="text/html"/>
    <title>Job Openings available at INDIA on Eclipse Technologies...</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">For more details:<br/>Visit @ http://www.ancitconsulting.com/jobportal.htm<br/>Contact @ +91-9894833553<br/>Mail @ careers@ancitconsulting.com<br/><br/><br/><br/>Regards<br/>Karthik N<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/2310191777550204104-718609107996481513?l=eclipseo.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2009-10-07T12:05:23Z</updated>
    <published>2009-10-07T12:04:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="java"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="PDE"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="RCP"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="GMF"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="Eclipse jobs"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="EMF"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="Eclipse"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="GEF"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="Eclipse Plugin Developer"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="Jobs"/>
    <author>
      <name>Karthik</name>
      <email>karthik.raj06@gmail.com</email>
      <uri>http://www.blogger.com/profile/18418075628365970707</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-2310191777550204104</id>
      <author>
        <name>Its_Me_Malai</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/04319454473329758815</uri>
      </author>
      <link href="http://eclipseo.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/2310191777550204104/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://eclipseo.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://www.blogger.com/feeds/2310191777550204104/posts/default?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <subtitle>This blog site is a symbol of our Passion towards Eclipse and a contribution to the Eclipse Community ... Eclipse Team, ANCiT Consulting</subtitle>
      <title>Its Eclipse in Clips ...</title>
      <updated>2010-06-03T05:50:56Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-9210566578097047576.post-4283149120371669809</id>
    <link href="http://coderthoughts.blogspot.com/feeds/4283149120371669809/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=9210566578097047576&amp;postID=4283149120371669809" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/9210566578097047576/posts/default/4283149120371669809" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/9210566578097047576/posts/default/4283149120371669809" rel="self" type="application/atom+xml"/>
    <link href="http://coderthoughts.blogspot.com/2009/10/single-calendar-from-desktop-to-phone.html" rel="alternate" type="text/html"/>
    <title>A single Calendar from Desktop to Phone</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">This year I upgraded the really old smartphone I had to a Sony Ericsson C905. It almost looks like I'm one of the last people left who doesn't have an iPhone and doesn't want one (I'm resisting the voluntary lock-in ;).<br/>I'm really happy with the C905 because it has all the features I wanted (Wifi, GPS, 8MP camera, loads of memory) but it still looks like a phone and it's not too big.<br/><br/>One problem I was starting to run into was that I had too many calendars going. I had the calendar in my email client (Thunderbird + <a href="http://www.mozilla.org/projects/calendar/lightning/">Lightning</a>), I had my Google Calendar and now the phone also has a calendar. I really wanted a single calendar that works on all of my devices. I had already been playing with the <a href="https://addons.mozilla.org/en-US/thunderbird/addon/4631">Google Calendar Provider</a> for Lightning and quite liked it. If only there was something like that for the phone...<br/><br/>After a little digging I found out that Google supports the Exchange ActiveSync protocol. And my Sony Ericsson (and many other models too) supports it as well! It's not very well documented so I decided to write down the steps I took to get it all working.<br/><br/><div class="separator" style="clear: both; text-align: center;"><br/></div>1. Go to the Organiser and select <i>Synchronization</i>.<br/><div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/_JTmY6gtOOjs/SsvfXo-2mgI/AAAAAAAAAQs/u-7L9sDVOTg/s1600-h/screen1.bmp" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/_JTmY6gtOOjs/SsvfXo-2mgI/AAAAAAAAAQs/u-7L9sDVOTg/s200/screen1.bmp"/></a><br/></div><br/><br/>2. Create a new Account.<br/><div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/_JTmY6gtOOjs/SsvfZuRAhSI/AAAAAAAAAQ0/hJYT0u-c-xc/s1600-h/screen2.bmp" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/_JTmY6gtOOjs/SsvfZuRAhSI/AAAAAAAAAQ0/hJYT0u-c-xc/s200/screen2.bmp"/></a><br/></div><br/>3. Select <i>Exchange ActiveSync</i> and give it a name, I called mine 'Google'.<br/><div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/_JTmY6gtOOjs/SsvfbxrZ09I/AAAAAAAAAQ8/4HctwSqsIlE/s1600-h/screen3.bmp" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/_JTmY6gtOOjs/SsvfbxrZ09I/AAAAAAAAAQ8/4HctwSqsIlE/s200/screen3.bmp"/></a><br/></div><br/>4. In the <i>General</i> tab, enter as the server address: https://m.google.com also provide your Google user name and password. I didn't provide any other information here.<br/><div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/_JTmY6gtOOjs/SsvfhI1ZwJI/AAAAAAAAARE/hxXDTK2Dkio/s1600-h/screen5.bmp" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/_JTmY6gtOOjs/SsvfhI1ZwJI/AAAAAAAAARE/hxXDTK2Dkio/s200/screen5.bmp"/></a><br/></div><br/>5. On the applications tab I only selected <i>Calendar</i>, although the Contancts and Email integration probably also work.<br/><div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/_JTmY6gtOOjs/SsvfigEOd0I/AAAAAAAAARM/RHXNnUQ0SKc/s1600-h/screen6.bmp" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/_JTmY6gtOOjs/SsvfigEOd0I/AAAAAAAAARM/RHXNnUQ0SKc/s200/screen6.bmp"/></a><br/></div><br/>6. Now it asks me to delete all my contacts <i>and</i> calendar items. Very annoying because I don't want to sync my contacts, but anyway, for best results you have to clean them all. So I backed up my contacts previously and select clean here. I can restore my contacts later...<br/><div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/_JTmY6gtOOjs/Ssvfkg_o_HI/AAAAAAAAARU/jwLwZcap5wM/s1600-h/screen7.bmp" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/_JTmY6gtOOjs/Ssvfkg_o_HI/AAAAAAAAARU/jwLwZcap5wM/s200/screen7.bmp"/></a><br/></div><br/><br/>Ok - I'm all set up!<br/>Let's create a calendar event on the phone:<br/><div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/_JTmY6gtOOjs/SsvdUccpsLI/AAAAAAAAAQE/MfXflQ4_D0c/s1600-h/picb.bmp" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/_JTmY6gtOOjs/SsvdUccpsLI/AAAAAAAAAQE/MfXflQ4_D0c/s200/picb.bmp"/></a><br/></div><br/>Synchronize with Google...<br/><div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/_JTmY6gtOOjs/SsvdWo_aXWI/AAAAAAAAAQM/G-v19ZkYg74/s1600-h/pica.bmp" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/_JTmY6gtOOjs/SsvdWo_aXWI/AAAAAAAAAQM/G-v19ZkYg74/s200/pica.bmp"/></a><br/></div>I think you can even do this automatically, but I haven't enabled that because I don't want my phone bill to explode :)<br/><br/>Let's have a look at Google mail:<br/><div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/_JTmY6gtOOjs/SsvemmHojdI/AAAAAAAAAQU/_-4pVPKB4ws/s1600-h/picc.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/_JTmY6gtOOjs/SsvemmHojdI/AAAAAAAAAQU/_-4pVPKB4ws/s400/picc.JPG"/></a><br/></div>Yep, it's there! <br/>Now let's see in Thunderbird Lightning:<br/><div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/_JTmY6gtOOjs/SsvfIgRX81I/AAAAAAAAAQk/eK210kOTSNI/s1600-h/picd.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/_JTmY6gtOOjs/SsvfIgRX81I/AAAAAAAAAQk/eK210kOTSNI/s400/picd.JPG"/></a><br/></div><br/><div class="separator" style="clear: both; text-align: center;"><br/></div>And in all three modes I have read/write access. Aaaaah, nice!<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/9210566578097047576-4283149120371669809?l=coderthoughts.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2009-10-07T00:33:48Z</updated>
    <published>2009-10-07T00:33:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="c905"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="google calendar"/>
    <author>
      <name>davidb</name>
      <email>david.bosschaert@gmail.com</email>
      <uri>http://www.blogger.com/profile/13786738766478890804</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-9210566578097047576</id>
      <author>
        <name>davidb</name>
        <email>david.bosschaert@gmail.com</email>
        <uri>http://www.blogger.com/profile/13786738766478890804</uri>
      </author>
      <link href="http://coderthoughts.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/9210566578097047576/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://coderthoughts.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <title>&lt;coderthoughts /&gt;</title>
      <updated>2010-06-08T06:16:50Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-3894227311622961549.post-1463287837276007826</id>
    <link href="http://eclipse-committer-reps.blogspot.com/feeds/1463287837276007826/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=3894227311622961549&amp;postID=1463287837276007826" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/3894227311622961549/posts/default/1463287837276007826" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/3894227311622961549/posts/default/1463287837276007826" rel="self" type="application/atom+xml"/>
    <link href="http://eclipse-committer-reps.blogspot.com/2009/09/september-eclipse-board-meeting.html" rel="alternate" type="text/html"/>
    <title>September Eclipse Board Meeting</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><span><p>Rather than my usual tome, here's a quick update from the Eclipse Board meeting in Boston.<br/></p><p>First, the Board voted unanimously to allow jGit to use EDL licensing. jGit is a dependent component of the <a href="http://www.eclipse.org/egit/">eGit project</a>. By approving this license, the entire Eclipse tooling stack for git support can now live at Eclipse as a project. This is great news. Vive le git! Or is that "too le git to quit?"<br/></p><p>Second, project plans for next year are due. <a href="http://dev.eclipse.org/blogs/wayne/2009/09/17/if-you-plan-to-plan-you-fail-to-fail/">Wayne's blog</a> covers the details much better than I can. Project plans are an essential tool for communicating to the world what you are doing, and from now on, projects won't pass reviews without them. Please work with your PMC on getting your plans together.<br/></p><p>The other stuff we covered was the usual: KPI's, operations, money, and the beginnings of a strategic plan for next year. I'll let Mike comment on that.<br/></p></span><div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/3894227311622961549-1463287837276007826?l=eclipse-committer-reps.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2009-09-18T18:23:51Z</updated>
    <published>2009-09-18T18:23:00Z</published>
    <author>
      <name>Doug Gaff</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/05648526940839535738</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-3894227311622961549</id>
      <author>
        <name>Chris Aniszczyk (zx)</name>
        <email>caniszczyk@gmail.com</email>
        <uri>http://www.blogger.com/profile/14067673601779593093</uri>
      </author>
      <link href="http://eclipse-committer-reps.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/3894227311622961549/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://eclipse-committer-reps.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>Welcome to the Eclipse committer representatives web presence.</subtitle>
      <title>The Eclipse Committer Reps</title>
      <updated>2010-06-08T06:36:28Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://dev.eclipse.org/blogs/kevinmcguire/?p=121</id>
    <link href="http://dev.eclipse.org/blogs/kevinmcguire/2009/09/17/new-horizons/" rel="alternate" type="text/html"/>
    <title>New Horizons</title>
    <summary>I have taken a new job at a new company and unfortunately will no longer be working on Eclipse. 
I just wanted to say what a great pleasure it’s been working on Eclipse (again).  It’s a really fantastic community around some excellent technology.  As good as the technology is, it’s nothing without fine [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>I have taken a new job at a new company and unfortunately will no longer be working on Eclipse. </p>
<p>I just wanted to say what a great pleasure it’s been working on Eclipse (again).  It’s a really fantastic community around some excellent technology.  As good as the technology is, it’s nothing without fine people such as yourselves to tend to it, advance it, and promote it.  Eclipse is one of the strongest open source communities and it’s been an honour helping to build that in some small way.  I’ve really enjoyed getting to know many of you, professionally and then as friends.</p>
<p>Best of luck and hope our paths continue to cross,<br/>
Kevin</p>
<p>PS. For those who would like to keep in touch, I am on linkedIn.</p></div>
    </content>
    <updated>2009-09-17T13:55:41Z</updated>
    <category term="Uncategorized"/>
    <author>
      <name>Kevin McGuire</name>
    </author>
    <source>
      <id>http://dev.eclipse.org/blogs/kevinmcguire</id>
      <link href="http://dev.eclipse.org/blogs/kevinmcguire/feed/" rel="self" type="application/atom+xml"/>
      <link href="http://dev.eclipse.org/blogs/kevinmcguire" rel="alternate" type="text/html"/>
      <subtitle>(Former) Eclipse UI Guy</subtitle>
      <title>Kevin McGuire</title>
      <updated>2009-12-02T05:18:48Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-5067915972998518904.post-8965954940417120586</id>
    <link href="http://polishineclipse.blogspot.com/feeds/8965954940417120586/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=5067915972998518904&amp;postID=8965954940417120586" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/5067915972998518904/posts/default/8965954940417120586" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/5067915972998518904/posts/default/8965954940417120586" rel="self" type="application/atom+xml"/>
    <link href="http://polishineclipse.blogspot.com/2009/09/better-late-then-never.html" rel="alternate" type="text/html"/>
    <title>Better late then never</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><a href="http://1.bp.blogspot.com/__G8lRZWnLuQ/SrIv0hp27ZI/AAAAAAAAEoM/oWrsc6YV-yk/s1600-h/betterLateThenNever.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5382417084094803346" src="http://1.bp.blogspot.com/__G8lRZWnLuQ/SrIv0hp27ZI/AAAAAAAAEoM/oWrsc6YV-yk/s400/betterLateThenNever.png" style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; cursor: hand; width: 400px; height: 100px;"/></a><br/><br/>I won't tell you where I found it but it has been there for almost 6 years ;) Your day has come!<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/5067915972998518904-8965954940417120586?l=polishineclipse.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2009-09-17T12:54:52Z</updated>
    <published>2009-09-17T12:45:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="bug"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="funny"/>
    <author>
      <name>Tomasz Zarna</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/04210669646651825065</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-5067915972998518904</id>
      <author>
        <name>Tomasz Zarna</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/04210669646651825065</uri>
      </author>
      <link href="http://polishineclipse.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/5067915972998518904/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://polishineclipse.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>The blog is maintained by Eclipse Workspace Team located  in Cracow, Poland. Workspace The team owns the following four components: Resource, Team / Compare and CVS.</subtitle>
      <title>Polishin' Eclipse aka Polish in Eclipse</title>
      <updated>2010-01-11T10:46:31Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-30049963.post-1857705246313086208</id>
    <link href="http://eclipse-debug.blogspot.com/feeds/1857705246313086208/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=30049963&amp;postID=1857705246313086208" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/30049963/posts/default/1857705246313086208" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/30049963/posts/default/1857705246313086208" rel="self" type="application/atom+xml"/>
    <link href="http://eclipse-debug.blogspot.com/2009/09/api-use-reports.html" rel="alternate" type="text/html"/>
    <title>API Use Reports</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">It's no longer rocket science - mere mortals can create API Use Reports using Eclipse 3.6 M2. Report generation is integrated as an external tool. Simply open the External Tools dialog (<strong>Run &gt; External Tools &gt; External Tools Configurations...</strong>), create a new "API Use Report" configuration, tweak settings, and press "Run". <div><br/><a href="http://1.bp.blogspot.com/_mARe74ajMlw/SrEpjfeI4lI/AAAAAAAAABI/WJ18fQeYaWE/s1600-h/api-report-settings.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5382128719404524114" src="http://1.bp.blogspot.com/_mARe74ajMlw/SrEpjfeI4lI/AAAAAAAAABI/WJ18fQeYaWE/s320/api-report-settings.png" style="WIDTH: 314px; CURSOR: hand; HEIGHT: 320px;"/></a><br/></div><div/><div><br/>You have to specify:</div><ul><li>The <strong>bundles</strong> to analyze (which can be provided as an API baseline, a PDE target definition, or simply as a directory)</li><li>Whether to report <strong>API</strong> and/or <strong>internal </strong>references</li><li>Optionally, the <strong>scope</strong> to analyze (use regular expressions to include bundles to search and bundles you are interested in references to, or leave blank to scan everything)</li><li>A <strong>directory</strong> to write the report in </li></ul><p>In this example, I ran a report for API &amp; internal references in one of the M2 warm up builds. I only included references between <code>org.eclipse.*</code> bundles. What does it show? Lots of stuff.</p><div align="left"><a href="http://2.bp.blogspot.com/_mARe74ajMlw/SrEoW1jTUMI/AAAAAAAAAA4/_PVWaQAul2k/s1600-h/report.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5382127402481832130" src="http://2.bp.blogspot.com/_mARe74ajMlw/SrEoW1jTUMI/AAAAAAAAAA4/_PVWaQAul2k/s320/report.png" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 320px; CURSOR: hand; HEIGHT: 270px;"/></a><br/></div><div><br/><br/></div><div><br/></div><div><br/><br/></div><p/><div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/30049963-1857705246313086208?l=eclipse-debug.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2009-09-16T18:12:00Z</updated>
    <published>2009-09-16T17:13:00Z</published>
    <author>
      <name>Darin Wright</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/04788377087928734541</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-30049963</id>
      <author>
        <name>Mike Rennie</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/11412892738963099114</uri>
      </author>
      <link href="http://eclipse-debug.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/30049963/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://eclipse-debug.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://www.blogger.com/feeds/30049963/posts/default?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <subtitle>The IBM Winnipeg Eclipse Team develops the platform debug framework, the JDT debugger, PDE, API Tooling, Ant and p2.</subtitle>
      <title>Eclipse Lives In Winnipeg</title>
      <updated>2010-05-25T18:15:52Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-18834385.post-7787653565536424713</id>
    <link href="http://blog.bjhargrave.com/feeds/7787653565536424713/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=18834385&amp;postID=7787653565536424713" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/18834385/posts/default/7787653565536424713" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/18834385/posts/default/7787653565536424713" rel="self" type="application/atom+xml"/>
    <link href="http://blog.bjhargrave.com/2009/09/osgi-42-specs-are-now-available.html" rel="alternate" type="text/html"/>
    <title>OSGi 4.2 specs are now available!</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">After a lot of work on the part of the OSGi expert groups, the OSGi members have approved the Core and Compendium 4.2 specifications as final. You can download them <a href="http://www.osgi.org/Specifications/HomePage">here</a>.<br/><br/>Work continues in the OSGi expert groups on the specifications for the enterprise spec.<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/18834385-7787653565536424713?l=blog.bjhargrave.com" width="1"/></div></div>
    </content>
    <updated>2009-09-16T17:09:00Z</updated>
    <published>2009-09-16T17:06:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="osgi"/>
    <author>
      <name>BJ Hargrave</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/02289107040084648957</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-18834385</id>
      <author>
        <name>BJ Hargrave</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/02289107040084648957</uri>
      </author>
      <link href="http://blog.bjhargrave.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/18834385/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://blog.bjhargrave.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>Delusional thoughts on Java, OSGi, Eclipse and other things</subtitle>
      <title>The Programming Delusion</title>
      <updated>2009-12-25T18:19:10Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://villane.wordpress.com/?p=101</id>
    <link href="http://villane.wordpress.com/2009/08/29/baseline-eclipse-for-java-game-development/" rel="alternate" type="text/html"/>
    <title>Baseline Eclipse for Java Game Development?</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">The Eclipse IDE as it is offered for download at eclipse.org has become quite large. Size in bytes is probably not the biggest issue, but I think some of the functionality showing up in the UI is unnecessary clutter for many purposes that Eclipse could be used for. One such purpose I’m personally interested in [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=villane.wordpress.com&amp;blog=820948&amp;post=101&amp;subd=villane&amp;ref=&amp;feed=1"/></div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>The Eclipse IDE as it is offered for <a href="http://www.eclipse.org/downloads/">download at eclipse.org</a> has become quite large. Size in bytes is probably not the biggest issue, but I think some of the functionality showing up in the UI is unnecessary clutter for many purposes that Eclipse could be used for. One such purpose I’m personally interested in is game development on the Java Platform (using Scala, Java, or another JVM language).</p>
<p>Some Java game development tools are already being built as Eclipse plug-ins and most likely more will be in the future. But right now they must provide them as a plug-in for an existing Eclipse installation that has all the clutter or build a completely custom Eclipse-based application, possibly an RCP app that doesn’t even include the Java Tools. I think this shouldn’t have to be the case: users of Java game dev tools should be able to download a version of Eclipse that is freed (as much as possible) from the cruft that they will not need, and be able to install specific tools and engine specific libraries into that baseline game development environment.</p>
<p>So I’m thinking of creating a lighter distribution of <a href="http://www.eclipse.org/jdt/">Eclipse JDT</a> + XML tools that removes rarely used features from the <a href="http://www.eclipse.org/downloads/packages/eclipse-ide-java-developers/galileor">Eclipse for Java Developers</a> distribution and is specifically geared towards game development rather than enterprise Java or application development. Perhaps this should also extend to C/C++, but I am not familiar with the CDT so I’m not considering that aspect right now.</p>
<p>This distribution shouldn’t come from eclipse.org of course, but rather from the open source game engine and tools developers. I am willing to work on such a project, as long as it provides actual value to game developers and doesn’t eat up too much of my time. The first version of it could be fairly basic, just a lighter distro of Eclipse. Later versions can start incorporating game dev specific tools and UI concepts. Is there anyone interested in contributing to such a project? Or using such a build of Eclipse? Please let me know.</p>
<p>The first step of the project should be to create a reduced version of Eclipse JDT + XML tools that is still updateable, so that game development plug-ins and plug-ins such as Scala IDE, M2Eclipse, Subclipse, EGit can be installed. I have done some initial experiments and found an approximate list of features that can be easily removed from Eclipse JDT. If you would be interested in using such a distribution, please comment what you would like to be kept:</p>
<ul>
<li>APT or Annotation Processing Tool support — I think this is very rarely used and just clutters the UI in some screens.</li>
<li>Ant support — I think a lot of people would be against this, so it should probably stay</li>
<li>CVS support — CVS should not be used by anyone for other than legacy reasons, now that we have Git, Mercurial, SVN etc. And I expect that games development will not involve much poking around in legacy repositories. I think most open source game tools use SVN (correct me if I’m wrong).</li>
<li>Help — this is debatable, but I would remove it from the first version and decide later what to do with it</li>
<li>Welcome screen — same as help, can be added back later if it’s found to have some use</li>
<li>JUnit3 support — JUnit4 should be enough, I think</li>
<li>Various internal tools and plug-ins, backwards compatibility stuff</li>
</ul>
<p>I’m estimating that the size of this distro would be somewhere between 50-70 MB. The <a href="http://wiki.eclipse.org/P2">P2</a> update manager included in Eclipse will increase the size on disk though, because it may create a lot of meta data and caches. But disk space is relatively cheap, and I don’t think there’s a better update manager available. My main concern is removing UI clutter so that game dev tools that plug into it will have more UI space and better visibility. Compared to the <a href="http://www.eclipse.org/downloads/packages/eclipse-ide-java-developers/galileor">Eclipse IDE for Java Developers</a> distribution, which lists the following “features” (feature in Eclipse terms is a collection of plug-ins):</p>
<ul>
<li>org.eclipse.cvs</li>
<li>org.eclipse.epp.usagedata.feature</li>
<li>org.eclipse.equinox.p2.user.ui</li>
<li>org.eclipse.help</li>
<li>org.eclipse.jdt</li>
<li>org.eclipse.mylyn.bugzilla_feature</li>
<li>org.eclipse.mylyn.context_feature</li>
<li>org.eclipse.mylyn.ide_feature</li>
<li>org.eclipse.mylyn.java_feature</li>
<li>org.eclipse.mylyn.wikitext_feature</li>
<li>org.eclipse.mylyn_feature</li>
<li>org.eclipse.platform</li>
<li>org.eclipse.rcp</li>
<li>org.eclipse.wst.xml_ui.feature</li>
</ul>
<p>Only these would remain (and even those not in complete form):</p>
<ul>
<li>org.eclipse.equinox.p2.user.ui (this is the update manager)</li>
<li>org.eclipse.jdt (custom lite version with APT and maybe a couple of more small things removed)</li>
<li>org.eclipse.platform (custom, with various plug-ins removed)</li>
<li>org.eclipse.rcp</li>
<li>org.eclipse.wst.xml_ui.feature (possibly custom with a couple of plug-ins removed)</li>
</ul>
<p>Later versions could add optional updates that bundle engine-specific tools and libraries, Scala, SVN, Mercurial, Git or Maven support etc.</p>
<p>What do you think? Is there need for such an Eclipse distribution? I’m especially interested of the opinion of Eclipse based game tool developers, if any of you happen to read this post. Would you contribute if someone does the initial work? Has someone already done something like this (not engine specific)?</p>
<br/>  <a href="http://feeds.wordpress.com/1.0/gocomments/villane.wordpress.com/101/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/villane.wordpress.com/101/"/></a> <a href="http://feeds.wordpress.com/1.0/godelicious/villane.wordpress.com/101/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/villane.wordpress.com/101/"/></a> <a href="http://feeds.wordpress.com/1.0/gostumble/villane.wordpress.com/101/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/villane.wordpress.com/101/"/></a> <a href="http://feeds.wordpress.com/1.0/godigg/villane.wordpress.com/101/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/villane.wordpress.com/101/"/></a> <a href="http://feeds.wordpress.com/1.0/goreddit/villane.wordpress.com/101/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/villane.wordpress.com/101/"/></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=villane.wordpress.com&amp;blog=820948&amp;post=101&amp;subd=villane&amp;ref=&amp;feed=1"/></div>
    </content>
    <updated>2009-08-29T10:43:05Z</updated>
    <category term="Eclipse"/>
    <category term="Game programming"/>
    <category term="Java"/>
    <category term="Scala"/>
    <category term="game tools"/>
    <author>
      <name>Erkki Lindpere</name>
    </author>
    <source>
      <id>http://villane.wordpress.com</id>
      <logo>http://www.gravatar.com/blavatar/2a9e7e1788c5a66712aee7e5ad5ff02f?s=96&amp;d=http://s2.wp.com/i/buttonw-com.png</logo>
      <link href="http://villane.wordpress.com/category/eclipse/feed/" rel="self" type="application/atom+xml"/>
      <link href="http://villane.wordpress.com" rel="alternate" type="text/html"/>
      <link href="http://villane.wordpress.com/osd.xml" rel="search" type="application/opensearchdescription+xml"/>
      <link href="http://villane.wordpress.com/?pushpress=hub" rel="hub" type="text/html"/>
      <subtitle>Thoughts on software development</subtitle>
      <title>Villane » Eclipse</title>
      <updated>2010-04-27T13:57:57Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://sureshkrishna.wordpress.com/?p=252</id>
    <link href="http://sureshkrishna.wordpress.com/2009/07/27/eclipse-guest-web-lecture-at-rajagiri-college-cochin-india/" rel="alternate" type="text/html"/>
    <title>Eclipse Guest (Web) Lecture at Rajagiri College @ India</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">One of my close friend is a professor in Rajagiri Engineering College for Computer Science and got me introduced to the head of the Department. This engineering college conducts guest lectures from variety of technology verticals and they requested me to have a Eclipse lecture session. After a lot of initial planning we finally started [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sureshkrishna.wordpress.com&amp;blog=579603&amp;post=252&amp;subd=sureshkrishna&amp;ref=&amp;feed=1"/></div>
    </summary>
    <updated>2009-07-27T20:53:32Z</updated>
    <category term="Technology"/>
    <category term="college"/>
    <category term="Eclipse"/>
    <category term="training"/>
    <author>
      <name>sureshkrishna</name>
    </author>
    <source>
      <id>http://sureshkrishna.wordpress.com</id>
      <logo>http://www.gravatar.com/blavatar/919c48daadce5f0229c236f0edd06692?s=96&amp;d=http://s2.wp.com/i/buttonw-com.png</logo>
      <link href="http://sureshkrishna.wordpress.com/tag/eclipse/feed/?mrss=off" rel="self" type="application/atom+xml"/>
      <link href="http://sureshkrishna.wordpress.com" rel="alternate" type="text/html"/>
      <link href="http://sureshkrishna.wordpress.com/osd.xml" rel="search" type="application/opensearchdescription+xml"/>
      <link href="http://sureshkrishna.wordpress.com/?pushpress=hub" rel="hub" type="text/html"/>
      <subtitle>Commonsense in Technology</subtitle>
      <title>Sciology = Science + Technology » Eclipse</title>
      <updated>2010-04-27T13:55:04Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-26266347.post-2611601061077377550</id>
    <link href="http://www.devmarch.com/eclipsesummit/" rel="related" type="text/html"/>
    <link href="http://shinych.blogspot.com/feeds/2611601061077377550/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=26266347&amp;postID=2611601061077377550" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/26266347/posts/default/2611601061077377550" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/26266347/posts/default/2611601061077377550" rel="self" type="application/atom+xml"/>
    <link href="http://shinych.blogspot.com/2009/07/eclipse-summit-india.html" rel="alternate" type="text/html"/>
    <title>Eclipse Summit India</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">The Eclipse Summit India 2009, held in Bangalore on July 17-18, has been a great success. I enjoyed performing two 3-hrs workshops: "<a href="http://www.devmarch.com/eclipsesummit/workshops.html#workshop3">Plugin Development - Tips and Tricks</a>" and "<a href="http://www.devmarch.com/eclipsesummit/workshops.html#workshop4">Design Patterns Used in Eclipse</a>". In the first workshop I showed how to make a simple RCP application flexible with OSGi Services, extensible with Extension-Points and achieve production quality leveraging from advanced concepts like usage of Adapters, JFace Data Binding, Presentation API and, finally, deploying the product with P2 provisioning mechanism. In the second workshop we've had a look at OOP design patterns from another perspective: how this or that pattern is used in Eclipse and what are the possible advantages or pitfalls.<br/><br/>Here you can find the presentation files:<br/>* <a href="http://shinkarenko.org/training/esi2009/Shinkarenko_-_Plug-in_development_-_Tips_and_Tricks.pdf">Plug-in development - Tips and Tricks</a><br/>* <a href="http://shinkarenko.org/training/esi2009/Shinkarenko_-_Patterns_in_Eclipse.pdf">Design Patterns in Eclipse</a><div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/26266347-2611601061077377550?l=shinych.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2009-07-27T10:35:14Z</updated>
    <published>2009-07-27T10:18:00Z</published>
    <author>
      <name>Ilya Shinkarenko</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/11667601571204987473</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-26266347</id>
      <author>
        <name>Ilya Shinkarenko</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/11667601571204987473</uri>
      </author>
      <link href="http://shinych.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/26266347/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://shinych.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>Eclipse tips and tricks</subtitle>
      <title>Ilya Shinkarenko Eclipse Blog</title>
      <updated>2010-06-08T13:14:02Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://dev.eclipse.org/blogs/mcqjustmcq/?p=7</id>
    <link href="http://dev.eclipse.org/blogs/mcqjustmcq/2009/07/25/eclipse-has-a-future/" rel="alternate" type="text/html"/>
    <title>Eclipse has a future.</title>
    <summary>We’re getting close to releasing 0.9 of e4, so I wanted to take some time to talk a bit more about the context for why we started on this path, and how far we’ve gotten in the last year. To give this some structure, let’s look at a few of the big questions…
1) Does Eclipse [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>We’re getting close to releasing 0.9 of e4, so I wanted to take some time to talk a bit more about the context for why we started on this path, and how far we’ve gotten in the last year. To give this some structure, let’s look at a few of the big questions…</p>
<p>1) Does Eclipse have a future on the desktop?<br/>
2) What would an ideal Eclipse platform look like?<br/>
3) What is e4?</p>
<p>… and maybe a couple of more pragmatic ones too…</p>
<p>4) When is e4 done?<br/>
5) What can I do with e4 0.9?</p>
<h2>Does Eclipse have a future on the desktop?</h2>
<p>Easy answer: “Yes, but not if we sit still”. </p>
<p>I’m sure it’s not news to anyone in our community that, unlike in the early days of Eclipse, there are many credible threats out there when it comes to technologies for building desktop applications. Adobe AIR, Silverlight, even pure HTML5+JS, for example, can all be used to build rich, cross-platform <em>desktop</em> apps. For Eclipse to be a viable platform in this environment we need to innovate on many dimensions, including packaging/distribution/size issues, flexibility and richness of presentation, integration with other technologies and, most especially, ease of development.</p>
<p>We’ve got to get to the point where developers are choosing Eclipse because it’s both easier to use than the other technologies out there and because the results work better and integrate better than anything built any other way. </p>
<h2>What would an ideal Eclipse platform look like?</h2>
<p>Well, obviously it needs to address the issues above, but there’s more to it than that. To me, the ideal Eclipse platform is one that has the ability to <em>move</em> when there are new pressures on it. Technologies change, uses change, the community itself changes over time, and whenever that happens, either the platform has to be able to move with it, or we die.</p>
<p>The ideal platform should have a strong separation between presentation and implementation, and it should be dynamically configurable to run in the widest possible range of contexts. It should have the smallest possible number of “pre-canned” constraints, and it has to be <strong>easy for new people to start using it</strong> so that it can be discovered and consumed by whole new communities.</p>
<p><strong>&lt;intermission&gt;</strong></p>
<p>“But wait!”, some of you are saying, “for my uses of Eclipse, I don’t need any of those things. I  just use the IDE to develop; I don’t care what it looks like. And besides, we’ve already built all our plug-ins. The most important thing is <strong>don’t break us</strong>.”</p>
<p>I get it. You’ve invested in Eclipse long enough to get something that works for you, and you just want the world to stop so you can get as much value from that investment as possible. That’s ok. You’re a part of this community too, and we need to support you. That’s why the focus for the R3.x stream of the SDK is the strongest possible backwards compatibility: If you ran on R3.4 or R3.5, we want you to move to R3.6 because it’s <em>effortless</em>.</p>
<p>But the thing is…</p>
<blockquote><p>This post isn’t for you.</p></blockquote>
<p>What we are talking about here is what it’s going to take for Eclipse to be relevant in <em>another</em> ten years. This is for those of you who care about making that happen <em>in addition</em> to getting the great day-to-day value you currently get. If you believe, like me, that Eclipse is simply too important to allow it to fade away, then read on.</p>
<p><strong>&lt;/intermission&gt;</strong></p>
<h2>What is e4?</h2>
<p>A few years ago, the Eclipse Project developers were facing what seemed like an insoluble problem: We could see that our industry was heading toward another period of big change and the platform was going to have to react to it, while at the same time we continued (and still do!) to get more and more real-world, important products built on us — products that could not afford to deal with the potential for instability caused by major work on platform internals.</p>
<p>At the same time, we were (yes, finally) beginning to realize that we needed new blood; that the monolithic nature of the team, which had helped us make progress early on, was now hurting our ability to grow our community and potentially risking our future.</p>
<p>This was one of those times when things “just worked”. From those starting points, we have become a new community, based around the e4 Incubator project, that is made up of a wide range of people who are working together to build that “ideal Eclipse platform” for the future.</p>
<p>It’s been a wild ride (and we’re not close to done) but I have to say that it <em>blows my mind</em> how far we’ve come in the last year. I’m not going to go into the individual technology details, but I will point you at John Arthorne’s excellent <a href="http://eclipse.org/e4/resources/e4-whitepaper.php">e4 Technical Overview</a> white paper for the full description.</p>
<h2>When is e4 done?</h2>
<p>Hopefully, e4 the incubator is never done; it will be there as long as there is a need for the platform to innovate. Today though, you’re probably more interested in:</p>
<p><strong>·</strong> when things that are currently being worked on become part of the platform<br/>
<strong>·</strong> when Eclipse 4.0 appears<br/>
<strong>·</strong> when Eclipse 4.0 gets on the release train</p>
<p>We have always said that code that is developed in e4 will mature at different rates. Some of the things that are being worked on could simply be moved to the R3.x stream, once they meet the backwards compatibility and stability requirements. Personally, I’d like to see CSS skinning of the widget layer, improved web browser integration, and the flexible resources work all move to R3.6, but that’s still to be determined.</p>
<p>Some of the changes that are being made, however, are simply too fundamental to <em>ever</em> make it into the R3.x stream. Those will only appear in a new, separate development stream of the Eclipse SDK, with the first version, called “4.0″, shipping a year from now.</p>
<p>The thing to keep in mind though, is that a year from now the odds that Eclipse 4.0 will have been subjected to the kind of testing and tuning that it absolutely <em>must have</em> for it to be used as the basis for product delivery are pretty low. It will be, in the truest sense, an <strong>entirely new platform</strong> that is capable of hosting your plug-ins. Will it be backwards compatible? Yes. Will it behave in exactly the same way as R3.x, so that every possible subtle interaction with your existing plug-ins is supported? No. Wait… what?</p>
<p>This is probably the most critical part of understanding the Eclipse 4.x stream: Even though we plan to do everything we possibly can to make Eclipse 4.0 backward API compatible, either because of use of internals, or dependencies on unspecified timing/ordering behavior, or any number of other subtleties, it’s possible that your plug-ins may not run. Since the only way we will know about that is if you tell us, our success will depend on you making an investment in <strong>trying to run on Eclipse 4.0 builds</strong>:</p>
<blockquote><p>
<em>We will work with everyone who does this and finds problems to either improve our own code, or help them fix the incompatibilities in theirs</em>.
</p></blockquote>
<p>Believe me, I understand that we’re imposing on you; if you don’t see value in moving to the next Eclipse, that’s ok, we really do plan to develop the R3.x stream for as long as anyone is using it. But at some point, one of two things will have happened: either the Eclipse platform itself will no longer be relevant, or so much of the community will have moved to the R4.x stream that your consumers will be asking you to move too. My crystal ball doesn’t say when that happens, but I know it will.</p>
<p>In case that sounded too harsh, I must also say that this is going to be an organic process that is controlled by the consuming projects, not by us. The best example of this the answer to the question about when Eclipse 4.x gets on the release train:</p>
<blockquote><p>
<em>We will not ask to put Eclipse 4.x on the release train until <strong>every other release train project with a platform dependency runs on it</strong>.</em>
</p></blockquote>
<p>So, no it won’t be in Helios. However, it will be real enough at that point that you should take it, work with it, and help us understand what needs to be done. If you’re an RCP developer, you will be very pleasantly surprised by how much easier it is to get the look and feel you want. For the SDK, we plan to have every single view and editor that is in R3.6 also working on R4.0. That should be a good start on backwards compatibility.</p>
<h2>What can I do with e4 0.9?</h2>
<p>All that’s great, but we’re shipping something <em>this week</em> too. <img alt=":-)" class="wp-smiley" src="http://dev.eclipse.org/blogs/mcqjustmcq/wp-includes/images/smilies/icon_smile.gif"/> </p>
<p>The “e4 Compatibility Platform” is what we’re calling the main download for the 0.9 release. It’s not even close to being complete enough to be an “Eclipse SDK” yet, but it is enough for self-hosted development (using views and editors from R3.5(!)) and demonstrates well all of the things we’ve been talking about. Kevin McGuire wrote <a href="http://dev.eclipse.org/blogs/kevinmcguire/2009/07/24/e4-modelled-ui-css-cool/">a great post</a> that describes a perfect example of why we we’re so psyched:</p>
<blockquote><p>
<a href="http://dev.eclipse.org/blogs/kevinmcguire/2009/07/24/e4-modelled-ui-css-cool/">“I think this really shows the power of the architectural concepts in e4.  Not only do you get externalized styling, like you do in the web, but you also get a simple, composable model of the UI, abstracted above that of the widgets, which you don’t normally get in the web.”</a>
</p></blockquote>
<p>Despite some immediately obvious missing pieces (like no save/restore of workbench layout, no main toolbar, no min/max behavior, and numerous small bugs), it’s definitely usable. For the last week or so, I’ve been spending my evenings using the e4 Compatibility Platform (with <a href="http://sourceforge.net/apps/wordpress/schemeway/">(SchemeWay)</a> and Ahti Kitsik’s <a href="http://ahtik.com/blog/eclipse-word-wrap/">Virtual Word Wrap</a> <em>[edit: updated link] </em> plug-ins installed) to write some wiki software in Gambit Scheme. For my use, this worked great.</p>
<p>I also know some people on the team are using the e4 compatibility platform for all development. Currently, that takes more perseverance than any of us would like, but the good news is that we know what the issues are, we just ran out of time to fix them.</p>
<p>In any case, just so there are no illusions about exactly how “young” this code is, here are some hints that I learned while using it:</p>
<dl>
<dt><em>If you can’t get a menu or keybinding to work, try the popup menu instead.</em></dt>
<dd>This is a symptom of all the myriad ways we have for hooking up menus in R3.x, some of which just haven’t been wired off yet. That’s a perfect example of the kinds of things that make it hard for new people to understand Eclipse R3.x development.<br/> </dd>
<dt><em>Don’t check the “always exit without asking” check box when you close the shell.</em></dt>
<dd>Until save/restore starts working, it’s painful to have to re-open/re-layout all of your views. You don’t want to exit by accident.<br/> </dd>
<dt><em>If you close a perspective, don’t immediately open <em>that</em> one again.</em></dt>
<dd>If you try, it silently fails. Instead, open any other perspective first, then you can open the original. I’m not sure why this is happening, but it’s just a bug.</dd>
</dl>
<p>Well, that’s where we are. Once R0.9 is out, we’ll be reviewing all of the work areas, identifying the missing pieces, and building the plan to get from here to Eclipse SDK 4.0. </p>
<h2>In Closing…</h2>
<p>Please, give the e4 Compatibility Platform a try. If you see the value in what we’re doing, please consider participating. We are entirely open to new people who want work with us on the existing development areas or on anything else that you think is interesting. Even if you don’t think we’re on track, come talk to us: if we’re missing something important, we need to know.</p>
<p>For me, I think we have hit the “sweet spot”: we’ve found a way to continue to work with interesting people, on interesting problems, innovating a future for Eclipse on the desktop, while still providing the backwards compatible, it-just-has-to-work, world that we <em>must have</em> on the release train.</p>
<p>I really am psyched!</p></div>
    </content>
    <updated>2009-07-26T03:01:16Z</updated>
    <category term="Uncategorized"/>
    <category term="e4"/>
    <category term="eclipse"/>
    <category term="future"/>
    <category term="platform"/>
    <author>
      <name>McQ</name>
    </author>
    <source>
      <id>http://dev.eclipse.org/blogs/mcqjustmcq</id>
      <link href="http://dev.eclipse.org/blogs/mcqjustmcq/feed" rel="self" type="application/atom+xml"/>
      <link href="http://dev.eclipse.org/blogs/mcqjustmcq" rel="alternate" type="text/html"/>
      <subtitle>McQ's thoughts on things Eclipse</subtitle>
      <title>I am a committer</title>
      <updated>2010-03-03T14:22:11Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-5067915972998518904.post-9155020260287857572</id>
    <link href="http://polishineclipse.blogspot.com/feeds/9155020260287857572/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=5067915972998518904&amp;postID=9155020260287857572" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/5067915972998518904/posts/default/9155020260287857572" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/5067915972998518904/posts/default/9155020260287857572" rel="self" type="application/atom+xml"/>
    <link href="http://polishineclipse.blogspot.com/2009/07/quick-reconnaissance-in-ui-testing.html" rel="alternate" type="text/html"/>
    <title>A quick reconnaissance in the UI testing tools</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><span style="font-weight: bold;">Task:</span> A quick reconnaissance in the UI testing tools area<br/><span style="font-weight: bold;">Team:</span> Platform Workspace Team<br/><span style="font-weight: bold;">Time:</span> Couple hours<br/><br/><span style="font-weight: bold;">Result:</span> <a href="http://wiki.eclipse.org/Automated_Testing#UI_tests">http://wiki.eclipse.org/Automated_Testing#UI_tests</a><br/><span style="font-weight: bold;">Casualties:</span> 1 Whiteboard Marker M.I.A<br/><br/><span style="font-weight: bold;">Further steps:</span> Need more people to update the table with results (see http://wiki.eclipse.org/Automated_Testing#UI_tests)<br/><br/><a href="http://4.bp.blogspot.com/_0blQxr9ItWs/Sl3CUQVX2nI/AAAAAAAABz0/JYmXhramrhc/s1600-h/mia.jpg"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5358652784878541426" src="http://4.bp.blogspot.com/_0blQxr9ItWs/Sl3CUQVX2nI/AAAAAAAABz0/JYmXhramrhc/s200/mia.jpg" style="cursor: pointer; cursor: hand; width: 300px; height: 174px;"/></a><div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/5067915972998518904-9155020260287857572?l=polishineclipse.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2009-07-15T15:02:50Z</updated>
    <published>2009-07-08T21:28:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="tools"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="team"/>
    <author>
      <name>Szymon Brandys</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/16402840244453913670</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-5067915972998518904</id>
      <author>
        <name>Tomasz Zarna</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/04210669646651825065</uri>
      </author>
      <link href="http://polishineclipse.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/5067915972998518904/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://polishineclipse.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>The blog is maintained by Eclipse Workspace Team located  in Cracow, Poland. Workspace The team owns the following four components: Resource, Team / Compare and CVS.</subtitle>
      <title>Polishin' Eclipse aka Polish in Eclipse</title>
      <updated>2010-01-11T10:46:31Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://www.vasanth.in/2009/07/02/portable-eclipse-and-portable-java/</id>
    <link href="http://feedproxy.google.com/~r/vasantheclipse/~3/K89c5s7hUQU/" rel="alternate" type="text/html"/>
    <title>Portable Eclipse and Portable Java</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">I like portable software. I carry around a bunch of them in my flash drive. I just found out that both Java and Eclipse are available as portable versions at PortableApps.com. The Java version they have is Java 6 update 14 but Eclipse is stuck at 3.4.2. 
Eclipse uses portable Java, so Java need not [...]


Related posts:<ol><li><a href="http://www.vasanth.in/2004/01/13/eclipse-tip-keeping-plugins-and-workspace-separate/" rel="bookmark" title="Permanent Link: Eclipse Tip: Keeping plugins and workspace separate">Eclipse Tip: Keeping plugins and workspace separate</a></li>
<li><a href="http://www.vasanth.in/2008/08/18/eclipse-tip-java-editor-breadcrumb-navigation-bar/" rel="bookmark" title="Permanent Link: Eclipse Tip: Java Editor Breadcrumb Navigation Bar">Eclipse Tip: Java Editor Breadcrumb Navigation Bar</a></li>
<li><a href="http://www.vasanth.in/2005/07/13/eclipse-tip-sharing-java-project-settings/" rel="bookmark" title="Permanent Link: Eclipse Tip: Sharing Java project settings">Eclipse Tip: Sharing Java project settings</a></li>
<li><a href="http://www.vasanth.in/2006/06/05/eclipse-tip-grouping-java-problems/" rel="bookmark" title="Permanent Link: Eclipse Tip: Grouping Java Problems">Eclipse Tip: Grouping Java Problems</a></li>
<li><a href="http://www.vasanth.in/2009/04/08/java-rides-on-google-app-engine/" rel="bookmark" title="Permanent Link: Java rides on Google App Engine">Java rides on Google App Engine</a></li>
</ol></div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>I like portable software. I carry around a bunch of them in my flash drive. I just found out that both <a href="http://portableapps.com/apps/utilities/java_portable">Java</a> and <a href="http://portableapps.com/node/18591/">Eclipse</a> are available as portable versions at <a href="http://portableapps.com/">PortableApps.com</a>. The Java version they have is Java 6 update 14 but Eclipse is stuck at 3.4.2. </p>
<p>Eclipse uses portable Java, so Java need not be installed in the PC to run it. Nice. The portable version has some trouble finding the workspace but once you correct the path it works fine. </p>
<p>I updated the Eclipse binaries in to the just released 3.5 and it work great too. Nice way to take Eclipse and your work with you.</p>


<p>Related posts:</p><ol><li><a href="http://www.vasanth.in/2004/01/13/eclipse-tip-keeping-plugins-and-workspace-separate/" rel="bookmark" title="Permanent Link: Eclipse Tip: Keeping plugins and workspace separate">Eclipse Tip: Keeping plugins and workspace separate</a></li>
<li><a href="http://www.vasanth.in/2008/08/18/eclipse-tip-java-editor-breadcrumb-navigation-bar/" rel="bookmark" title="Permanent Link: Eclipse Tip: Java Editor Breadcrumb Navigation Bar">Eclipse Tip: Java Editor Breadcrumb Navigation Bar</a></li>
<li><a href="http://www.vasanth.in/2005/07/13/eclipse-tip-sharing-java-project-settings/" rel="bookmark" title="Permanent Link: Eclipse Tip: Sharing Java project settings">Eclipse Tip: Sharing Java project settings</a></li>
<li><a href="http://www.vasanth.in/2006/06/05/eclipse-tip-grouping-java-problems/" rel="bookmark" title="Permanent Link: Eclipse Tip: Grouping Java Problems">Eclipse Tip: Grouping Java Problems</a></li>
<li><a href="http://www.vasanth.in/2009/04/08/java-rides-on-google-app-engine/" rel="bookmark" title="Permanent Link: Java rides on Google App Engine">Java rides on Google App Engine</a></li>
</ol><p/><img height="1" src="http://feeds.feedburner.com/~r/vasantheclipse/~4/K89c5s7hUQU" width="1"/></div>
    </content>
    <updated>2009-07-02T14:24:53Z</updated>
    <category term="Eclipse"/>
    <category term="Java"/>
    <category term="Software"/><feedburner:origlink xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://www.vasanth.in/2009/07/02/portable-eclipse-and-portable-java/</feedburner:origlink>
    <author>
      <name>Vasanth Dharmaraj</name>
    </author>
    <source>
      <id>http://www.vasanth.in</id>
      <link href="http://www.vasanth.in" rel="alternate" type="text/html"/>
      <link href="http://feeds.feedburner.com/vasantheclipse" rel="self" type="application/atom+xml"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>my thoughts on dot net, java, tablet pc, formula one, xbox gaming...</subtitle>
      <title>Vasanth Dharmaraj's Blog » Eclipse</title>
      <updated>2010-06-09T06:18:21Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://villane.wordpress.com/?p=89</id>
    <link href="http://villane.wordpress.com/2009/06/26/p2-still-not-awesome/" rel="alternate" type="text/html"/>
    <title>P2 Still Not Awesome</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">P2 has surely seen a lot of improvement in Eclipse 3.5, but some functionality that was actually somewhat acceptable in the old Update Manager is still lacking awesomeness. I’m trying to install VE into Galileo (Eclipse for Java + M2Eclipse + Subclipse + Scala IDE). There are two usability issues with this. The first is [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=villane.wordpress.com&amp;blog=820948&amp;post=89&amp;subd=villane&amp;ref=&amp;feed=1"/></div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p><a href="http://wiki.eclipse.org/p2">P2</a> has surely seen a lot of improvement in Eclipse 3.5, but some functionality that was actually somewhat acceptable in the old Update Manager is still lacking awesomeness. I’m trying to install <a href="http://dev.eclipse.org/blogs/yvesyang/2009/06/26/eclipse-ve-gets-revived/">VE</a> into Galileo (Eclipse for Java + M2Eclipse + Subclipse + Scala IDE).</p>
<p>There are two usability issues with this. The first is that after selecting the “Visual Editor” feature from the site, I don’t have a “select dependencies” option. But from past usage of VE I remember that it requires Java EMF Model. So I select that too. A new user would not know to select this. I’ll have to navigate to the next page to find out if there are unresolved dependencies. And then we come to the second problem, which is this screen:</p>
<p style="text-align: center;"><img alt="P2 unresolved dependencies" class="size-full wp-image-90 aligncenter" height="482" src="http://villane.files.wordpress.com/2009/06/vemissingdeps.png?w=450&amp;h=482" title="P2 unresolved dependencies" width="450"/></p>
<p>Am I really supposed to decipher this text and take action based on that? No thanks, I’ll just skip installing VE this time, I don’t have actual need for it right now.</p>
<br/>  <a href="http://feeds.wordpress.com/1.0/gocomments/villane.wordpress.com/89/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/villane.wordpress.com/89/"/></a> <a href="http://feeds.wordpress.com/1.0/godelicious/villane.wordpress.com/89/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/villane.wordpress.com/89/"/></a> <a href="http://feeds.wordpress.com/1.0/gostumble/villane.wordpress.com/89/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/villane.wordpress.com/89/"/></a> <a href="http://feeds.wordpress.com/1.0/godigg/villane.wordpress.com/89/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/villane.wordpress.com/89/"/></a> <a href="http://feeds.wordpress.com/1.0/goreddit/villane.wordpress.com/89/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/villane.wordpress.com/89/"/></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=villane.wordpress.com&amp;blog=820948&amp;post=89&amp;subd=villane&amp;ref=&amp;feed=1"/></div>
    </content>
    <updated>2009-06-26T19:57:11Z</updated>
    <category term="Eclipse"/>
    <author>
      <name>Erkki Lindpere</name>
    </author>
    <source>
      <id>http://villane.wordpress.com</id>
      <logo>http://www.gravatar.com/blavatar/2a9e7e1788c5a66712aee7e5ad5ff02f?s=96&amp;d=http://s2.wp.com/i/buttonw-com.png</logo>
      <link href="http://villane.wordpress.com/category/eclipse/feed/" rel="self" type="application/atom+xml"/>
      <link href="http://villane.wordpress.com" rel="alternate" type="text/html"/>
      <link href="http://villane.wordpress.com/osd.xml" rel="search" type="application/opensearchdescription+xml"/>
      <link href="http://villane.wordpress.com/?pushpress=hub" rel="hub" type="text/html"/>
      <subtitle>Thoughts on software development</subtitle>
      <title>Villane » Eclipse</title>
      <updated>2010-04-27T13:57:57Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-1465360374490208232.post-1873395730252984983</id>
    <link href="http://darngooddeveloper.blogspot.com/feeds/1873395730252984983/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=1465360374490208232&amp;postID=1873395730252984983" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/1465360374490208232/posts/default/1873395730252984983" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/1465360374490208232/posts/default/1873395730252984983" rel="self" type="application/atom+xml"/>
    <link href="http://darngooddeveloper.blogspot.com/2009/06/everywhere-tweet-tweet.html" rel="alternate" type="text/html"/>
    <title>Everywhere a Tweet Tweet..</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><a href="http://3.bp.blogspot.com/_QMuHoBVpB0E/SkT7PaB3BKI/AAAAAAAAACg/eEJIcGkvdxk/s1600-h/Screenshot.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5351678499326723234" src="http://3.bp.blogspot.com/_QMuHoBVpB0E/SkT7PaB3BKI/AAAAAAAAACg/eEJIcGkvdxk/s400/Screenshot.png" style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 400px; height: 147px;"/></a>Not to be left behind in the buzz surrounding Twitter, the <a href="http://www.eclipsecon.org/submissions/ese2009/">Submissions System</a> now tweets when a new talk is proposed. There are already three talks proposed on the <a href="http://twitter.com/EclipseSummit">Summit twitter</a> page, new follower are always welcome.<br/><br/>Not planning on presenting a talk at Eclipse Summit but still want to try out the tweets?  Then cruise on over to the <a href="https://www.eclipsecon.org/submissions/demo/">demo conference</a> and propose a new talk.  The demo conference exists just to try out new features.  The Demo conference <a href="https://twitter.com/eclipsedemoconf">twitter page</a> already has one follower (not sure how that happend).<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/1465360374490208232-1873395730252984983?l=darngooddeveloper.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2009-06-26T18:26:13Z</updated>
    <published>2009-06-26T16:38:00Z</published>
    <author>
      <name>Darn Good Developer</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/10629368352046362896</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-1465360374490208232</id>
      <author>
        <name>Darn Good Developer</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/10629368352046362896</uri>
      </author>
      <link href="http://darngooddeveloper.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/1465360374490208232/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://darngooddeveloper.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <title>Darn Good Developer</title>
      <updated>2010-06-06T02:09:13Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-2852931951046210811.post-4415603727779777891</id>
    <link href="http://markphip.blogspot.com/feeds/4415603727779777891/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=2852931951046210811&amp;postID=4415603727779777891" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/2852931951046210811/posts/default/4415603727779777891" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/2852931951046210811/posts/default/4415603727779777891" rel="self" type="application/atom+xml"/>
    <link href="http://markphip.blogspot.com/2009/06/subclipse-and-eclipse-35galileo.html" rel="alternate" type="text/html"/>
    <title>Subclipse and Eclipse 3.5/Galileo</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">With the Eclipse 3.5 final release now available, I thought it would be good to get a post up for Subversion users that are looking to install this release.  Subclipse works great in Eclipse 3.5 and is easy to install.  There are two versions of Subclipse available with support for Eclipse 3.5.<br/><br/><a href="http://subclipse.tigris.org/servlets/ProjectProcess?pageID=p4wYuA">Subclipse 1.4.x</a> is based on Subversion 1.5 client API<br/><a href="http://subclipse.tigris.org/servlets/ProjectProcess?pageID=p4wYuA">Subclipse 1.6.x</a> is based on Subversion 1.6 client API<br/><br/>Install the version of Subclipse based on the version of Subversion you want to use.  This is mainly an issue if you want to use multiple clients with the same Subversion working copy.  If you do all of your work from Eclipse, then just grab the latest version.  All Subversion 1.x clients can work with all Subversion 1.x servers.  So, if possible, just use the latest version.<br/><br/>OSX and Linux users need to install the <a href="http://subclipse.tigris.org/wiki/JavaHL">right version of the JavaHL library</a> (1.5 or 1.6).  Most Linux distros are still providing 1.5.x, but the <a href="http://www.open.collab.net/downloads/subversion/redhat.html">RPM's from CollabNet</a> include JavaHL and install on every Linux distro that I have tried (including Ubuntu).  CollabNet also provides binaries and <a href="http://www.open.collab.net/downloads/community/">JavaHL for OSX</a>.<br/><br/>I maintain a wiki on the Subclipse site with detailed information about <a href="http://subclipse.tigris.org/wiki/JavaHL">getting JavaHL working on your system</a>.<br/><br/>In other news, Subclipse 1.6.x now includes the <a href="http://subclipse.tigris.org/">CollabNet Merge client</a>.  This was developed as part of the merge tracking feature in Subversion 1.5 and makes merging from Eclipse very easy to do and manage.  The CollabNet Merge client is part of the <a href="http://desktop-eclipse.open.collab.net/">CollabNet Desktop - Eclipse Edition</a>, which includes <a href="http://www.eclipse.org/mylyn">Mylyn</a> and connectors for <a href="http://www.open.collab.net/products/sfee/">CollabNet's trackers</a>.  The merge client is now also available directly for Subclipse users with no other dependencies.  Users that want the full merge client, which adds the change set merge option, can install the CollabNet Desktop.<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/2852931951046210811-4415603727779777891?l=markphip.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2009-06-23T20:51:54Z</updated>
    <published>2009-06-23T20:36:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="merge"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="collabnet"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="subclipse"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="Eclipse"/>
    <author>
      <name>Mark Phippard</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/16905022252385982106</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-2852931951046210811</id>
      <author>
        <name>Mark Phippard</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/16905022252385982106</uri>
      </author>
      <link href="http://markphip.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/2852931951046210811/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://markphip.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://www.blogger.com/feeds/2852931951046210811/posts/default?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <subtitle>Useful information about using Subversion and Subclipse</subtitle>
      <title>svn commit ./me</title>
      <updated>2010-06-08T14:34:58Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-237205426838095904.post-8178138487189899890</id>
    <link href="http://runnerwhocodes.blogspot.com/feeds/8178138487189899890/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=237205426838095904&amp;postID=8178138487189899890" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/237205426838095904/posts/default/8178138487189899890" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/237205426838095904/posts/default/8178138487189899890" rel="self" type="application/atom+xml"/>
    <link href="http://runnerwhocodes.blogspot.com/2009/06/notes-thoughts-from-portland-eclipse.html" rel="alternate" type="text/html"/>
    <title>Notes &amp; Thoughts from Portland Eclipse DemoCamp Galileo 2009</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">What do Test Code Generation UI, ECF 3.0, RAP, Android and Code Smells all have in common?<br/>These topics were the focus of demos at the <a href="http://wiki.eclipse.org/Eclipse_DemoCamps_Galileo_2009/Portland">Portland Eclipse DemoCamp</a> sponsored by <a href="http://www.instantiations.com/">Instantiations</a>. Here are my notes from Wednesday night with my commentary at the end. Get in touch with the presenters and check out the links to learn more.<br/><br/><span style="color: rgb(51, 102, 255); font-size: 180%;">ECF</span> First up was Scott Lewis (<a href="http://eclipsesource.com/">EclipseSource</a>) and a demo from the Eclipse communication framework.<br/>Some 3.0 highlights:<br/><ul><li>ECF moved to runtime top level project</li><li><a href="http://www.eclipsecon.org/2009/sessions?id=618">Distributed OSGi</a></li><li>Twitter Client (Twitter Hub)</li><li>Presence API user search</li><li><a href="http://www.eclipsecon.org/2009/sessions?id=429">Real-time shared editing/Cola + Sync API</a></li></ul>Working on distributed <tt>OSGI EE RFC 119</tt>: discovery and remote services<br/>Your distributed services code lives above ECF and can make use of the ECF providers or you can roll your own.<br/>Scott demoed c<a href="http://eclipsesource.com/blogs/2008/12/19/rfc-119-and-ecf-part-1/">lient/server OSGi discovery and remoted services</a> and  <a href="http://eclipsesource.com/blogs/2008/12/19/rfc-119-and-ecf-part-1/">Toast Vehicle Management Portal</a>: p2 magic for install and uninstall at runtime.<br/><br/><br/><a href="http://4.bp.blogspot.com/_w_n3E-D0snA/Sjq9Wc5iHAI/AAAAAAAACMo/XKFtKocEtMU/s1600-h/sdk-large.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5348795700868160514" src="http://4.bp.blogspot.com/_w_n3E-D0snA/Sjq9Wc5iHAI/AAAAAAAACMo/XKFtKocEtMU/s200/sdk-large.png" style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 121px; height: 124px;"/></a>Next up was John Roberts (<a href="http://www.mindwarm.com/">Mind Warm</a>): Using <a href="http://developer.android.com/">Android</a> with Eclipse<br/>John threw out that Android could overtake the iPhone by 2011?!<br/>Demo of the Eclipse Android tooling.<br/>Seemed very quick to try out and develop with an emulator<br/>Challenges that remain with the toolset: tough to design UI with base set within Eclipse.<br/>One recommendation was <a href="http://www.droiddraw.org/">DroidDraw</a> - recommended as WYSIWYG<br/><br/>Android app site is <a href="http://www.android.com/market/">http://www.android.com/market/</a><br/>It would seem that searching for apps on a phone could be clunky?<br/><br/><a href="http://4.bp.blogspot.com/_w_n3E-D0snA/SjrEJJ_nucI/AAAAAAAACMw/OFlzQL9ckr4/s1600-h/name-analytix.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5348803169036515778" src="http://4.bp.blogspot.com/_w_n3E-D0snA/SjrEJJ_nucI/AAAAAAAACMw/OFlzQL9ckr4/s200/name-analytix.png" style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 53px;"/></a>Jaime Wren <a href="http://www.instantiations.com/codepro/analytix/about.html">(Instantiations)</a> presented Test Code Generation UI<br/><br/>The CodePro AnalytiX JUnit Test generator needed a new UI. Challenged with making a modern UI using only the SWT features from Eclipse 2.1 (wow!!)<br/>Nice review of the choices and reasoning behind the decisions. But hey...please don't start your demo with "This is not very exciting". May not have been exciting but it was interesting. Let your audience decide ;-)<br/><br/><span style="color: rgb(51, 102, 255); font-size: 180%;">RAP</span> Elias Volanakis (<a href="http://eclipsesource.com/">EclipseSource</a>) Rich Ajax Platform (RAP) and the New Eclipse download wizard<br/><a href="http://wiki.eclipse.org/RAP">RAP</a>: Eclipse for the web<br/>Eclipse dynamic download web page: check it out <a href="http://build.eclipse.org/eppwizard/go">here</a>.<br/><br/>Why bother with RAP?: <span style="font-style: italic;">"know how"</span> reuse and use of familiar tooling.<br/>Closer to "holy grail" of having single source for web and client.<br/>New for RAP 1.2:<br/><ul><li>new widgets - scale, dateTime expandBar, slider, colordialog CCombo</li><li>Cell editors</li><li>intro/welcome support</li><li>more SWT+ JFace APIS</li></ul>Basic steps to create RAP App: <a href="http://www.vogella.de/articles/EclipseRAP/article.html">http://www.vogella.de/articles/EclipseRAP/article.html</a><br/>Tune in on July 9th for more: <a href="http://live.eclipse.org/node/718">http://live.eclipse.org/node/718</a><br/><br/><a href="http://www.shawuniversitymosque.org/JTaqwa/images/bad-smell.jpg"><img alt="" border="0" src="http://www.shawuniversitymosque.org/JTaqwa/images/bad-smell.jpg" style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 33px; height: 50px;"/></a>Emerson Murphy-Hill<br/>Finding <a href="http://en.wikipedia.org/wiki/Code_smell">code smells</a> within Eclipse.<br/>Presented a smell detector - lovingly called the <span style="font-style: italic;">Stench Blossom</span>. Non-intrusive indicator of smells existing with the code currently being browsed. Inform without overwhelming.<br/>Built based on the <a href="http://portal.acm.org/citation.cfm?id=1454261">Seven habits of a highly successful smell detectors</a> .<br/><br/><span style="font-style: italic;"><span style="color: rgb(51, 102, 255);">My commentary</span>:</span> I have been to many, many democamps. I have been doing Eclipse development since the dawn of time.<br/>What hit me several times last night was the diverse nature of what was being done within and with Eclipse. <span style="font-weight: bold;">AND</span> how a large majority of the demos were on <span style="font-weight: bold;">OLD</span>ER versions of Eclipse. This would have never happened several years ago. Eclipse has reached the maturity level that cool new products can be developed on versions of Eclipse that are 2 or 3 years old. 3.5 and the latest and greatest is really cool (see <a href="http://eclipsesource.com/blogs/author/irbull/">Ian Bull's countdown</a> and all the <a href="http://www.eclipse.org/galileo/blogathon/reviews.php">Galileo blog reviews</a>) but at the same time older versions are cool as well.<br/>Take my day job. We just shipped the <a href="https://jazz.net/downloads/">Jazz Foundation 1.0</a> which is based on Eclipse 3.4.<br/><br/>Is this bad? I really don't think so.<br/>Bleeding edge, pushing the envelope work can continue at Eclipse as it always has while the community can adopt and adapt only as much or as little as they deem necessary for their success. This keeps everyone happy and winning.<br/>I propose Eclipse has fully become the framework it was intended to be. Eclipse can now respectfully step back out of the spot light and allow the applications that have been built and will be built on its impressive shoulders their time to shine. Just like every proud parent should do...<br/><span style="font-size: 85%;"><span style="font-style: italic;">(These are of course my thoughts alone and may or may not reflect the position of anyone else)</span></span>.<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/237205426838095904-8178138487189899890?l=runnerwhocodes.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2009-06-19T15:58:00Z</updated>
    <published>2009-06-19T15:58:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="eclipse"/>
    <author>
      <name>Darin Swanson</name>
      <email>darin@reasontorun.com</email>
      <uri>http://www.blogger.com/profile/14947935363512132811</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-237205426838095904</id>
      <author>
        <name>Darin Swanson</name>
        <email>darin@reasontorun.com</email>
        <uri>http://www.blogger.com/profile/14947935363512132811</uri>
      </author>
      <link href="http://runnerwhocodes.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/237205426838095904/posts/default/-/eclipse" rel="self" type="application/atom+xml"/>
      <link href="http://runnerwhocodes.blogspot.com/search/label/eclipse" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://www.blogger.com/feeds/237205426838095904/posts/default/-/eclipse/-/eclipse?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <subtitle type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">My adventures in road and trail running with Eclipse and Jazz development thrown in.
<br/>
For Running stuff click <a href="http://runnerwhocodes.blogspot.com/search/label/running"> here</a>. For Eclipse stuff click <a href="http://runnerwhocodes.blogspot.com/search/label/eclipse"> here</a>.</div>
      </subtitle>
      <title>Reason To Run</title>
      <updated>2010-06-08T05:44:22Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://epsilonblog.wordpress.com/?p=136</id>
    <link href="http://epsilonblog.wordpress.com/2009/06/15/eugenia-polishing-your-gmf-editor/" rel="alternate" type="text/html"/>
    <title>EuGENia: Polishing your GMF editor</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">EuGENia is a front-end for GMF that enables developers to generate a fully functional GMF editor by attaching a few high-level annotations to the Ecore metamodel. The original aim of EuGENia was to lower the entrance barrier for new GMF users and enable people to quickly and easily develop the first version of their editor. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=epsilonblog.wordpress.com&amp;blog=2097844&amp;post=136&amp;subd=epsilonblog&amp;ref=&amp;feed=1"/></div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p><a href="http://www.eclipse.org/gmt/epsilon/doc/eugenia" target="_blank">EuGENia</a> is a front-end for GMF that enables developers to generate a fully functional GMF editor by attaching a few high-level annotations to the Ecore metamodel. The original aim of EuGENia was to lower the entrance barrier for new GMF users and enable people to quickly and easily develop the first version of their editor.</p>
<p>However, after the initial excitement of (at last) being able to get a working GMF editor with minimal effort and no cryptic error messages, all users (including ourselves) used to come to a dead-end. EuGENia could generate an editor that looked 90% similar to what we wanted but when we started polishing the .gmfgraph, .gmftool, .gmfmap and .gmfgen models manually to get to 100%, it meant we couldn’t use EuGENia any more as subsequent invocations of the tool would overwrite our manual changes. Obviously, providing support in EuGENia for all the options that GMF provides wouldn’t be reasonable either as this would progressively make EuGENia as complex as GMF itself.</p>
<p>Our first thought was to try merging (instead of overwriting) the generated with the existing GMF models, but due to the complexity and inter-weaving of these models we’ve found no sensible way of doing this in an automated way. Therefore, we’ve come up with a different solution.</p>
<p>Behind the scenes, EuGENia runs set of model-to-model transformations written in <a href="http://www.eclipse.org/gmt/epsilon/doc/eol" target="_blank">EOL</a> which generate the necessary GMF models from the annotated Ecore metamodel. In order to accommodate the need for persistent customizations, we’re now allowing developers to specify their own little EOL scripts next to the annotated Ecore metamodel, which are responsible for customizing the generated GMF models.</p>
<p>Let’s go straight into a short example. We define this minimal flowchart metamodel using Emfatic.</p>
<pre style="font-size: 11px;">@namespace(uri="flowchart", prefix="flowchart")
package flowchart;

@gmf.diagram(foo="bar")
class Flowchart {
   val Node[*] nodes;
   val Transition[*] transitions;
}

@gmf.node(label="name", label.icon="false")
abstract class Node {
   attr String name;
   ref Transition[*]#source outgoing;
   ref Transition[*]#target incoming;
}

@gmf.link(label="name", source="source",
   target="target", target.decoration="arrow")
class Transition {
   attr String name;
   ref Node#outgoing source;
   ref Node#incoming target;
}

class Subflow extends Flowchart, Node{

}

@gmf.node(figure=
	"org.eclipse...examples.flowchart.diagram.figures.SquareFigure")
class Action extends Node {

}

@gmf.node(figure=
	"org.eclipse...examples.flowchart.diagram.figures.DiamondFigure")
class Decision extends Node {

}</pre>
<p>We then use EuGENia to generate a GMF editor out of it and here is what we get:</p>
<p><a href="http://epsilonblog.files.wordpress.com/2009/06/image.png"><img alt="image" border="0" height="442" src="http://epsilonblog.files.wordpress.com/2009/06/image_thumb.png?w=469&amp;h=442" style="border-width: 0;" width="469"/></a></p>
<p>However, what we’d really like to get is this (spot the differences?)</p>
<p><a href="http://epsilonblog.files.wordpress.com/2009/06/image1.png"><img alt="image" border="0" height="442" src="http://epsilonblog.files.wordpress.com/2009/06/image_thumb1.png?w=469&amp;h=442" width="469"/></a></p>
<p>To achieve this we need to tweak a few things in the flowchart.gmfgraph model:</p>
<p><a href="http://epsilonblog.files.wordpress.com/2009/06/image2.png"><img alt="image" border="0" height="528" src="http://epsilonblog.files.wordpress.com/2009/06/image_thumb2.png?w=404&amp;h=528" style="border-width: 0;" width="404"/></a></p>
<p>We can either do these changes manually after every invocation of EuGENia (boring), or specify the changes in the following ECore2GMF.eol script next to our metamodel.</p>
<p><a href="http://epsilonblog.files.wordpress.com/2009/06/image3.png"><img alt="image" border="0" height="323" src="http://epsilonblog.files.wordpress.com/2009/06/image_thumb3.png?w=267&amp;h=323" style="border-width: 0;" width="267"/></a></p>
<p><strong>ECore2GMF.eol:</strong></p>
<pre style="font-size: 11px;">-- Set text of transitionLabel to empty string
var transitionLabel = GmfGraph!Label.
	selectOne(l|l.name='TransitionLabelLabel');
transitionLabel.text = '';

-- Add bold font to actionLabel
var actionLabel = GmfGraph!Label.
	selectOne(l|l.name='ActionLabelFigure');
actionLabel.font = new GmfGraph!BasicFont;
actionLabel.font.style = GmfGraph!FontStyle#BOLD;

-- Add italic font to actionLabel
var decisionLabel = GmfGraph!Label.
	selectOne(l|l.name='DecisionLabelFigure');
decisionLabel.font = new GmfGraph!BasicFont;
decisionLabel.font.style = GmfGraph!FontStyle#ITALIC;</pre>
<p>Now, each time we click <em>Eugenia-&gt;Generate GMF tool, graph and map models</em>, EuGENia will perform the built-in transformation and then it will also run our custom script on the generated models so that we can get the tailored output we need. Similarly, by specifying a transformation named FixGMFGen.eol we can customize the generated .gmfgen model (in this example we <a href="http://dev.eclipse.org/svnroot/modeling/org.eclipse.gmt.epsilon/trunk/examples/org.eclipse.epsilon.eugenia.examples.flowchart/model/FixGMFGen.eol" target="_blank">add a dependency</a> to the figures plugin).</p>
<p>Except for enabling developers to now use EuGENia throughout the GMF editor development process, this extension also provides a good evolution mechanism for EuGENia itself. Reoccurring scripts will be good candidates for inclusion in the form of high-level annotations, that will be natively supported by future versions of the tool.</p>
<p>The complete source code of this example is available (projects named org.eclipse.epsilon.eugenia.examples.flowchart.*) in the <a href="http://dev.eclipse.org/svnroot/modeling/org.eclipse.gmt.epsilon/trunk/examples" target="_blank">SVN</a>. You can also find another example, as well as more technical details about this extension <a href="http://epsilonlabs.wiki.sourceforge.net/EuGENia+Customization" target="_blank">here</a>.</p>
<br/>  <a href="http://feeds.wordpress.com/1.0/gocomments/epsilonblog.wordpress.com/136/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/epsilonblog.wordpress.com/136/"/></a> <a href="http://feeds.wordpress.com/1.0/godelicious/epsilonblog.wordpress.com/136/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/epsilonblog.wordpress.com/136/"/></a> <a href="http://feeds.wordpress.com/1.0/gostumble/epsilonblog.wordpress.com/136/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/epsilonblog.wordpress.com/136/"/></a> <a href="http://feeds.wordpress.com/1.0/godigg/epsilonblog.wordpress.com/136/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/epsilonblog.wordpress.com/136/"/></a> <a href="http://feeds.wordpress.com/1.0/goreddit/epsilonblog.wordpress.com/136/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/epsilonblog.wordpress.com/136/"/></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=epsilonblog.wordpress.com&amp;blog=2097844&amp;post=136&amp;subd=epsilonblog&amp;ref=&amp;feed=1"/></div>
    </content>
    <updated>2009-06-15T14:09:36Z</updated>
    <category term="Uncategorized"/>
    <author>
      <name>Dimitris Kolovos</name>
    </author>
    <source>
      <id>http://epsilonblog.wordpress.com</id>
      <logo>http://www.gravatar.com/blavatar/cb1a619b4d489ef5780b3b2543218f9e?s=96&amp;d=http://s2.wp.com/i/buttonw-com.png</logo>
      <link href="http://epsilonblog.wordpress.com/feed/?mrss=off" rel="self" type="application/atom+xml"/>
      <link href="http://epsilonblog.wordpress.com" rel="alternate" type="text/html"/>
      <link href="http://epsilonblog.wordpress.com/osd.xml" rel="search" type="application/opensearchdescription+xml"/>
      <link href="http://epsilonblog.wordpress.com/?pushpress=hub" rel="hub" type="text/html"/>
      <subtitle>... new and noteworthy in the Epsilon Eclipse GMT component</subtitle>
      <title>Epsilon Weblog</title>
      <updated>2010-06-09T06:53:01Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-29517835.post-7329161768464016697</id>
    <link href="http://inside-swt.blogspot.com/feeds/7329161768464016697/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=29517835&amp;postID=7329161768464016697" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/29517835/posts/default/7329161768464016697" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/29517835/posts/default/7329161768464016697" rel="self" type="application/atom+xml"/>
    <link href="http://inside-swt.blogspot.com/2009/06/after-break-up.html" rel="alternate" type="text/html"/>
    <title>After the break up ...</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><a href="http://www.butterflies-and-zebras.com/"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5343319093209641138" src="http://3.bp.blogspot.com/_FBBFb2akkhg/SidIZ7hSsLI/AAAAAAAAAFE/Go1vky7z1Ys/s400/CD-Cover.jpg" style="WIDTH: 400px; HEIGHT: 359px; CURSOR: hand;"/></a><br/><br/>"A lot of people knew I left. I was a fool not to do what Paul did, which was use it to <a href="http://www.butterflies-and-zebras.com/">sell a record</a>." John Lennon (1970)<br/><br/>Steve<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/29517835-7329161768464016697?l=inside-swt.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2009-06-12T11:32:23Z</updated>
    <published>2009-06-12T02:01:00Z</published>
    <author>
      <name>Steve</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/13909619505765258618</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-29517835</id>
      <author>
        <name>Steve</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/13909619505765258618</uri>
      </author>
      <link href="http://inside-swt.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/29517835/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://inside-swt.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://www.blogger.com/feeds/29517835/posts/default?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <subtitle>I am the father of The Standard Widget Toolkit (SWT), a portable, native widget toolkit for Java. I have a bunch of other interests, but you don't care.

All opinions expressed here are my own unless stolen from other people.</subtitle>
      <title>Inside SWT</title>
      <updated>2010-05-21T21:07:01Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-18361809.post-6418435318760229823</id>
    <link href="http://douggaff.blogspot.com/feeds/6418435318760229823/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=18361809&amp;postID=6418435318760229823" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/18361809/posts/default/6418435318760229823" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/18361809/posts/default/6418435318760229823" rel="self" type="application/atom+xml"/>
    <link href="http://douggaff.blogspot.com/2009/06/internet-will-be-paid.html" rel="alternate" type="text/html"/>
    <title>The Internet Will Be Paid…</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><span><p>Or so some guy named <a href="http://en.wikipedia.org/wiki/Barry_Diller">Barry Diller</a> <a href="http://blogs.zdnet.com/BTL/?p=19552&amp;tag=nl.e539">says</a>. I beg to differ.<br/></p><p>Unless you've been living in a cave for a while, you've noticed that there's an ideological war underway around content. By content, I mean software, music, tv programs, movies, books, and any other piece of information or entertainment you can package. <strong>The war is between paid and free, closed and open, restricted and unrestricted.</strong> Did this war start with open source software? I'm not sure, but open source has definitely helped arm the conflict. Let's consider the content categories.<br/></p><p>When you look for a software application or you need to perform a task with software, you can almost always find free software to do just about anything. In many instances, the free stuff is nowhere near as good as its commercial counterpart (e.g. GIMP vs. Photoshop). This reality keeps us software types employed for now. But the free stuff is still there, and sometimes it's good enough.<br/></p><p>Then there's entertainment media sites like <a href="http://www.hulu.com/">hulu</a>, <a href="http://www.youtube.com/">youtube</a>, <a href="http://www.pandora.com/">pandora</a>, <a href="http://www.last.fm/listen">last.fm</a>, and countless others that are supplying us with endless time-shifted and (mostly) free entertainment. Sure, it's not always in HD on your giant flat panel or in CD-quality through your audiophile stereo, but often it's good enough.<br/></p><p>Switching to books, you can find lots of online material in <a href="http://books.google.com/">Google Books</a> or in any number of free audio book libraries. If you're looking for open college materials, check out <a href="http://ocw.mit.edu/OcwWeb/web/home/home/index.htm">MIT Open Courseware</a> or the excellent collection of CC-licensed college lectures at <a href="http://www.academicearth.org/">Academic Earth</a>. <a href="http://en.wikipedia.org/wiki/Main_Page">Wikipedia</a>, <a href="http://www.nytimes.com/">The New York Times</a>, and many other excellent sources of information are all open and free. Google alone is hell-bent on ensuring all content is in the open, whether people want it to be or not.<br/></p><p>And this is all of the legal stuff. For everything else, grab a torrent client, search a database, and (in some cases) break the law to find what you're looking for. DRM? Forget it. For every smart group of engineers that implements DRM, there's another smart group that cracks it. It's a waste of money to even bother implementing it. Perhaps this is why <a href="http://www.nytimes.com/2009/01/07/technology/companies/07apple.html?hp">Apple is dropping DRM</a> from much of its iTunes library and why <a href="http://www.blogger.com/Amazon.com/MP3">Amazon MP3</a> never had it in the first place.<br/></p><p>Now consider Diller's claim: "people have always paid for content," and once this "accident of historical moment" passes, people will again be paying for it. Are you kidding me?! Um…you know that point in your life when some teenagers drive by in their car blasting music, and you think it's too loud…and then suddenly you feel really old? (Well, it hasn't happened to me yet, but I've heard of it.) Anyway, this is what it looks like when it happens to someone else. And at a Web 2.0 conference no less!<br/></p><p><strong>The open content ship has sailed.</strong> This content war is about a more fundamental question: <strong>the accessibility of information</strong>. And the challenge for all of our businesses—software, music, entertainment, publishing—is not about restricting access to content, it's how to support open or very inexpensive content while still making enough money to keep producing it. This is what progress looks like. Diller, you'd better crank up your stereo.</p></span><div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/18361809-6418435318760229823?l=douggaff.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2009-06-11T20:06:27Z</updated>
    <published>2009-06-11T19:54:00Z</published>
    <author>
      <name>Doug Gaff</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/05648526940839535738</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-18361809</id>
      <author>
        <name>Doug Gaff</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/05648526940839535738</uri>
      </author>
      <link href="http://douggaff.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/18361809/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://douggaff.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://www.blogger.com/feeds/18361809/posts/default?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <title>Device Software Development Platform</title>
      <updated>2010-06-05T21:53:56Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-29517835.post-4396373204771707761</id>
    <link href="http://inside-swt.blogspot.com/feeds/4396373204771707761/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=29517835&amp;postID=4396373204771707761" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/29517835/posts/default/4396373204771707761" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/29517835/posts/default/4396373204771707761" rel="self" type="application/atom+xml"/>
    <link href="http://inside-swt.blogspot.com/2009/06/more-from-archives.html" rel="alternate" type="text/html"/>
    <title>More from the archives</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Good lord, my office was full of shit.<br/><br/>Thanks to Jim des Rivieres for pulling out his camera and documenting some of the <a href="http://picasaweb.google.ca/jeem123/SteveSOffice?authkey=Gv1sRgCIWM7I_U5tjwgQE">artifacts</a> that we found there. There's a lot of OTI and IBM history amongst the rubble as well as a few things I thought were funny over the years.  I could explain it all but that would detract from the fun.<br/><br/>Steve<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/29517835-4396373204771707761?l=inside-swt.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2009-06-11T03:46:04Z</updated>
    <published>2009-06-11T01:57:00Z</published>
    <author>
      <name>Steve</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/13909619505765258618</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-29517835</id>
      <author>
        <name>Steve</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/13909619505765258618</uri>
      </author>
      <link href="http://inside-swt.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/29517835/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://inside-swt.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://www.blogger.com/feeds/29517835/posts/default?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <subtitle>I am the father of The Standard Widget Toolkit (SWT), a portable, native widget toolkit for Java. I have a bunch of other interests, but you don't care.

All opinions expressed here are my own unless stolen from other people.</subtitle>
      <title>Inside SWT</title>
      <updated>2010-05-21T21:07:01Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-33274870.post-5181549066531217000</id>
    <link href="http://tom-eclipse-dev.blogspot.com/feeds/5181549066531217000/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=33274870&amp;postID=5181549066531217000" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/33274870/posts/default/5181549066531217000" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/33274870/posts/default/5181549066531217000" rel="self" type="application/atom+xml"/>
    <link href="http://tom-eclipse-dev.blogspot.com/2009/06/im-moving-to-wordpress.html" rel="alternate" type="text/html"/>
    <title>I'm moving to Wordpress</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">In the last few days I moved this blog to wordpress and you can reach the content through http://tomsondev.bestsolution.at/<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/33274870-5181549066531217000?l=tom-eclipse-dev.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2009-06-07T14:14:06Z</updated>
    <published>2009-06-07T14:12:00Z</published>
    <author>
      <name>Tom</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/06619033174219683085</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-33274870</id>
      <author>
        <name>Tom</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/06619033174219683085</uri>
      </author>
      <link href="http://tom-eclipse-dev.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/33274870/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://tom-eclipse-dev.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://www.blogger.com/feeds/33274870/posts/default?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <title>eclipse-dev</title>
      <updated>2010-06-03T20:13:27Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-731582289934443001.post-595375698697298706</id>
    <link href="http://perlipse.blogspot.com/feeds/595375698697298706/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=731582289934443001&amp;postID=595375698697298706" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/731582289934443001/posts/default/595375698697298706?v=2" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/731582289934443001/posts/default/595375698697298706?v=2" rel="self" type="application/atom+xml"/>
    <link href="http://feedproxy.google.com/~r/PerlipseDevelopment/~3/K411Do77Wk0/news-from-dead.html" rel="alternate" type="text/html"/>
    <title>news from the dead</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">i realize it's been a while since any kind of update has been posted, and unfortunately it may be a little while longer before one is again. aside from having a crazy summer concert tour planned, i've had a couple other events occur in my life recently that have left me little time for anything else. 

but fear not, i am committed to continuing work on this project. once i return from <a href="http://www.bonnaroo.com/">bonnaroo</a> things should calm down a bit, leaving me more time to focus my attention here.<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/731582289934443001-595375698697298706?l=perlipse.blogspot.com" width="1"/></div><img height="1" src="http://feeds.feedburner.com/~r/PerlipseDevelopment/~4/K411Do77Wk0" width="1"/></div>
    </content>
    <updated>2009-06-01T20:13:30Z</updated>
    <published>2009-06-01T20:13:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="perlipse"/><feedburner:origlink xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://perlipse.blogspot.com/2009/06/news-from-dead.html</feedburner:origlink>
    <author>
      <name>Jae Gangemi</name>
      <email>noreply@blogger.com</email>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-731582289934443001</id>
      <author>
        <name>Jae Gangemi</name>
        <email>noreply@blogger.com</email>
      </author>
      <link href="http://perlipse.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://perlipse.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://www.blogger.com/feeds/731582289934443001/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" rel="next" type="application/atom+xml"/>
      <link href="http://feeds.feedburner.com/PerlipseDevelopment" rel="self" type="application/atom+xml"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <title>Perlipse Development</title>
      <updated>2010-06-07T11:54:00Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://dev.eclipse.org/blogs/swordfish/?p=72</id>
    <link href="http://dev.eclipse.org/blogs/swordfish/2009/05/27/minor-changes-to-swordfish-wiki-pages/" rel="alternate" type="text/html"/>
    <title>Minor Changes to Swordfish WIKI pages</title>
    <summary>Minor changes have been made to the Swordfish WIKI pages. There is now Swordfish for Contributors category and a section under it called, User Documentation for Contributors. 
All user documentation aimed at the Swordfish project committers and contributors will be collected there.
All end-user documentation on the use of Swordfish can be found in the Swordfish [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Minor changes have been made to the <a href="http://wiki.eclipse.org/Swordfish">Swordfish WIKI pages</a>. There is now <strong>Swordfish for Contributors</strong> category and a section under it called, <strong>User Documentation for Contributors</strong>. </p>
<p>All user documentation aimed at the Swordfish project committers and contributors will be collected there.</p>
<p>All end-user documentation on the use of Swordfish can be found in the <a href="http://wiki.eclipse.org/Swordfish">Swordfish WIKI pages</a> under the category <strong>User Documentation</strong>.</p></div>
    </content>
    <updated>2009-05-27T09:52:57Z</updated>
    <category term="Swordfish WIKI Pages!"/>
    <author>
      <name>Anne</name>
    </author>
    <source>
      <id>http://dev.eclipse.org/blogs/swordfish</id>
      <link href="http://dev.eclipse.org/blogs/swordfish/feed/" rel="self" type="application/atom+xml"/>
      <link href="http://dev.eclipse.org/blogs/swordfish" rel="alternate" type="text/html"/>
      <subtitle>New and noteworthy from the Swordfish team</subtitle>
      <title>The Swordfish Blog</title>
      <updated>2009-05-27T09:52:57Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://dev.eclipse.org/blogs/swordfish/?p=63</id>
    <link href="http://dev.eclipse.org/blogs/swordfish/2009/05/26/swordfish-tooling-sneak-peek/" rel="alternate" type="text/html"/>
    <title>Swordfish Tooling: Sneak Peek</title>
    <summary>For the past few months we have been working on tooling support for Swordfish. This has resulted in an impressive Swordfish tooling project that helps a user to perform various tasks like, Getting Started with Swordfish Tooling and Creating a JAX-WS Service Provider Project from an existing WSDL.
Getting Started with Swordfish Tooling
A quick “Getting Started” [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>For the past few months we have been working on tooling support for Swordfish. This has resulted in an impressive Swordfish tooling project that helps a user to perform various tasks like, <em>Getting Started with Swordfish Tooling</em> and <em>Creating a JAX-WS Service Provider Project from an existing WSDL</em>.</p>
<h3><strong>Getting Started with Swordfish Tooling</strong></h3>
<p>A quick “Getting Started” section in our help, enables users to set up a Target Platform.</p>
<p><a href="http://dev.eclipse.org/blogs/swordfish/files/2009/05/install_target_plat5.png"><img alt="" class="alignnone size-medium wp-image-64" height="253" src="http://dev.eclipse.org/blogs/swordfish/files/2009/05/install_target_plat5-300x253.png" width="300"/></a></p>
<h3>Creating a JAX-WS Service Provider Project from WSDL</h3>
<p>We have provided three ways to start this task:</p>
<ul>
<li><em>Using the plug-in project wizard</em>: This is the basic method, by which the user can create a plug-in project using the Eclipse Plug-in Project wizard. After choosing a name for the plug-in project and choosing the necessary template, the user can select the WSDL from the workspace. Alternatively, the user can select the WSDL from the file system. After this the new service provider project is visible in the workspace.</li>
</ul>
<p style="text-align: center;"><a href="http://dev.eclipse.org/blogs/swordfish/files/2009/05/sf_new_plugin_project_jaxws.png"><img alt="" class="size-medium wp-image-65 aligncenter" height="300" src="http://dev.eclipse.org/blogs/swordfish/files/2009/05/sf_new_plugin_project_jaxws-264x300.png" width="264"/></a></p>
<ul>
<li><em>Using the import wizard</em>: This method involves the <strong>Import </strong>option in the <strong>File </strong>menu. After making the selection as shown in the next screen, the steps to be followed are identical to the previous option, “Using the plug-in project wizard”.</li>
</ul>
<p style="text-align: center;"><a href="http://dev.eclipse.org/blogs/swordfish/files/2009/05/sf_import_jaxws.png"> <img alt="" class="size-medium wp-image-66 aligncenter" height="300" src="http://dev.eclipse.org/blogs/swordfish/files/2009/05/sf_import_jaxws-256x300.png" width="256"/></a></p>
<ul>
<li><em>Using the context menu of a WSDL in the workspace</em>: For this method, you must right-click the WSDL and select the <strong>Import</strong> option. The steps that follow are identical to the previous section, “Using the import wizard”.</li>
</ul></div>
    </content>
    <updated>2009-05-26T16:21:43Z</updated>
    <category term="Uncategorized"/>
    <author>
      <name>Diya</name>
    </author>
    <source>
      <id>http://dev.eclipse.org/blogs/swordfish</id>
      <link href="http://dev.eclipse.org/blogs/swordfish/feed/" rel="self" type="application/atom+xml"/>
      <link href="http://dev.eclipse.org/blogs/swordfish" rel="alternate" type="text/html"/>
      <subtitle>New and noteworthy from the Swordfish team</subtitle>
      <title>The Swordfish Blog</title>
      <updated>2009-05-27T09:52:57Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://www.lemmster.de/blog/?p=191</id>
    <link href="http://www.lemmster.de/blog/index.php/2009/05/25/191" rel="alternate" type="text/html"/>
    <title>Distributed OSGi – The ECF way at DemoCamp Hamburg</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Following up on our presentations given at EclipseCon earlier this year [1][2], I will do a talk on ECF’s implementation of distributed OSGi/RFC119 later today at the local <a href="http://wiki.eclipse.org/Eclipse_DemoCamps_Galileo_2009/Hamburg">Galileo DemoCamp  here in Hamburg</a>.<br/>
Make sure to show up in case you are in the area. Not just to hear about RFC119, but also to attend the other talks and the stammtisch afterwards. :-)</p>
<p>[1] <a href="http://ecf2.osuosl.org/Best_Practices_with_Distributed_OSGi.pdf">Best Practices with distributed OSGi services</a><br/>
[2] <a href="http://ecf2.osuosl.org/Distributed_OSGi_-_The_ECF_way_rev02.pdf">Distributed OSGi – The ECF way</a></p></div>
    </content>
    <updated>2009-05-25T09:35:35Z</updated>
    <category term="eclipse"/>
    <author>
      <name>Markus Alexander Kuppe</name>
    </author>
    <source>
      <id>http://www.lemmster.de/blog</id>
      <link href="http://www.lemmster.de/blog/index.php/category/work/eclipse/feed" rel="self" type="application/atom+xml"/>
      <link href="http://www.lemmster.de/blog" rel="alternate" type="text/html"/>
      <subtitle>...living the offbeat</subtitle>
      <title>l e m m s t e r . d e » eclipse</title>
      <updated>2010-06-09T06:11:38Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-33274870.post-7249269412328600965</id>
    <link href="http://tom-eclipse-dev.blogspot.com/feeds/7249269412328600965/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=33274870&amp;postID=7249269412328600965" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/33274870/posts/default/7249269412328600965" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/33274870/posts/default/7249269412328600965" rel="self" type="application/atom+xml"/>
    <link href="http://tom-eclipse-dev.blogspot.com/2009/05/useing-qt-to-write-equinox-osgi-ui.html" rel="alternate" type="text/html"/>
    <title>Useing Qt to write Equinox-OSGi-UI-Applications</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">I saw I didn't blogged since about 2 months. So I thought I'll start a series of blog entries showing off new things and paths I'm exploring.<br/><br/>I'll start with a Technical Topic because it's a really exciting thing I guess not only for me but also for the whole Equinox-OSGi/Java-Community.<br/><br/>Since some time Qt is released under LGPL and since some weeks now their Java-Binding named Qt-Jambi is released too under LGPL. I've been playing with Qt-Jambi (because my UFaceKit project has a Qt-Port) before but now that the code is under LGPL it's getting more interesting to the wider Java-audience and naturally also people who use Equinox-OSGi for their applications.<br/><h2>A simple QtJambi-Application</h2><br/>Before digging into the details what I've done let's look at a simply QtJambi-Application if we are not using Equinox-OSGi.<br/><br/><a href="http://4.bp.blogspot.com/_cWFEe8uui9o/ShiqT9QqaSI/AAAAAAAAAHE/jnyz5FK0HXg/s1600-h/screen_1.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5339204618086410530" src="http://4.bp.blogspot.com/_cWFEe8uui9o/ShiqT9QqaSI/AAAAAAAAAHE/jnyz5FK0HXg/s400/screen_1.png" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 217px; height: 69px;"/></a><br/><pre>package at.bestsolution.qt;<br/><br/>import com.trolltech.qt.gui.QApplication;<br/>import com.trolltech.qt.gui.QGridLayout;<br/>import com.trolltech.qt.gui.QLabel;<br/>import com.trolltech.qt.gui.QLineEdit;<br/>import com.trolltech.qt.gui.QMainWindow;<br/>import com.trolltech.qt.gui.QWidget;<br/><br/>public class HelloWorld extends QMainWindow {<br/><br/> public HelloWorld() {<br/>   setWindowTitle("Hello World!");<br/><br/>   QWidget composite = new QWidget();<br/>  <br/>   QGridLayout layout = new QGridLayout();<br/>   composite.setLayout(layout);<br/>  <br/>   QLabel label = new QLabel();<br/>   label.setText("Label");<br/>   layout.addWidget(label,0,0);<br/>  <br/>   QLineEdit text = new QLineEdit();<br/>   layout.addWidget(text,0,1);<br/>  <br/>   setCentralWidget(composite);<br/> }<br/> <br/> public static void main(String[] args) {<br/>   QApplication.initialize(new String[0]);<br/>  <br/>   HelloWorld world = new HelloWorld();<br/>   world.show();<br/>  <br/>   QApplication.exec();<br/> }<br/>}</pre><br/>This looks not much different to a SWT-Application besides the fact that one doesn't has to pass a parent when creating a widget and instead of running the event loop one simply calls QApplication.exec().<br/><h2>QtJambi and Equinox-OSGi</h2><br/>Couldn't be hard you think when you've used other UI-Toolkits (SWT,Swing) in your Equinox-OSGi-Applications already but the problem is that Swing is not problematic because it is part of the JRE and SWT is shipped as an (in fact multiple) Equinox-OSGi-Bundle/Fragment.<br/><br/>What we need to do is to Equinox-OSGify the bundles coming from Qt but this task is more complex then it looks on the first sight because using the simple converter provided by PDE is not providing us a solution because QtJambi-Code expects to load the libraries in very special way which means we need to patch their Java-Code to make it aware of Equinox-OSGi.<br/><br/>The really cool thing is that patching and maintaining the patch is easier than one might think because they provide their sources through a <a href="http://qt.gitorious.org/qt-jambi">git-repo</a> one could simply <a href="http://qt.gitorious.org/%7Etomson/qt-jambi/tomsons-clone">clone</a> and maintain the patched sources. So maintaining the patch is easier than it is for example to maintain a patch for the eclipse-platform because of git.<br/><br/>The tough thing is to get the environment setup in a way than one can produce .jars from the sources because one<br/><ul><br/><li>Has to compile the Qt-Sources</li><br/><li>To generate the Java-Binding-Classes to the Qt-Sources (extracted from the C++-Header-Files)</li><br/></ul><br/>which is a bit time consuming and not documented very well at the moment. Though this is doable for a medium skilled Java-Dev I think one should be able to checkout the complete project with native and generated Java-Code and doesn't have to compile all the stuff.<br/><br/>After having managed to setup a build environment I patched the libary loading classes and recreated the .jar-packages. QtJambi is split in 2 .jars:<br/><ul><br/><li>qtjambi.jar: Hold platform independent Java-Classes</li><br/><li>qtjambi-${os}.jar: Holding native libraries for the platform and the JNI-Glue</li><br/></ul><br/>So the setup is similar to SWT but in SWT also the Java-Code is part of the native fragment because it differs from platform to platform and the host bundle is simply an empty bundle. In contrast to that in Qt the Host-Bundle is holding all Java-Classes and in the native fragments one has the native-libs and JNI-Glue.<br/><br/>So what this all means for you? Not too much because I did 2 things as part of <a href="http://wiki.eclipse.org/UFaceKit/Development_Setup_In_Eclipse">UFaceKit-Target-Setup</a>:<br/><ul><br/><li>Packaged my changes to the Java-Code and provide it for download</li><br/><li>Added ant-tasks who fetch the native libs from <a href="http://www.qtsoftware.com/downloads">Qt-Software</a> and repackage them</li><br/></ul><br/><a href="http://3.bp.blogspot.com/_cWFEe8uui9o/ShkL39v8p7I/AAAAAAAAAHM/FAvqBugaYBU/s1600-h/screen_4.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5339311889320814514" src="http://3.bp.blogspot.com/_cWFEe8uui9o/ShkL39v8p7I/AAAAAAAAAHM/FAvqBugaYBU/s400/screen_4.png" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 252px; height: 320px;"/></a><br/>One could also use these <a href="http://dev.eclipse.org/svnroot/eclipse/org.eclipse.ufacekit/develop/setup/setup-target.xml">ant-tasks</a> when not using UFaceKit (I'm using it for my RCP-Development-Setup).<br/><br/>The Equinox-OSGi-Support is not fully finished and I'll maybe rework it a bit in future when understanding the code better but for now it sufficient to go on and file a CQ to make use of Qt in UFaceKit. Let's see what's coming out from this now that Qt is LGPL.<br/><h2>Simple Qt-Jambi and Equinox-OSGi-Application</h2><br/>Let's create an Equinox-Application which uses Qt as UI-Toolkit now. The easiest thing is to use the PDE-Wizard to create a "Headless Hello RCP" and add a MainWindow.java.<br/><pre>package at.bestsolution.qt;<br/><br/>import java.io.BufferedReader;<br/>import java.io.ByteArrayOutputStream;<br/>import java.io.IOException;<br/>import java.io.InputStream;<br/>import java.io.InputStreamReader;<br/><br/>import com.trolltech.qt.gui.QApplication;<br/>import com.trolltech.qt.gui.QGridLayout;<br/>import com.trolltech.qt.gui.QLabel;<br/>import com.trolltech.qt.gui.QLineEdit;<br/>import com.trolltech.qt.gui.QMainWindow;<br/>import com.trolltech.qt.gui.QPixmap;<br/>import com.trolltech.qt.gui.QPushButton;<br/>import com.trolltech.qt.gui.QWidget;<br/><br/>public class MainWindow extends QMainWindow {<br/> <br/> public MainWindow() {<br/>   QWidget widget = new QWidget();<br/>   widget.setObjectName("main_window");<br/><br/>   QGridLayout layout = new QGridLayout();<br/>   layout.setMargin(0);<br/>   widget.setLayout(layout);  <br/>  <br/>   addHeader(layout,"Tom Schindl","at/bestsolution/qt/bookmarks.png");<br/>  <br/>   QWidget content = new QWidget();<br/>   QGridLayout contentLayout = new QGridLayout();<br/>   content.setLayout(contentLayout);<br/>  <br/>   addLine(0, contentLayout, "Firstname");<br/>   addLine(1, contentLayout, "Lastname");<br/>   addLine(2, contentLayout, "Age");<br/>  <br/>   QPushButton button = new QPushButton();<br/>   button.setObjectName("submit");<br/>   button.setText("Submit");<br/>   contentLayout.addWidget(button,3,1);<br/>  <br/>   layout.addWidget(content);<br/>  <br/>   setCentralWidget(widget);<br/> }<br/> <br/> private void addHeader(QGridLayout layout, String labelText, String icon) {<br/>   QLabel header = new QLabel();<br/>   layout.addWidget(header);<br/>   header.setObjectName("header");<br/>   QGridLayout headerLayout = new QGridLayout();<br/>   headerLayout.setMargin(0);<br/>   header.setLayout(headerLayout);<br/>  <br/>   QLabel headerIcon = new QLabel();  <br/>   headerIcon.setObjectName("header_icon");<br/>   headerIcon.setPixmap(loadImage(icon));<br/>  <br/>   headerLayout.addWidget(headerIcon);<br/>  <br/>   QLabel headerText = new QLabel();<br/>   headerLayout.addWidget(headerText,0,1);<br/>   headerLayout.setColumnStretch(1, 100);<br/>   headerText.setObjectName("header_text");<br/>   headerText.setText(labelText);<br/> }<br/> <br/> private void addLine(int line, QGridLayout contentLayout, String labelText) {<br/>   QLabel label = new QLabel();<br/>   label.setText(labelText);<br/>   label.setObjectName("label");<br/>   contentLayout.addWidget(label);<br/>  <br/>   QLineEdit text = new QLineEdit();<br/>   text.setObjectName("text");<br/>   contentLayout.addWidget(text,line,1);<br/> }<br/><br/> <br/> private QPixmap loadImage(String path) {<br/>   try {<br/>     InputStream in = getClass().getClassLoader().getResourceAsStream(path);<br/>     ByteArrayOutputStream out = new ByteArrayOutputStream();<br/><br/>     int l;<br/>     byte[] buffer = new byte[1024];<br/><br/>     while ((l = in.read(buffer)) != -1) {<br/>       out.write(buffer, 0, l);<br/>     }<br/><br/>     QPixmap pic = new QPixmap();<br/>     pic.loadFromData(out.toByteArray());<br/>     return pic;<br/>   } catch (Exception e) {<br/>     e.printStackTrace();<br/>   }<br/><br/>   return null;<br/> }<br/>}<br/></pre><br/>and modify the generated application class like this:<br/><pre>package at.bestsolution.qt;<br/><br/>import org.eclipse.equinox.app.IApplication;<br/>import org.eclipse.equinox.app.IApplicationContext;<br/><br/>import com.trolltech.qt.gui.QApplication;<br/><br/>public class Application implements IApplication {<br/> public Object start(IApplicationContext context) throws Exception {<br/>   QApplication.initialize(new String[0]);<br/><br/>   MainWindow window = new MainWindow();<br/>   window.show();<br/>  <br/>   QApplication.exec();<br/>  <br/>   return IApplication.EXIT_OK;<br/> }<br/><br/>  public void stop() {}<br/>}</pre><br/>Well as you see I'm not a good designer and the application looks well not really nice though it looks native on my OS-X though this is only faked by Qt because they are drawing everything on the screen as far as I understood it.<br/><br/>One could think that this fact is a draw back of Qt but IMHO it's the other way round because with this strategy they can support things SWT can't support easily - Completely restyle your application using a declarative language and well they use CSS like e.g. <a href="http://wiki.eclipse.org/E4/UI/Running_CSS_demos">E4</a> does too.<br/><br/>The first thing to do is to add a method to load a stylesheet to Application.java:<br/><pre>private String loadStyles(String cssPath) {<br/> InputStream in = getClass().getClassLoader().getResourceAsStream(cssPath);<br/> BufferedReader r = new BufferedReader(new InputStreamReader(in));<br/> StringBuilder s = new StringBuilder();<br/> String line;<br/><br/> try {<br/>   while( (line = r.readLine()) != null ) {<br/>     s.append(line);<br/>   }<br/> } catch (IOException e) {<br/>   e.printStackTrace();<br/> }<br/><br/> return s.toString();<br/>}</pre><br/>and set the style sheet on the main window:<br/><pre>public Object start(IApplicationContext context) throws Exception {<br/> QApplication.initialize(new String[0]);<br/>  <br/> MainWindow window = new MainWindow();<br/> window.setStyleSheet(loadStyles("at/bestsolution/qt/style.css"));<br/> window.show();<br/>  <br/> QApplication.exec();<br/>  <br/> return IApplication.EXIT_OK;<br/>}</pre> and we need to define some styles:<br/><a href="http://1.bp.blogspot.com/_cWFEe8uui9o/ShkU-0jymKI/AAAAAAAAAHc/S60dnBXxG-M/s1600-h/screen_5.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5339321902717638818" src="http://1.bp.blogspot.com/_cWFEe8uui9o/ShkU-0jymKI/AAAAAAAAAHc/S60dnBXxG-M/s400/screen_5.png" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 347px;"/></a><br/>resulting in this application:<br/><br/><a href="http://1.bp.blogspot.com/_cWFEe8uui9o/ShkVZi9neUI/AAAAAAAAAHk/LH0gD_Mlplc/s1600-h/screen_3.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5339322361850591554" src="http://1.bp.blogspot.com/_cWFEe8uui9o/ShkVZi9neUI/AAAAAAAAAHk/LH0gD_Mlplc/s400/screen_3.png" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 177px;"/></a><br/>which we all agree looks better than:<br/><br/><a href="http://3.bp.blogspot.com/_cWFEe8uui9o/ShkQzfV-1dI/AAAAAAAAAHU/bMElHjGS8I4/s1600-h/screen_2.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5339317309997503954" src="http://3.bp.blogspot.com/_cWFEe8uui9o/ShkQzfV-1dI/AAAAAAAAAHU/bMElHjGS8I4/s400/screen_2.png" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 165px;"/></a><br/><br/>As you see this is also not my design but then one you get when using the Eclipse-Forms-API with the difference that in Eclipse one has to learn a new API to deal with besides SWT whereas in Qt the UI-Code is still Qt and styled by a declarative syntax and if you ask me the Forms-API is going to replace in space of Eclipse in E4 through SWT + CSS but this is only my personal opinion.<br/><br/>So should we all now move to Qt-Jambi to write UI-Applications in Java like we did years ago when we abandoned Swing and started using SWT?<br/><br/>Let's look at some potentially problematic areas:<ul><br/><li>Qt and QtJambi misses an application framework like eclipse RCP provides one for SWT-Application developers</li><br/><li>Qt and QtJambi misses Databinding support like Eclipse-Databinding provides one for SWT, JavaBeans and EMF</li><br/><li>Nokia removed all resources from QtJambi development and wants to build a community to work on it</li><br/></ul><br/>For at least 2 of the above there are solutions already today:<ul><br/><li>E4's core application platform is UI-Toolkit agonstic so though E4 is not released until 1.5 years it would give people the possibility to use Qt as their UI-Toolkit of choice which supports many many things starting from animations, multimedia integration, ...</li><br/><li>UFaceKit provides <a href="http://dev.eclipse.org/svnroot/eclipse/org.eclipse.ufacekit/bundles/incubation/org.eclipse.ufacekit.incubation/org.eclipse.ufacekit.ui.qt/">JFace-Viewer</a> like and <a href="http://dev.eclipse.org/svnroot/eclipse/org.eclipse.ufacekit/bundles/incubation/org.eclipse.ufacekit.incubation/org.eclipse.ufacekit.ui.qt/">Eclipse-Databinding support</a> for QtJambi if the CQ I'm going to file is approved</li><br/></ul><br/>Still the killer problem is the lacking support from Nokia on QtJambi and it's unclear if a community could be build around it who not even maintains but also adds new features. <br/><br/>I think this is a bitty because with getting a real application framework with E4, it's themeing, multimedia and animation support I think QtJambi could get a real possibility to write cross-platform RCP-Applications in Java without the sometimes really hurting lowest common denominator problem we have in SWT.<br/><br/>So what should one do? Though QtJambi looks like a real solution for writing nice looking RCP-Applications the uncertainness caused by Nokia by cutting resources makes it unusable for most companies. <br/><br/>For form developers I could point you once more to <a href="http://wiki.eclipse.org/UFaceKit">UFaceKit</a> which supports both SWT and Qt and your <b>form application code</b> is not affected by changing the underlying technology but one can still rely on native stuff where needed (e.g. using Qt animation/multimedia support).<br/><br/>For me as one of E4 committers and UFaceKit-Project lead it means:<ul><br/><li>I'd try to keep the application runtime widget agonstic if possible (well we are on a good track here)</li><br/><li>I'll file a CQ to let UFaceKit make use of QtJambi and provide first class JFace-Viewer and Eclipse-Databinding support for QtJambi</li><br/><br/><b>1. updated my wrong capitalization of Qt</b><br/><b>2. please note that I'm using Equinox specific stuff to make this work so it is maybe not runnable on other OSGi implementations but I'm happy to incooperate feedback and suggestions into my git-clone to support other OSGi implementations</b><br/></ul><div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/33274870-7249269412328600965?l=tom-eclipse-dev.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2009-05-24T14:32:41Z</updated>
    <published>2009-05-23T18:45:00Z</published>
    <author>
      <name>Tom</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/06619033174219683085</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-33274870</id>
      <author>
        <name>Tom</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/06619033174219683085</uri>
      </author>
      <link href="http://tom-eclipse-dev.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/33274870/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://tom-eclipse-dev.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://www.blogger.com/feeds/33274870/posts/default?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <title>eclipse-dev</title>
      <updated>2010-06-03T20:13:27Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-18834385.post-8823487530187099951</id>
    <link href="http://blog.bjhargrave.com/feeds/8823487530187099951/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=18834385&amp;postID=8823487530187099951" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/18834385/posts/default/8823487530187099951" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/18834385/posts/default/8823487530187099951" rel="self" type="application/atom+xml"/>
    <link href="http://blog.bjhargrave.com/2009/05/eclipse-galileo-update-site.html" rel="alternate" type="text/html"/>
    <title>Eclipse Galileo update site organization could be more useful</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">I saw <a href="http://dev.eclipse.org/blogs/wayne/2009/05/19/calling-all-maceclipse-enthusiasts/">Wayne's call for Mac users to try the Eclipse 3.5 RC1 Cocoa port</a>. So being an Eclipse user and a Mac user, I thought I would give it a try out. I have been using 3.4 for my OSGi development work since it came out last June. I have updated to each point release and am 3.4.2 now. I started with the <a href="http://www.eclipse.org/downloads/packages/eclipse-rcpplug-developers/ganymedesr2">EPP for RCP developers</a> since that very closely described what I needed to do. All that I needed to add to that was an svn team provider.<br/><br/>So I downloaded the 3.5 RC1 Cocoa driver, unzipped it and started it. But it was rather bare bones. I was missing the extra goodies from the RCP EPP download and, of course, an svn team provider. So I went to the Install New Software dialog and selected the Galileo site. But it took me quite some time to figure out what I needed to select to get back to the function I already had in my 3.4 install. It would have been much more useful to have the update organized like the EPPs. That is by the type of developer I am and the things I need to do. Then I could have found a grouping for RCP developer and installed all the things under that grouping. Since that was not there, I had to consult the 3.4 EPP pages to figure out what RCP EPP build added and then search for those things on the update site (as well as the subversive svn team providers sans svn connector :-( ).<br/><br/>So I think I have all the function I need installed, but it could have been much easier.<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/18834385-8823487530187099951?l=blog.bjhargrave.com" width="1"/></div></div>
    </content>
    <updated>2009-05-20T15:59:23Z</updated>
    <published>2009-05-20T15:32:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="eclipse"/>
    <author>
      <name>BJ Hargrave</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/02289107040084648957</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-18834385</id>
      <author>
        <name>BJ Hargrave</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/02289107040084648957</uri>
      </author>
      <link href="http://blog.bjhargrave.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/18834385/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://blog.bjhargrave.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>Delusional thoughts on Java, OSGi, Eclipse and other things</subtitle>
      <title>The Programming Delusion</title>
      <updated>2009-12-25T18:19:10Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-16647950.post-6433124040100338095</id>
    <link href="http://mea-bloga.blogspot.com/feeds/6433124040100338095/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=16647950&amp;postID=6433124040100338095" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/16647950/posts/default/6433124040100338095" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/16647950/posts/default/6433124040100338095" rel="self" type="application/atom+xml"/>
    <link href="http://mea-bloga.blogspot.com/2009/05/blog-is-moving.html" rel="alternate" type="text/html"/>
    <title>Blog is Moving</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">My blog is <a href="http://aniszczyk.org">moving</a>!<br/><br/><a href="http://4.bp.blogspot.com/_2017w9FY4Do/ShHDJpyakiI/AAAAAAAABDc/6mnHzPsf-Y4/s1600-h/zxlife1-225x300.jpg"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5337261604014297634" src="http://4.bp.blogspot.com/_2017w9FY4Do/ShHDJpyakiI/AAAAAAAABDc/6mnHzPsf-Y4/s320/zxlife1-225x300.jpg" style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; cursor: hand; width: 225px; height: 300px;"/></a><br/><br/>I'm just not happy with the Blogger platform... I was sick of fighting with spam comments on top of the so many deficiencies already. I've decided to consolidate my online life into ONE <a href="http://www.wordpress.org">WordPress</a> installation. I imported all my old posts and comments to the new blog so there's no worry of content being lost. I highly recommend WordPress to anyone who needs a blog... or even a lightweight CMS system. The migration from Blogger to Wordpress was painless!<br/><br/>Here's the <a href="http://aniszczyk.org/category/work/feed/">RSS feed</a> for my new blog.<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/16647950-6433124040100338095?l=mea-bloga.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2009-05-18T20:26:31Z</updated>
    <published>2009-05-18T20:20:00Z</published>
    <author>
      <name>Chris Aniszczyk (zx)</name>
      <email>caniszczyk@gmail.com</email>
      <uri>http://www.blogger.com/profile/14067673601779593093</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-16647950</id>
      <author>
        <name>Chris Aniszczyk (zx)</name>
        <email>caniszczyk@gmail.com</email>
        <uri>http://www.blogger.com/profile/14067673601779593093</uri>
      </author>
      <link href="http://mea-bloga.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://mea-bloga.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://feeds.feedburner.com/caniszczyk" rel="self" type="application/atom+xml"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>work. life. diatribes.</subtitle>
      <title>zx's diatribe</title>
      <updated>2010-04-14T14:19:59Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-237205426838095904.post-2135233744932183878</id>
    <link href="http://runnerwhocodes.blogspot.com/feeds/2135233744932183878/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=237205426838095904&amp;postID=2135233744932183878" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/237205426838095904/posts/default/2135233744932183878" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/237205426838095904/posts/default/2135233744932183878" rel="self" type="application/atom+xml"/>
    <link href="http://runnerwhocodes.blogspot.com/2009/05/eclipse-democamp-galileo-2009.html" rel="alternate" type="text/html"/>
    <title>Eclipse DemoCamp Galileo 2009</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><div>A public service announcement for all those Eclipse enthusaists who live close to Portland...or who need an excuse to visit our amazingly beautiful city!!</div><br/><img alt="" border="0" id="BLOGGER_PHOTO_ID_5212529915890906658" src="http://bp1.blogger.com/_w_n3E-D0snA/SFagV2HGNiI/AAAAAAAAAvE/IC5x_442shk/s400/Eclipse-camp.gif" style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;"/><br/><div><span class="Apple-style-span" style="font-weight: bold;"><span class="Apple-style-span" style="font-size: large;">ECLIPSE DEMO CAMP GALILEO 2009 – Portland, OR</span></span></div><div><br/></div><div>Instantiations and The Eclipse Foundation will co-host a pizza and salad buffet, including beverages. Come as a presenter and demo the cool stuff that you have been working on in Eclipse and network with your local Eclipse community!  </div><div><br/></div><div>Here are the official details and where to sign up:</div><div><br/></div><div>The Eclipse Foundation and Instantiations proudly present the Eclipse DemoCamp Galileo 2009/Portland</div><div><br/></div><div><span class="Apple-style-span" style="font-weight: bold;">Date</span>: June 17, 2008</div><div><br/></div><div><span class="Apple-style-span" style="font-weight: bold;">Time:</span> 7pm – 9pm (Presenters set up at 6pm)</div><div><br/></div><div><span class="Apple-style-span" style="font-weight: bold;">Location:</span> <a href="http://www.luckylab.com/html/story.html">Lucky Lab Beer Hall</a>, 1945 NW Quimby, Portland (<a href="http://www.luckylab.com/html/directions.html#beerhall">Directions</a>)</div><div><br/></div><div><span class="Apple-style-span" style="font-weight: bold;">Cost:</span> Complimentary; attendance is limited</div><div><br/></div><div><span class="Apple-style-span" style="font-weight: bold;">Registration:</span> To register, add your name as presenter or attendee to this wiki:</div><div><a href="http://wiki.eclipse.org/Eclipse_DemoCamps_Galileo_2009/Portland">http://wiki.eclipse.org/Eclipse_DemoCamps_Galileo_2009/Portland </a></div><div><br/></div><div>If you have questions, please contact <a href="mailto:tina@instantiations.com">Tina Kvavle at Instantiations </a>. Feel free to pass this along to your colleagues, and be sure to sign up on the wiki if you would like to attend or present! We look forward to seeing you there.</div><div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/237205426838095904-2135233744932183878?l=runnerwhocodes.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2009-05-15T23:02:05Z</updated>
    <published>2009-05-15T23:01:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="eclipse"/>
    <author>
      <name>Darin Swanson</name>
      <email>darin@reasontorun.com</email>
      <uri>http://www.blogger.com/profile/14947935363512132811</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-237205426838095904</id>
      <author>
        <name>Darin Swanson</name>
        <email>darin@reasontorun.com</email>
        <uri>http://www.blogger.com/profile/14947935363512132811</uri>
      </author>
      <link href="http://runnerwhocodes.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/237205426838095904/posts/default/-/eclipse" rel="self" type="application/atom+xml"/>
      <link href="http://runnerwhocodes.blogspot.com/search/label/eclipse" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://www.blogger.com/feeds/237205426838095904/posts/default/-/eclipse/-/eclipse?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <subtitle type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">My adventures in road and trail running with Eclipse and Jazz development thrown in.
<br/>
For Running stuff click <a href="http://runnerwhocodes.blogspot.com/search/label/running"> here</a>. For Eclipse stuff click <a href="http://runnerwhocodes.blogspot.com/search/label/eclipse"> here</a>.</div>
      </subtitle>
      <title>Reason To Run</title>
      <updated>2010-06-08T05:44:22Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://www.norio.be/126 at http://www.norio.be</id>
    <link href="http://www.norio.be/blog/2009/04/open-source-licenses" rel="alternate" type="text/html"/>
    <title>Open source licenses</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Yesterday I went to a <a href="http://www.profoss.eu/events/april-2009-legal-matters">"A new approach to licensing"</a> a <a href="http://www.profoss.eu">Profoss</a> conference about open source licensing.</p>
<p>Even though most of the speakers were lawyers (speaking a funny kind of English), I did learn quite a few things:</p>
<ul>
<li>"Distribution" has a different meaning in US law and European law.</li>
<li>The real power of the <a href="http://ec.europa.eu/idabc/eupl">EUPL</a> is that it shows the growing political/economical importance of free and open source software.</li>
<li>Licenses that have compatibility clauses might have loopholes to relicense something with a more permissive license. For example: 1000 lines of EUPL + 1 line of GPLv2 results in 1001 lines of GPLv2 which means you've lost the <a href="http://en.wikipedia.org/wiki/Affero_General_Public_License">Affero</a>-specific clauses.</li>
</ul>
<p><a href="http://www.lowagie.com/">Bruno Lowagie</a>, the author of <a href="http://www.lowagie.com/iText/">iText</a>, gave a very interesting <a href="http://www.slideshare.net/blowagie/itext-ip-review">presentation</a> about his struggle with software licensing and how the inclusion of iText in the Eclipse Callisto simultaneous release helped him to clean up dubious pieces of source code.</p><img height="1" src="http://feeds.feedburner.com/~r/norio-eclipse/~4/h8hjO2aGMzM" width="1"/></div>
    </summary>
    <updated>2009-04-29T10:28:44Z</updated>
    <category scheme="http://www.norio.be/tags/eclipse" term="eclipse"/>
    <category scheme="http://www.norio.be/tags/open-source" term="open source"/>
    <author>
      <name>litrik</name>
    </author>
    <source>
      <id>http://www.norio.be/taxonomy/term/12/0</id>
      <link href="http://www.norio.be/taxonomy/term/12/0" rel="alternate" type="text/html"/>
      <link href="http://feeds.feedburner.com/norio-eclipse" rel="self" type="application/rss+xml"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <title>Norio's Eclipse posts</title>
      <updated>2010-04-27T13:53:46Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-7721121862516881677.post-2816143339796301812</id>
    <link href="https://www.blogger.com/comment.g?blogID=7721121862516881677&amp;postID=2816143339796301812" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/7721121862516881677/posts/default/2816143339796301812" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/7721121862516881677/posts/default/2816143339796301812" rel="self" type="application/atom+xml"/>
    <link href="http://www.thescreencast.com/2007/07/how-to-jsf-in-eclipse-europa-part-i.html" rel="alternate" type="text/html"/>
    <title>How to: JSF in Eclipse Europa (Part I)</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><!-- google_ad_section_start -->
<div style="width: 85%;">
<p>
In this screencast tutorial you'll learn how to setup and use Eclipse JavaServer Faces tools for rapid Web application development. 
</p>
<p>
We will complete the following steps: 
</p><ol>
<li> Register JSF libraries</li>
<li> Create Dynamic Web Project</li>
<li> Add JSF Facet to the Web project</li>
<li> Create JSP Page templates</li>
<li> Define page navigations rules</li>
<li> Create managed beans</li>
<li> Edit JSF pages in the Web Page Editor</li>
<li> Deploy and execute JSF applications</li>
</ol>
<p/>
<p>
Let's get started.
</p>
</div>

<span class="fullpost">
<div style="width: 85%;">
<br/>
Creating a JavaServer Faces Project (steps 1-3) (<strong>01:55</strong>):
</div> 
<!-- google_ad_section_end -->
<br/>
<!-- first screencast begin -->
<!-- 
AC_FL_RunContent( 'codebase','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0','width','800','height','622','src','http://i199.photobucket.com/albums/aa155/deepdemo/jsf1','quality','high','pluginspage','http://www.macromedia.com/go/getflashplayer','movie','http://i199.photobucket.com/albums/aa155/deepdemo/jsf1'); //-->
<!-- first screencast end -->

<!-- first adds begin -->
<!-- first adds end -->


<!-- google_ad_section_start -->
<div style="width: 85%; padding-top: 20px;">
Building a JSF application (steps 4-8) (<strong>05:48</strong>):
</div> 
<!-- google_ad_section_end -->
<br/>
<!-- second screencast begin -->
<!-- 
AC_FL_RunContent( 'codebase','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0','width','800','height','622','src','http://i199.photobucket.com/albums/aa155/deepdemo/jsf2','quality','high','pluginspage','http://www.macromedia.com/go/getflashplayer','movie','http://i199.photobucket.com/albums/aa155/deepdemo/jsf2'); //-->
<!-- second screencast end -->

<!-- second adds begin -->
<!-- second adds end -->

<div style="width: 85%; padding-top: 20px;">
<p>
In the next screencast (Part II) we will assemble a JEE application by combining a JSF module and an EJB module from <a href="http://www.thescreencast.com/">previous tutorials</a>. Feel free to subscribe by <a href="http://feeds.feedburner.com/TheScreencast">RSS</a> or <a href="http://www.feedburner.com/fb/a/emailverifySubmit?feedId=1013228&amp;loc=en_US">Email</a>.
</p>

<p>
For basic installation instructions of the Eclipse IDE for Java EE Developers see tutorials from <a href="http://www.eclipse.org/downloads/moreinfo/jee.php">eclipse.org</a> site.
</p>

<p>
For this tutorial we have used materials from: 
</p><ol>
<li>
<a href="http://www.eclipse.org/webtools/jsf/main.php">JSF tools subproject</a>
</li>
<li>
<a href="http://www.eclipse.org/downloads/moreinfo/jee.php">Eclipse IDE for Java EE Developers</a> 
</li>
</ol>
</div>

<div style="width: 85%;">
and these books:
<ol>

<li>
  <a href="http://www.amazon.com/dp/0131738860?tag=thescrblo-20&amp;camp=0&amp;creative=0&amp;linkCode=as1&amp;creativeASIN=0131738860&amp;adid=19EQ5TD11085H6GG4ENT&amp;">     
      Core JavaServer(TM) Faces (2nd Edition) 
   </a>

</li>


<li>
  <a href="http://www.amazon.com/dp/1932394125?tag=thescrblo-20&amp;camp=0&amp;creative=0&amp;linkCode=as1&amp;creativeASIN=1932394125&amp;adid=0XK0DMWMESVKZB7ZENNX&amp;">     
      JavaServer Faces in Action  
   </a>

</li>

<li>
  <a href="http://www.amazon.com/JBoss-Action-Configuring-Application-Server/dp/1933988029?tag=thescrblo-20&amp;camp=0&amp;creative=0&amp;linkCode=as1&amp;creativeASIN=0596005393&amp;adid=0BVF7X2878EKQRQ313WT&amp;">     
      JBoss in Action
   </a>
</li>


<li>

  <a href="http://www.amazon.com/dp/0321396855?tag=thescrblo-20&amp;camp=0&amp;creative=0&amp;linkCode=as1&amp;creativeASIN=0321396855&amp;adid=0JAP4JJSJKQZR2HHWA4T&amp;">
     
      Eclipse Web Tools Platform: Developing Java(TM) Web Applications
   </a>

</li>

</ol>
<p/>
Related posts on this blog: 
<p>
</p><ul>
<li><a href="http://www.thescreencast.com/2007/07/tour-around-europe-eclipse-for-java-ee.html">Tour around Europe: Eclipse for Java EE (Part I)</a></li>
<li><a href="http://www.thescreencast.com/2007/07/tour-around-europe-eclipse-for-java-ee_04.html">Tour around Europe: Eclipse for Java EE (Part II)</a></li>
</ul>
<p/>
</div>
<!-- google_ad_section_end -->
</span><div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/7721121862516881677-2816143339796301812?l=www.thescreencast.com" width="1"/></div></div>
    </content>
    <updated>2009-04-28T18:11:50Z</updated>
    <published>2007-07-10T19:10:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="eclipse"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="jee"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="jsf"/>
    <author>
      <name>ongwave</name>
      <email>noreply@blogger.com</email>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-7721121862516881677</id>
      <author>
        <name>ongwave</name>
        <email>noreply@blogger.com</email>
      </author>
      <link href="http://www.thescreencast.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/7721121862516881677/posts/default/-/eclipse" rel="self" type="application/atom+xml"/>
      <link href="http://www.thescreencast.com/search/label/eclipse" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <title>The Screencast Blog</title>
      <updated>2010-06-08T19:02:12Z</updated>
    </source>
  </entry>

  <entry xml:lang="en-us">
    <id>http://www.jroller.com/shareme/entry/birt_ant_task</id>
    <link href="http://www.jroller.com/shareme/entry/birt_ant_task" rel="alternate" type="text/html"/>
    <title>BiRT ANT Task</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">DailyDev has released a <a href="http://www.dailydev.org/p/birt-ant-task/usage">BiRT ANT task for use with Apache ANT</a>.</div>
    </summary>
    <updated>2009-04-28T08:18:06Z</updated>
    <category term="Eclipse-IDE"/>
    <author>
      <name>Fred Grott</name>
    </author>
    <source>
      <id>http://www.jroller.com/shareme/</id>
      <link href="http://www.jroller.com/shareme/" rel="alternate" type="text/html"/>
      <link href="http://www.jroller.com/shareme/feed/entries/rss?cat=%2FEclipse-IDE" rel="self" type="application/atom+xml"/>
      <rights>Copyright 2009</rights>
      <subtitle type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">A Weblog about Java programming and digital convergence on mobile devices such as Android, iPhone, and Palm WebOS(Pre). <a href="http://en.wikibooks.org/wiki/Programming:J2ME">Wikibook: J2ME</a>.</div>
      </subtitle>
      <title>ShareMe -The Mobile Future</title>
      <updated>2010-06-09T06:53:39Z</updated>
    </source>
  </entry>

  <entry xml:lang="en-us">
    <id>http://www.jroller.com/shareme/entry/our_old_friend_the_libpthread</id>
    <link href="http://www.jroller.com/shareme/entry/our_old_friend_the_libpthread" rel="alternate" type="text/html"/>
    <title>Our Old Friend the libpthread.so thead crash</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">The <em>libpthread</em>.<em>so thread crash that was fixed in Java6-10 is showing up again. I was using Java6-13 and Eclipse 3.4.2 and everything seem to trigger it on Ubuntu 9.0.4 32-bit. I am  not sure if <a href="https://bugs.launchpad.net/ubuntu/+source/sun-java6/+bug/224297">the workaround at the bottom of this old bug report works</a>.</em></div>
    </summary>
    <updated>2009-04-19T21:50:29Z</updated>
    <category term="Eclipse-IDE"/>
    <author>
      <name>Fred Grott</name>
    </author>
    <source>
      <id>http://www.jroller.com/shareme/</id>
      <link href="http://www.jroller.com/shareme/" rel="alternate" type="text/html"/>
      <link href="http://www.jroller.com/shareme/feed/entries/rss?cat=%2FEclipse-IDE" rel="self" type="application/atom+xml"/>
      <rights>Copyright 2009</rights>
      <subtitle type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">A Weblog about Java programming and digital convergence on mobile devices such as Android, iPhone, and Palm WebOS(Pre). <a href="http://en.wikibooks.org/wiki/Programming:J2ME">Wikibook: J2ME</a>.</div>
      </subtitle>
      <title>ShareMe -The Mobile Future</title>
      <updated>2010-06-09T06:53:39Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://dev.eclipse.org/blogs/releng/?p=116</id>
    <link href="http://dev.eclipse.org/blogs/releng/2009/04/10/howto-creating-archived-p2-repos/" rel="alternate" type="text/html"/>
    <title>HOWTO: Create an archived p2 repo</title>
    <summary>Generating a p2 repo can be done a number of ways, from the trivial case for a single feature build (add p2.gathering=true into your build.properties file, as discussed with slides and working sample here, to the more elaborate, with signed &amp; packed jars (eg., using the buildUpdate task here).

Just bear in mind one caveat: while [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Generating a p2 repo can be done a number of ways, from the trivial case for a single feature build (add p2.gathering=true into your build.properties file, as <a href="http://divby0.blogspot.com/2009/03/dash-athena-common-builder-workshop.html">discussed with slides and working sample here</a>, to the more elaborate, with signed &amp; packed jars (eg., using the <a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.dash/athena/org.eclipse.dash.commonbuilder/org.eclipse.dash.common.releng/tools/scripts/buildAllHelper.xml?root=Technology_Project&amp;view=markup">buildUpdate task here</a>).</p>
<p>
Just bear in mind one caveat: while packed features work great on a regular p2 repo (eg., http://download.eclipse.org/modeling/emf/updates/milestones/, <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=269199">you cannot yet include packed features in the archive</a>, only packed plugins.</p>
<p>
If you want to produce an archived p2 repo but don’t care how it’s done… try an <a href="http://wiki.eclipse.org/Common_Build_Infrastructure/Getting_Started/Build_In_Eclipse">Athena build</a>, and you’ll get one generated for you for free (as long as you enable the buildUpdate task to be run via your build.properties. If you’ve never tried Athena, I suggest <a href="http://www.eclipsecon.org/2009/sessions?id=302">downloading the slides &amp; exercises and trying it for yourself</a> (bottom of the page).</p>
<p>
Should you want an unzipped version of your p2 repo published on download.eclipse.org (eg., so it can be consumed by EPP or Galileo), watch <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=266374">bug 266374</a>. I’m working on improving this currently manual process - copy zip then unzip zip - so it’ll be less effort and more automated.</p>
<p>
As always, feedback &amp; contributions welcome.</p></div>
    </content>
    <updated>2009-04-10T19:56:07Z</updated>
    <category term="misc"/>
    <category term="archive"/>
    <category term="athena"/>
    <category term="build"/>
    <category term="dash"/>
    <category term="eclipse"/>
    <category term="eclipsecon"/>
    <category term="p2"/>
    <category term="repo"/>
    <author>
      <name>Nick Boldt</name>
    </author>
    <source>
      <id>http://dev.eclipse.org/blogs/releng</id>
      <author>
        <name>Releng</name>
      </author>
      <link href="http://dev.eclipse.org/blogs/releng/feed" rel="self" type="application/atom+xml"/>
      <link href="http://dev.eclipse.org/blogs/releng" rel="alternate" type="text/html"/>
      <subtitle>automation, application, assembly, and angst</subtitle>
      <title>.releng</title>
      <updated>2009-04-10T20:03:32Z</updated>
    </source>
  </entry>

  <entry>
    <id>http://www.jroller.com/carlossg/entry/apachecon_slides_enterprise_build_and</id>
    <link href="http://www.jroller.com/carlossg/entry/apachecon_slides_enterprise_build_and" rel="alternate" type="text/html"/>
    <title>ApacheCON slides: "Enterprise Build and Test in the Cloud" and "Eclipse IAM, Maven integration for Eclipse"</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Here you have the slides from my talks at ApacheCON</p><h1>Enterprise Build and Test in the Cloud </h1>
<p>Building and testing software can be a time and resource consuming
task. Cloud computing / on demand services like Amazon EC2 allow a
cost-effective way to scale applications, and applied to building and
testing software can reduce the time needed to find and correct
problems, meaning a reduction also in time and costs. Properly
configuring your build tools (Maven, Ant,...), continuous integration
servers (Continuum, Cruise Control,...), and testing tools (TestNG,
Selenium,...) can allow you to run all the build/testing process in a
cloud environment, simulating high load environments, distributing long
running tests to reduce their execution time, using different
environments for client or server applications,... and in the case of
on-demand services like Amazon EC2, pay only for the time you use it.
In this presentation we will introduce a development process and
architecture using popular open source tools for the build and test
process such as Apache Maven or Ant for building, Apache Continuum as
continuous integration server, TestNG and Selenium for testing, and how
to configure them to achieve the best results and performance in
several typical use cases (long running testing processes, different
client platforms,...) by using he Amazon Elastic Computing Cloud EC2,
and therefore reducing time and costs compared to other solutions.</p>

<div id="__ss_1226277" style="width: 425px; text-align: left;"><a href="http://www.slideshare.net/carlossg/enterprise-build-and-test-in-the-cloud-apache-con-eu?type=presentation" title="Enterprise Build And Test In The Cloud">Enterprise Build And Test In The Cloud</a><div style="font-size: 11px; font-family: tahoma,arial; height: 26px; padding-top: 2px;">View more <a href="http://www.slideshare.net/" style="text-decoration: underline;">presentations</a> from <a href="http://www.slideshare.net/carlossg" style="text-decoration: underline;">Carlos Sanchez</a>.</div></div>



<p><a href="http://www.eu.apachecon.com/c/aceu2009/sessions/171">Download PDF</a></p>

<h1>Eclipse IAM, Maven integration for Eclipse</h1>

<p>Eclipse IAM (Eclipse Integration for Apache Maven), formerly "Q for
Eclipse", is an Open Source project that integrates Apache Maven and
the Eclipse IDE for faster, more agile, and more productive
development. The plugin allows you to run Maven from the IDE, import
existing Maven projects without intermediate steps, create new projects
using Maven archetypes, synchronize dependency management, search
artifact repositories for dependencies that are automatically
downloaded, view a graph of dependencies and more! Join us to discover
how to take advantage of all these features, as well as how they can
help you to improve your development process.
</p>

<div id="__ss_1219784" style="width: 425px; text-align: left;"><a href="http://www.slideshare.net/carlossg/eclipse-iam-maven-integration-for-eclipse?type=presentation" title="Eclipse IAM, Maven Integration For Eclipse">Eclipse IAM, Maven Integration For Eclipse</a><div style="font-size: 11px; font-family: tahoma,arial; height: 26px; padding-top: 2px;">View more <a href="http://www.slideshare.net/" style="text-decoration: underline;">presentations</a> from <a href="http://www.slideshare.net/carlossg" style="text-decoration: underline;">Carlos Sanchez</a>.</div></div>


<p> <a href="http://www.eu.apachecon.com/c/aceu2009/sessions/185">Download PDF</a><br/></p></div>
    </content>
    <updated>2009-04-08T22:39:26Z</updated>
    <published>2009-04-08T22:39:26Z</published>
    <category label="eclipse" term="/eclipse"/>
    <category scheme="http://rollerweblogger.org/ns/tags/" term="amazon"/>
    <category scheme="http://rollerweblogger.org/ns/tags/" term="apachecon"/>
    <category scheme="http://rollerweblogger.org/ns/tags/" term="apacheconeu2009"/>
    <category scheme="http://rollerweblogger.org/ns/tags/" term="aws"/>
    <category scheme="http://rollerweblogger.org/ns/tags/" term="build"/>
    <category scheme="http://rollerweblogger.org/ns/tags/" term="clod"/>
    <category scheme="http://rollerweblogger.org/ns/tags/" term="ec2"/>
    <category scheme="http://rollerweblogger.org/ns/tags/" term="eclipse"/>
    <category scheme="http://rollerweblogger.org/ns/tags/" term="iam"/>
    <category scheme="http://rollerweblogger.org/ns/tags/" term="q4e"/>
    <category scheme="http://rollerweblogger.org/ns/tags/" term="test"/>
    <author>
      <name>Carlos Sanchez</name>
    </author>
    <source>
      <id>http://www.jroller.com/carlossg/feed/entries/atom</id>
      <link href="http://www.jroller.com/carlossg/feed/entries/atom?cat=%2Feclipse" rel="self" type="application/atom+xml"/>
      <link href="http://www.jroller.com/carlossg/" rel="alternate" type="text/html"/>
      <subtitle>Carlos Sanchez weblog about Java at the End of the Universe</subtitle>
      <title>Carlos Sanchez's Weblog</title>
      <updated>2010-05-13T14:00:41Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://www.itaware.eu/?p=463</id>
    <link href="http://www.itaware.eu/2009/04/05/java-barcamp-paris-4th-ed-cloud-and-ddd/" rel="alternate" type="text/html"/>
    <title>Java BarCamp Paris 4th ed. : Cloud and DDD</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">A big success! It was full of people in the great Google's office. 2 schedules / 4 rooms and a total of 7 sessions, I present the both where I participated : Cloud computing (definition, actors and amazon eclipse tool) and DDD (definition and qi4j) <a href="http://www.itaware.eu/2009/04/05/java-barcamp-paris-4th-ed-cloud-and-ddd/" target="_blank">[...]</a></div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>A big success! It was full of people in the great Google’s office. 2 schedules / 4 rooms and a total of 7 sessions, I present the both where I participated :</p>
<p><strong>Cloud computing </strong><br/>
Not really a Java subject but it attract people. We tried to define the cloud computing and we fixed that there is 3 offers :</p>
<ul>
<li><strong>IAAS</strong> (Infrastructure as a Service): this is typical <a href="http://aws.amazon.com/" target="_blank">Amazon services</a> products, S3 for storage and EC2 for virtualized servers. Amazon offer very basic service now with a very powerful management tool in <a href="http://aws.amazon.com/eclipse/" target="_blank">Eclipse plug-in</a> (see the <a href="http://awsmedia.s3.amazonaws.com/videos/awsToolkit.html" target="_blank">demo</a>). There is also <a href="http://www.elastic-grid.com/" target="_blank">Elastic Grid</a> proposing to develop and deploy easily on the Amazon infrastructure, <a href="http://www.gogrid.com/index.php" target="_blank">GoGrid</a> an Amazon concurrent. I believe that the recent IBM / Sun merge will create new offerings.</li>
<li> <strong>SAAS</strong> (Software as a Service): we find a lot of solutions (often based on the previous offer), for example Amazon <a href="http://aws.amazon.com/simpledb/" target="_blank">SimpleDB</a>, Amazon <a href="http://aws.amazon.com/sqs/" target="_blank">SQS</a>, <a href="http://www.google.com/a" target="_blank">Google Apps</a>, Microsoft <a href="http://www.microsoft.com/azure/" target="_blank">Azure</a> Services <a href="http://www.cloudmq.com/" target="_blank">CloudMQ</a>, <a href="http://www.zumodrive.com/" target="_blank">ZumoDrive</a> … and I could continue like a long time…</li>
<li><strong>PAAS</strong> (Platform as a Service): is hosting the application on a common and scalable platform, it is typically <a href="http://appengine.google.com/" target="_blank">Google AppEngine</a>, it is possible to deploy all yours web application if you know Python. Microsoft probably has a deal in Azure (I should have a look) and Sun has just launched <a href="http://zembly.com/" target="_blank">Zembly</a>.</li>
</ul>
<p>A lot of discussion on what about offline, security, and where is java in the cloud. For me offline mode is really important in a world of increasingly nomad people. Cloud is primarily storage space allowing me to share my data between my devices, then an area of services, and finally deployment platform of my apps.<br/>
Finished managing a backup that is never done, losed time finding  a way to share data and finally used USB key, now my data are in the cloud and synchronized on all my devices. I have set up Zumodrive in my company and it’s very cool, the documents are shared even outside the company and I don’t care about backup.<br/>
Security is the most bigger difficulty for acceptance in the company, I hear the same remarks when talking about the payment on Internet ten years ago. All these services are secure and there is no zero risk.<br/>
Java have his place in the cloud on client and server side. The multi platform aspect facilitates the developments on the client (eg: ZumoDrive client is in Java), I want to see more and more Java APIs « cloud-ready » facilitating the integration of service in code. Similarly on the server side I look forward to Google AppEngine in Java.<br/>
Finally the advantage of cloud computing is primarily economic, smalls company are the first customers and have found lower cost and flexible capabilities.</p>
<p><strong>DDD (<a href="http://domaindrivendesign.org/" target="_blank">Domain Driven Design</a>)</strong><br/>
I had little success at the last barcamp with this subject, this time it was proposed by others much more stronger than me and have made relevant arguments on the benefits of the concept. One of the important point raised we used talking too much technical and framework implementation than focus more on the reality, something that we tend to forget wanting to put our new framework in our code. I talked about <a href="http://www.qi4j.org/" target="_blank">Qi4j</a>, that is not pure DDD implementation, but is for me the best way to modelling reality. I want make a demo of my medical record implemented with Qi4j to really prove that this approach is relevant.<br/>
Of course I’m convinced that a DDD refactoring of an existing code is difficult. DDD is a best practice and a new way of development vision. Have to follow for sure …</p>
<p>Thank you again to the organizers. It is always a good opportunity to exchange. And i hope Google will open their doors as often as possible;)</p></div>
    </content>
    <updated>2009-04-05T19:20:31Z</updated>
    <category term="Anglais"/>
    <category term="Eclipse"/>
    <category term="Java"/>
    <category term="cloud-computing"/>
    <category term="ddd"/>
    <category term="qi4j"/>
    <author>
      <name>Sébastien Letélié</name>
    </author>
    <source>
      <id>http://www.itaware.eu</id>
      <link href="http://www.itaware.eu/category/anglais/eclipse/feed/" rel="self" type="application/atom+xml"/>
      <link href="http://www.itaware.eu" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com" rel="hub" type="text/html"/>
      <link href="http://superfeedr.com/hubbub" rel="hub" type="text/html"/>
      <subtitle>Sébastien Letélié and Cyril Balit weblog</subtitle>
      <title>I.T. aware » Eclipse</title>
      <updated>2010-06-09T06:16:15Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-7170390006315916505.post-5440663940511039042</id>
    <link href="http://richclientplatform.blogspot.com/feeds/5440663940511039042/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=7170390006315916505&amp;postID=5440663940511039042" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/7170390006315916505/posts/default/5440663940511039042" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/7170390006315916505/posts/default/5440663940511039042" rel="self" type="application/atom+xml"/>
    <link href="http://richclientplatform.blogspot.com/2009/04/got-bug-who-ya-gonna-call.html" rel="alternate" type="text/html"/>
    <title>Got a bug? Who ya gonna call?</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><a href="http://2.bp.blogspot.com/_nS4H4MZyJis/SddhddXDGMI/AAAAAAAAAIo/gl6tHAwslps/s1600-h/software_bug.jpg"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5320828643486931138" src="http://2.bp.blogspot.com/_nS4H4MZyJis/SddhddXDGMI/AAAAAAAAAIo/gl6tHAwslps/s200/software_bug.jpg" style="float: left; margin: 0 10px 10px 0; cursor: pointer; cursor: hand; width: 200px; height: 166px;"/></a>

<p>No one!</p>

<p>Seriously, this is the problem we face all the time when users run into a problem with our software. They don't call, they figure out an inefficient work around, they get frustrated, or stop using the software. It's counter intuitive but I've seen it over and over again. The reasons and excuses are endless but it all boils down to the fact that few problems are ever going to make it back to you.</p>

<p>Have you read Joel Spolsky's <a href="http://www.joelonsoftware.com/articles/fog0000000043.html">The Joel Test: 12 Steps to Better Code</a>? You should. I like it enough to add a thirteenth step, <b>log all error messages</b>. Logging errors to a file that no one reads doesn't count. You need to track the errors so that you can be proactive in finding solutions.</p>

<p>We took Manoel Marques's <a href="http://www.ibm.com/developerworks/library/os-eclog/">Plugging in a logging framework for Eclipse plug-ins</a> and extended it so all errors are logged in a database, emailed to our user support group and appropriate software developers. We've even gone as far as having <a href="http://www.mediawiki.org/wiki/MediaWiki">wiki</a> pages that shows the latest trends in real time.</p>

<p>This doesn't mean we're being constantly interrupted during our work day. But it does give us the flexibility to monitor users and jump in to solve either a usability, training, or software bug issue.</p>

<p>Eclipse is robust. I've been amazed at how well it handles nasty NullPointerExceptions without crashing. Don't get me wrong, it is a good thing but it can hide problems from the user. In alot of cases our users don't know they are in trouble until we burst into their office like <a href="http://dailyblabber.ivillage.com/entertainment/Ghostbusters-Photograph-C12119601.jpg">Murray, Aykroyd, and Ramis</a> looking to bust up a few ghosts.</p>

<p>We found it a great help to extend Marques's code to allow us to customize the logging properties. We allow log properties in the following order.</p>

<dl>
  <dt>Load from the users home account</dt>
   <dd>We can drop a custom logging properties file in the users account, restart our application and we can monitor whats happening in greater detail.</dd>
  <dt>Load from command line</dt>
   <dd>Customize logging from the run configuration dialog. Developers use this to avoid inundating the group with errors.</dd>
  <dt>Load from bundle</dt>
   <dd>This is what is shipped to our clients. Thanks to Eclipse plugin fragments each client gets to setup their own settings.</dd>
  <dt>Load from default</dt>
   <dd>In case the log properties file is broken, we have a default setup. Paranoid you say. Yep!</dd>
</dl>

<p>We have a set of standard logging tags. When you playback the log file, think airplane black boxes, it makes it easier to figure out what the user was doing leading up to their problem.</p>

<span style="font-family: courier new; font-size: 85%;">
<pre>public interface ILoggingTag {
    public static final String DELIMITER = ":";
    public static final String SPACE = " ";
    public static final String CREATE = "CREATE";
    public static final String OPEN = "OPEN";
    public static final String CLOSE = "CLOSE";
    public static final String START = "START";
    public static final String STOP = "STOP";
    public static final String FINISH = "FINISH";
    public static final String DELETE = "DELETE";
    public static final String CANCEL = "CANCEL";
    //......
    public static final String PLUGIN_START = PLUGIN + DELIMITER + START + SPACE;
    public static final String PLUGIN_STOP = PLUGIN + DELIMITER + STOP + SPACE;
    public static final String RESOURCE_OPEN = RESOURCE + DELIMITER + OPEN + SPACE;
    public static final String RESOURCE_CLOSE = RESOURCE + DELIMITER + CLOSE + SPACE;
}
</pre></span>

<p>Our code looks like this.</p>
<span style="font-family: courier new; font-size: 85%;">
<pre>    @Override
    public void init(IEditorSite site, IEditorInput input) {
        //...
        logger.info(ILoggingTag.EDITOR_CREATE + input.getName());
    }

    @Override
    public void dispose() {
        log.debug(ILoggingTag.RESOURCE_CLOSE + getEditorInput().getName());
        //...
    }
</pre></span>

<p>We log messages to the users log file, to a <a href="http://www.postgresql.org/">PostgreSQL</a> database, and send emails. Having errors stored in a database allows use to generate wiki reports showing the latest trends in usage, bugs, etc.</p>

<p>The payback; obviously fewer bugs but what was really important was a more relaxed user community willing to help use improve the software. In many cases we're not tracking down software bugs but working to improve software usability. Users want to use our software, I have more time to spend writing new code, and tracking down bugs takes less time.</p><div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/7170390006315916505-5440663940511039042?l=richclientplatform.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2009-04-04T16:40:29Z</updated>
    <published>2009-04-04T11:18:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="logging"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="eclipse rcp"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="log4j"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="eclipse ide"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="postgres"/>
    <author>
      <name>David Kyle</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/01188144177878844017</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-7170390006315916505</id>
      <author>
        <name>David Kyle</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/01188144177878844017</uri>
      </author>
      <link href="http://richclientplatform.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/7170390006315916505/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://richclientplatform.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <title>Eclipse RCP</title>
      <updated>2010-03-09T15:19:03Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-3894227311622961549.post-5495936961933499236</id>
    <link href="http://eclipse-committer-reps.blogspot.com/feeds/5495936961933499236/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=3894227311622961549&amp;postID=5495936961933499236" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/3894227311622961549/posts/default/5495936961933499236" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/3894227311622961549/posts/default/5495936961933499236" rel="self" type="application/atom+xml"/>
    <link href="http://eclipse-committer-reps.blogspot.com/2009/04/march-2009-eclipse-board-meeting.html" rel="alternate" type="text/html"/>
    <title>March 2009 Eclipse Board Meeting</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><span><p>While most EclipseCon attendees were enjoying the excellent tutorials or participating in the annual Members Meeting, the Eclipse Board was quietly having our quarterly face to face board meeting. As usual, here is a brief summary of our meeting.<br/></p><p><strong>Elections</strong>. We said goodbye to elected Board Members stepping down at the end of their terms: Robert Day, Mik Kersten, Jeff McAffer, Emma McGrattan and Tracy Ragan. The committer reps would especially like to recognize our fellow reps, Mik and Jeff. Jeff has been on the Board for several years and has contributed extensively to the direction of Eclipse, both in his project leadership and participation and at the Board level. I have personally worked with Mik over the past year on committer issues, and he is a strong community advocate, in addition to leading one of the coolest projects at Eclipse, <a href="http://www.eclipse.org/mylyn/">Mylyn</a>. To this year's re-elected Committer Reps, Chris Aniszczyk, myself (Doug Gaff) and Ed Merks, we welcome newly-elected Boris Bokowski to our ranks. Boris has a long history with Eclipse and will serve the committer population well.<br/></p><p><strong>Key Performance Indicators</strong>. At every Board meeting, we review a large deck of slides called KPI's. These slides summarize progress on the Strategic Initiatives for the Foundation, membership statistics, and other vitality metrics such as site traffic, download stats, project activity, EPIC stats, etc. While some of the information is Board confidential, much of it can and should be shared with the public. Doug and Mike agreed to work on publishing some of the KPI's to the community for better visibility. Stay tuned.<br/></p><p><strong>EclipseCon</strong>. We reviewed the statistics on EclipseCon registration and expenses. While attendance was down this year, anecdotally because of attendee travel restrictions, the conference was still very well attended. Bjorn and the EclipseCon staff worked diligently to keep expenses in check with income while not affecting the quality of the conference. You probably didn't even notice the cost-savings measures, as most were completely hidden. The food, beverages, receptions, and wifi were all on par with past years. The Board formally recognized Bjorn for his incredible commitment to making EclipseCon a great conference.<br/></p><p><strong>Git</strong>. Yes, we discussed git, too, although <a href="http://douggaff.blogspot.com/2009/04/eclipsecon-2009-and-git.html">my other post</a> has much more current information on the topic.<br/></p><p><strong>Automotive Industry Working Group</strong>. Ralph Mueller, Director of Ecosystem in Europe, presented an update to the Board on the <a href="http://wiki.eclipse.org/Auto_IWG">Automotive Industry Working Group</a> currently under discussion with industry participants. This will be the second IWG created at Eclipse. (<a href="http://www.eclipse.org/org/press-release/20090310_pulsar.php">Pulsar</a>, the Mobile Working Group, is the first.) In short, things are progressing nicely and Ralph hopes the group will form later this year. The Board feels very strongly that Industry Working Groups are a critical future direction for the Foundation and Ecosystem, and we're excited by the progress.<br/></p><p><strong>Membership and Finances</strong>. It is no secret that the entire world is in a massive economic recession. The Eclipse Foundation and Eclipse Member companies are not immune to this reality, and Foundation has experienced a net drop in membership. The Executive Director (Mike Milinkovich) and the Financial Officer (Chris Larocque) presented a very detailed revised 2009 budget that cut expenses in several areas while still preserving the level of service and staffing that the community has come to rely upon from the Foundation. The board was very impressed with the detail and thoroughness of the analysis, and we want to remind the community that the Eclipse Foundation is in excellent managerial hands. On an additional positive note, we'd like to welcome our first Enterprise level member, <a href="http://www.rim.com/">Research in Motion (RIM)</a>.<br/></p><p>Finally, as is apparently a tradition for March Board Meetings, we had a guest speaker. (Think "tutorial envy".) <a href="http://www.johnhagel.com/index.shtml">John Hagel</a> from the Deloitte Center for Edge Innovation spoke to us about "Shaping Strategies". While I don't expect to do this topic justice in a single sentence, Shaping Strategies are proactive market strategies that leverage disruptive technology and allow a company to instantly grab market share in a new space. Think of Google's foray into the telecom space as one example. Check out <a href="http://harvardbusinessonline.hbsp.harvard.edu/b01/en/common/item_detail.jhtml?id=R0810E">John's paper</a> for a much better explanation.</p></span><div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/3894227311622961549-5495936961933499236?l=eclipse-committer-reps.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2009-04-03T19:59:19Z</updated>
    <published>2009-04-03T19:55:00Z</published>
    <author>
      <name>Doug Gaff</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/05648526940839535738</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-3894227311622961549</id>
      <author>
        <name>Chris Aniszczyk (zx)</name>
        <email>caniszczyk@gmail.com</email>
        <uri>http://www.blogger.com/profile/14067673601779593093</uri>
      </author>
      <link href="http://eclipse-committer-reps.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/3894227311622961549/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://eclipse-committer-reps.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>Welcome to the Eclipse committer representatives web presence.</subtitle>
      <title>The Eclipse Committer Reps</title>
      <updated>2010-06-08T06:36:28Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-1094388580279212135.post-5926110378443220928</id>
    <link href="http://lmap.blogspot.com/feeds/5926110378443220928/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=1094388580279212135&amp;postID=5926110378443220928" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/1094388580279212135/posts/default/5926110378443220928" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/1094388580279212135/posts/default/5926110378443220928" rel="self" type="application/atom+xml"/>
    <link href="http://lmap.blogspot.com/2009/03/what-great-eclipsecon.html" rel="alternate" type="text/html"/>
    <title>What a great EclipseCon!</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">As anyone on this <a href="http://www.planeteclipse.org/planet/">planet</a> knows, last week was <a href="http://www.eclipsecon.org/">EclipseCon</a> time. As always, it was a great experience. Seriously... How many conferences can one discuss, during lunch, the <a href="http://en.wikipedia.org/wiki/Double_checked_locking_pattern">double-checked locking pattern</a> or how EMF could support facets? (thanks <a href="http://thegordian.blogspot.com/">Eike</a> and <a href="http://kenn-hussey.blogspot.com/">Kenn</a>)<br/><br/>All talks I've attended were awesome. It's reinvigorating to see all the energy and technology happening behind Eclipse: from known technologies to hot topics like <a href="http://www.eclipse.org/e4/">E4</a> and <a href="http://wiki.eclipse.org/Xtext">XText</a>.<br/><br/>And it gets better! The people at the conference are simply fantastic. Just to name a few, it was great to chat with <a href="http://divby0.blogspot.com/search/label/eclipse">Nick</a>, <a href="http://mea-bloga.blogspot.com/">Chris</a>, and <a href="http://borisoneclipse.blogspot.com/">Boris </a>and to finally meet in person <a href="http://tom-eclipse-dev.blogspot.com/">Tom</a>, <a href="http://dev.eclipse.org/blogs/kevinmcguire">Kevin</a>, <a href="http://www.peterfriese.de/">Peter</a>, and Paul Webster. There are many others that, although not listed here, have contributed to make last week a memory that will not fade away from my mind.<br/><br/>A bit more personal, I like to think that the <a href="http://www.eclipsecon.org/2009/sessions?id=272">EMF tutorial</a> was well received. We chose to go deeper into several subjects instead of mechanically read all the slides. Unfortunately, because of that, we didn't cover all the material. The offer to be available to answer individual questions after the conference is still valid ;-)<br/><br/>I got some positive reviews for the <a href="http://www.eclipsecon.org/2009/sessions?id=565">modeled UI in e4</a> talk, which definitely doesn't seem to agree with the <a href="http://demo.birt-exchange.com/iportal/iv?connectionHandle=Q7whmBpUho%2Btg5MUYUgZxq1%2BrbtKHLkAq7RmnwSbegyRYEMWxKR8m0pEgUAaXCZHB8IjbbiKMgTuN20jQhwCeYK1hl9lo5oNYQrZtoylh4GYpuOq8tav1azRqIbjm2KEtge8WzpMA8ELhAa3jnpKVQkAWyReDcegY1w5eBs0j2cPwYCGunk7vDZvZZsbFGFIGmQMxVcJEAWJuDtctmcFW5Bem4qhXb%2BujApLPYBBGl2NfrUDopQBuUMkRgXFA6i2QQ%3D%3D&amp;__svg=false&amp;__masterpage=true&amp;__locale=en_US&amp;serverurl=http%3A%2F%2Fes2-N%3A8000&amp;volume=BIRT%20Exchange&amp;repositoryType=Enterprise&amp;closex=true&amp;iPortalID=KMUEHPUOUAUICBFSTQMSTJYJVWUTMNOVKVKM&amp;__report=%2F%24%24%24Transient%2F642.RPTDOCUMENT&amp;__report=/$$$Transient/642.RPTDOCUMENT&amp;viewerId=js3">official numbers</a>. I wonder if we were too "slide driven" while the folks attending were expecting to see more action. Or perhaps my delusional-self is correct and people did mistake the '+1' for the '-1' <a href="http://eclipsecon.blogspot.com/2009/03/vote-with-your-feet.html">bucket</a>. Oh well... I am sure we'll do better the next time.<br/><br/>Finally, a special thanks to <a href="http://inside-swt.blogspot.com/">Steve</a>: I was peacefully seated at the closing event when he handed me a winning deck for Thursday's <a href="http://www.eclipsecon.org/2009/poker">poker game</a>. My son loved the RC boat and will enjoy playing with it on summer time.<br/><br/>Another finally... The EMF <a href="http://www.amazon.com/Eclipse-Modeling-Framework-2-0-2nd/dp/0321331885/ref=sr_1_2/105-2883004-8539639?ie=UTF8&amp;s=books&amp;qid=1188607318&amp;sr=1-2">book</a> was the first one to be sold out at EclipseCon!  I had the pleasure to autograph a few copies. On the subject, EMF and modeling in general are everywhere. It is good to see something I helped built making others more productive ;-)<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/1094388580279212135-5926110378443220928?l=lmap.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2009-03-30T03:11:46Z</updated>
    <published>2009-03-29T23:12:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="personal"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="eclipse"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="tech"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="english"/>
    <author>
      <name>Marcelo Paternostro</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/05767041268062110476</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-1094388580279212135</id>
      <author>
        <name>Marcelo Paternostro</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/05767041268062110476</uri>
      </author>
      <link href="http://lmap.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/1094388580279212135/posts/default/-/eclipse" rel="self" type="application/atom+xml"/>
      <link href="http://lmap.blogspot.com/search/label/eclipse" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>Ideas, rants, comments, and... well... digressions.</subtitle>
      <title>My Own Digressions</title>
      <updated>2010-03-24T15:55:00Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://sureshkrishna.wordpress.com/?p=227</id>
    <link href="http://sureshkrishna.wordpress.com/2009/03/25/eclipsecon-2009-day1-day2-round-up/" rel="alternate" type="text/html"/>
    <title>EclipseCon 2009 Day1-Day2 Round up</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">EclipseCon is one of the cool conferences that i want to attend every year. Even if you don’t use all the technologies and projects, this is a good time for you to get to know what’s happening in the community and see some cool demos and case studies. I attended first 2 days and gave [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sureshkrishna.wordpress.com&amp;blog=579603&amp;post=227&amp;subd=sureshkrishna&amp;ref=&amp;feed=1"/></div>
    </summary>
    <updated>2009-03-25T23:43:13Z</updated>
    <category term="Eclipse"/>
    <category term="eclipsecon"/>
    <category term="2009"/>
    <author>
      <name>sureshkrishna</name>
    </author>
    <source>
      <id>http://sureshkrishna.wordpress.com</id>
      <logo>http://www.gravatar.com/blavatar/919c48daadce5f0229c236f0edd06692?s=96&amp;d=http://s2.wp.com/i/buttonw-com.png</logo>
      <link href="http://sureshkrishna.wordpress.com/tag/eclipse/feed/?mrss=off" rel="self" type="application/atom+xml"/>
      <link href="http://sureshkrishna.wordpress.com" rel="alternate" type="text/html"/>
      <link href="http://sureshkrishna.wordpress.com/osd.xml" rel="search" type="application/opensearchdescription+xml"/>
      <link href="http://sureshkrishna.wordpress.com/?pushpress=hub" rel="hub" type="text/html"/>
      <subtitle>Commonsense in Technology</subtitle>
      <title>Sciology = Science + Technology » Eclipse</title>
      <updated>2010-04-27T13:55:04Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-731582289934443001.post-8282976653036136017</id>
    <link href="http://perlipse.blogspot.com/feeds/8282976653036136017/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=731582289934443001&amp;postID=8282976653036136017" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/731582289934443001/posts/default/8282976653036136017?v=2" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/731582289934443001/posts/default/8282976653036136017?v=2" rel="self" type="application/atom+xml"/>
    <link href="http://feedproxy.google.com/~r/PerlipseDevelopment/~3/lOYRlFqLRLw/any-antlr-experts-out-there.html" rel="alternate" type="text/html"/>
    <title>any antlr experts out there?</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">i'm having some difficulties getting my token building logic correct, anyone able to provide some assistance?<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/731582289934443001-8282976653036136017?l=perlipse.blogspot.com" width="1"/></div><img height="1" src="http://feeds.feedburner.com/~r/PerlipseDevelopment/~4/lOYRlFqLRLw" width="1"/></div>
    </content>
    <updated>2009-03-24T16:45:11Z</updated>
    <published>2009-03-24T16:45:00Z</published><feedburner:origlink xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://perlipse.blogspot.com/2009/03/any-antlr-experts-out-there.html</feedburner:origlink>
    <author>
      <name>Jae Gangemi</name>
      <email>noreply@blogger.com</email>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-731582289934443001</id>
      <author>
        <name>Jae Gangemi</name>
        <email>noreply@blogger.com</email>
      </author>
      <link href="http://perlipse.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://perlipse.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://www.blogger.com/feeds/731582289934443001/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" rel="next" type="application/atom+xml"/>
      <link href="http://feeds.feedburner.com/PerlipseDevelopment" rel="self" type="application/atom+xml"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <title>Perlipse Development</title>
      <updated>2010-06-07T11:54:00Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-6149222994700540078.post-6834091428889071830</id>
    <link href="http://markmelvin.blogspot.com/feeds/6834091428889071830/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=6149222994700540078&amp;postID=6834091428889071830" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/6149222994700540078/posts/default/6834091428889071830" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/6149222994700540078/posts/default/6834091428889071830" rel="self" type="application/atom+xml"/>
    <link href="http://markmelvin.blogspot.com/2008/02/updating-ui-elements-from-command.html" rel="alternate" type="text/html"/>
    <title>Updating UI Elements From Command Handlers</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">I struggled a bit with this tonight so I figured it was worth a post.  I am piddling around with command handlers as part of my background work for my <a href="http://www.eclipsecon.org/2008/?page=sub/&amp;id=388">upcoming talk</a> at <a href="http://www.eclipsecon.org/">EclipseCON</a> (should I keep plugging <a href="http://www.eclipsecon.org/">EclipseCON</a>, or is that enough already?), and one of my simple samples was building on the <i>Hello World, Command</i> <a href="http://www.eclipse.org/pde/">PDE</a> sample.  I wanted a simple toggle command instead of the default push-style command, but I could not get the menu item to toggle state (checked versus unchecked) when I executed my command with the keybinding.  A little searching led me to <a href="http://dev.eclipse.org/newslists/news.eclipse.platform/msg63369.html">this newsgroup post</a>, and an eventual solution.<br/><br/>The secret sauce seems to be:<br/><br/>Make your class implement <code>IElementUpdater</code>:<br/><br/><pre class="brush: java"><br/>public class SampleHandler extends AbstractHandler implements IElementUpdater {<br/>    //...<br/>}<br/></pre><br/><br/>Implement said interface with your required logic (this code is for my particular case):<br/><pre class="brush: java"><br/>/**<br/> *@Override<br/> */<br/>public void updateElement(UIElement element,<br/>                          Map parameters) {<br/>    element.setChecked(this.image != null);<br/>}<br/></pre><br/><br/>Now, you need to get the command service to call <code>updateElement</code>.  The easiest way to do this is in your <code>execute</code> method like so:<br/><br/><pre class="brush: java"><br/>public Object execute(ExecutionEvent event) throws ExecutionException {<br/><br/>    //... actually do something here ...<br/><br/>    // Refresh the UI elements<br/>    IWorkbenchWindow window = HandlerUtil.getActiveWorkbenchWindowChecked(event);<br/>    ICommandService service = (ICommandService) window.getService(ICommandService.class);<br/>    service.refreshElements(event.getCommand().getId(), null);<br/>    return null;<br/>}<br/></pre><div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/6149222994700540078-6834091428889071830?l=markmelvin.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2009-03-24T13:29:43Z</updated>
    <published>2008-02-11T02:54:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="eclipse"/>
    <author>
      <name>Mark Melvin</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/14024450171676773880</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-6149222994700540078</id>
      <author>
        <name>Mark Melvin</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/14024450171676773880</uri>
      </author>
      <link href="http://markmelvin.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/6149222994700540078/posts/default/-/eclipse" rel="self" type="application/atom+xml"/>
      <link href="http://markmelvin.blogspot.com/search/label/eclipse" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">This is not a blog, nor is it a journal.  It appears that you have stumbled upon a paradoxical anomoly.
<br/><br/>
<i>If you choose to leave, turn to page 26.</i><br/>
<i>If you choose to continue, turn to page 111.</i><br/></div>
      </subtitle>
      <title>I Refuse To Blog</title>
      <updated>2010-03-14T20:48:59Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-6149222994700540078.post-3699592067434339668</id>
    <link href="http://markmelvin.blogspot.com/feeds/3699592067434339668/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=6149222994700540078&amp;postID=3699592067434339668" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/6149222994700540078/posts/default/3699592067434339668" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/6149222994700540078/posts/default/3699592067434339668" rel="self" type="application/atom+xml"/>
    <link href="http://markmelvin.blogspot.com/2008/09/ant-wizardry.html" rel="alternate" type="text/html"/>
    <title>Ant Wizardry</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">I've been spending a lot of time messing around with builds lately and that means reacquainting myself with my old friend, <a href="http://ant.apache.org/">Ant</a>.  Back in the old days, I always wished there was an easy way to do simple string replacement/concatenation, creating a new property as a result.  Sure you could use the <a href="https://sourceforge.net/projects/antcontrib/">antcontrib</a> tasks, but I usually did not have access to them when it really counted and it was one more dependency to worry about.  The other option is to mess with temporary files or some other naughty-feeling hackery (I think I used <a href="http://ant.apache.org/manual/CoreTasks/pathconvert.html">pathconvert</a> once to do something like this and felt really dirty about it).<br/><br/>Anyway, as of <a href="http://ant.apache.org/manual/">Ant 1.7</a>, check out what is possible.  Run the following build file:<br/><br/><pre class="brush: xml"><br/>&lt;project name="test" default="test"&gt;<br/><br/>  &lt;target name="test"&gt;<br/><br/>    &lt;loadresource property="abc"&gt;<br/>      &lt;string value="One two three four" /&gt;<br/>    &lt;/loadresource&gt;<br/>    &lt;echo message="abc=${abc}" /&gt;<br/><br/>    &lt;loadproperties&gt;<br/>      &lt;string value="one=two${line.separator}three=four"/&gt;<br/>    &lt;/loadproperties&gt;<br/>    &lt;echo message="one=${one}" /&gt;<br/>    &lt;echo message="three=${three}" /&gt;<br/><br/>    &lt;loadresource property="test"&gt;<br/>      &lt;string value="${one} two ${three} four" /&gt;<br/>    &lt;/loadresource&gt;<br/>    &lt;echo message="test=${test}" /&gt;<br/><br/>    &lt;loadresource property="test2"&gt;<br/>      &lt;string value="${test}" /&gt;<br/>      &lt;filterchain&gt;<br/>        &lt;replaceregex pattern="f(ou)r" <br/>                      replace="f\1l"<br/>                      flags="g"/&gt;<br/>      &lt;/filterchain&gt;<br/>    &lt;/loadresource&gt;<br/>    &lt;echo message="test2=${test2}" /&gt;<br/><br/>  &lt;/target&gt;<br/><br/>&lt;/project&gt;<br/></pre><br/><br/>And you will see this output:<br/><br/><pre class="brush: plain"><br/>C:\testing\&gt;ant -f testbuild.xml<br/>Buildfile: testbuild.xml<br/><br/>test:<br/>     [echo] abc=One two three four<br/>     [echo] one=two<br/>     [echo] three=four<br/>     [echo] test=two two four four<br/>     [echo] test2=two two foul foul<br/><br/>BUILD SUCCESSFUL<br/>Total time: 0 seconds<br/></pre><br/><br/>I wish I had this in my back pocket about four years ago...<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/6149222994700540078-3699592067434339668?l=markmelvin.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2009-03-24T13:25:05Z</updated>
    <published>2008-09-10T17:44:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="eclipse"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="programming"/>
    <author>
      <name>Mark Melvin</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/14024450171676773880</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-6149222994700540078</id>
      <author>
        <name>Mark Melvin</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/14024450171676773880</uri>
      </author>
      <link href="http://markmelvin.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/6149222994700540078/posts/default/-/eclipse" rel="self" type="application/atom+xml"/>
      <link href="http://markmelvin.blogspot.com/search/label/eclipse" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">This is not a blog, nor is it a journal.  It appears that you have stumbled upon a paradoxical anomoly.
<br/><br/>
<i>If you choose to leave, turn to page 26.</i><br/>
<i>If you choose to continue, turn to page 111.</i><br/></div>
      </subtitle>
      <title>I Refuse To Blog</title>
      <updated>2010-03-14T20:48:59Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-11200164.post-9137207996289952548</id>
    <link href="http://blog.nirav.name/feeds/9137207996289952548/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=11200164&amp;postID=9137207996289952548" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/11200164/posts/default/9137207996289952548" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/11200164/posts/default/9137207996289952548" rel="self" type="application/atom+xml"/>
    <link href="http://blog.nirav.name/2009/03/evars-update.html" rel="alternate" type="text/html"/>
    <title>EVars Update</title>
    <summary>Based on the awesome feedback, I have been doing some offline development on EVars plug-in lately. I have added some basic documentation on wiki. Installation is now easy, let P2 do the work to install/update the plug-in (it's a struggle to host update-site with google code).One of the most exciting feature (Which I can't stop talking about) is value based filtering. Now you can have all the</summary>
    <updated>2009-03-23T03:29:56Z</updated>
    <published>2009-03-23T02:58:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="Evars"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="Debug"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="Eclipse"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="OPath"/>
    <author>
      <name>Nirav Thaker</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/07204297663478577248</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-11200164</id>
      <author>
        <name>Nirav Thaker</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/07204297663478577248</uri>
      </author>
      <link href="http://blog.nirav.name/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/11200164/posts/default/-/Eclipse" rel="self" type="application/atom+xml"/>
      <link href="http://blog.nirav.name/search/label/Eclipse" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>Thoughts on Programming, Eclipse and Open Source.</subtitle>
      <title>Nirav's Contemplations</title>
      <updated>2010-06-03T09:36:00Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-19398645.post-6100923337960645997</id>
    <link href="http://code.google.com/p/metamodelsemantics/" rel="related" type="text/html"/>
    <link href="http://voelterblog.blogspot.com/feeds/6100923337960645997/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=19398645&amp;postID=6100923337960645997" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/19398645/posts/default/6100923337960645997" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/19398645/posts/default/6100923337960645997" rel="self" type="application/atom+xml"/>
    <link href="http://voelterblog.blogspot.com/2009/03/semantics-for-xtext-languages.html" rel="alternate" type="text/html"/>
    <title>Semantics for Xtext Languages</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Many languages defined with oAW Xtext have aspects in common. One way of exploiting this is to modularize language definitions and then composing specific languages from these modules. However, because of limitations of the current (4.3.1) version of Xtext, this is not necessarily a very viable approach. <br/><br/>The <a href="http://code.google.com/p/metamodelsemantics/">semantic annotation toolkit</a> provides support for another approach. Languages are built from scratch (i.e. there is no reuse between grammar fragments), but the semantics of various language building blocks are still reusable. By annotating grammar elements with semantic annotations, the necessary Xtext infrastructure can be generated to make those grammar elements behave in a specific way. <br/><br/>Technically, this is implemented by generating extensions and checks as well as by model transformations and extensions of the meta- model. <br/><br/>Take a look at the latest documentation on the <a href="http://code.google.com/p/metamodelsemantics/downloads/list">download page</a> or watch this <a href="http://metamodelsemantics.googlecode.com/files/semanticAnnotationsIntroScreencast-0.3.zip">introductory screencast</a>.<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/19398645-6100923337960645997?l=voelterblog.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2009-03-09T08:06:58Z</updated>
    <published>2009-03-09T08:05:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="openarchitectureware"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="eclipse"/>
    <author>
      <name>Markus Voelter</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/17202827990748358797</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-19398645</id>
      <author>
        <name>Markus Voelter</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/17202827990748358797</uri>
      </author>
      <link href="http://voelterblog.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/19398645/posts/default/-/eclipse" rel="self" type="application/atom+xml"/>
      <link href="http://voelterblog.blogspot.com/search/label/eclipse" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://www.blogger.com/feeds/19398645/posts/default/-/eclipse/-/eclipse?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <title>voelterblog</title>
      <updated>2010-06-06T17:17:04Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-1759528437624391151.post-8652730064133889006</id>
    <link href="http://fire-change-event.blogspot.com/feeds/8652730064133889006/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=1759528437624391151&amp;postID=8652730064133889006" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/1759528437624391151/posts/default/8652730064133889006" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/1759528437624391151/posts/default/8652730064133889006" rel="self" type="application/atom+xml"/>
    <link href="http://fire-change-event.blogspot.com/2009/02/bind-viewer-in-one-statement-with.html" rel="alternate" type="text/html"/>
    <title>Bind a viewer in one statement with ViewerSupport</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">We've added the ViewerSupport class to simplify setting up viewers (including tree viewers), usually in just one statement.<br/><br/>Before:<br/><pre><br/>ObservableListContentProvider contentProvider =<br/>    new ObservableListContentProvider();<br/>viewer.setContentProvider( contentProvider );<br/>viewer.setLabelProvider(<br/>    new ObservableMapLabelProvider(<br/>      BeansObservables.observeMaps(<br/>        contentProvider.getKnownElements(),<br/>        new String[] {<br/>          "title", "releaseDate", "director", "writer" } ) ) );<br/>viewer.setInput(BeansObservables.observeList(model, "movies"));<br/></pre><br/><br/>After:<br/><pre><br/>ViewerSupport.bind(<br/>    viewer,<br/>    BeansObservables.observeList(model, "movies"),<br/>    BeanProperties.values(new String[] {<br/>      "title", "releaseDate", "director", "writer" } ) );<br/></pre><div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/1759528437624391151-8652730064133889006?l=fire-change-event.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2009-02-14T20:30:36Z</updated>
    <published>2009-02-12T16:27:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="viewers"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="properties"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="databinding"/>
    <author>
      <name>Matthew Hall</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/15193859932143053469</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-1759528437624391151</id>
      <author>
        <name>Brad Reynolds</name>
        <email>noreply@blogger.com</email>
      </author>
      <link href="http://fire-change-event.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/1759528437624391151/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://fire-change-event.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://www.blogger.com/feeds/1759528437624391151/posts/default?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <subtitle>Recent developments in the JFace Data Binding project.</subtitle>
      <title>fireChangeEvent()</title>
      <updated>2010-05-03T06:51:35Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-1759528437624391151.post-2921170528961129721</id>
    <link href="http://fire-change-event.blogspot.com/feeds/2921170528961129721/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=1759528437624391151&amp;postID=2921170528961129721" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/1759528437624391151/posts/default/2921170528961129721" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/1759528437624391151/posts/default/2921170528961129721" rel="self" type="application/atom+xml"/>
    <link href="http://fire-change-event.blogspot.com/2009/02/master-detail-editing-with-multiple.html" rel="alternate" type="text/html"/>
    <title>Master-detail editing with multiple selection</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">A few weeks ago we released DuplexingObservableValue.  This class, among other things, helps make possible master-detail editing on a multiple selection:<br/><br/><a href="http://2.bp.blogspot.com/_H_VwLOIjZ1w/SZPRL7TldwI/AAAAAAAAAAk/LpJYYxbbwHU/s1600-h/DuplexingObservableValue_frame1.JPG"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5301811189173810946" src="http://2.bp.blogspot.com/_H_VwLOIjZ1w/SZPRL7TldwI/AAAAAAAAAAk/LpJYYxbbwHU/s400/DuplexingObservableValue_frame1.JPG" style="margin: 0pt 10px 10px 0pt; cursor: pointer; width: 400px; height: 236px;"/></a><br/><p>Because the selected movies have the same director and same writer, those values are displayed in the master-detail fields at the bottom.  However, since they have different titles and release dates, those fields use a stand-in "multi value" instead.</p><p>Editing the release date field simultaneously changes the release date of all movies in the selection.</p><a href="http://1.bp.blogspot.com/_H_VwLOIjZ1w/SZPY22eUJcI/AAAAAAAAAAs/LEtrHBp2gFI/s1600-h/DuplexingObservableValue_frame2.JPG"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5301819623192405442" src="http://1.bp.blogspot.com/_H_VwLOIjZ1w/SZPY22eUJcI/AAAAAAAAAAs/LEtrHBp2gFI/s400/DuplexingObservableValue_frame2.JPG" style="margin: 0pt 10px 10px 0pt; cursor: pointer; width: 400px; height: 236px;"/></a><br/><p>Here's the code that was used to hook up the detail fields to the multi-selection of the viewer:<br/></p><pre>IObservableList selections = ViewerProperties.multipleSelection()<br/> .observe(viewer);<br/><br/>dbc.bindValue(<br/> WidgetProperties.text(SWT.Modify).observe(title),<br/> DuplexingObservableValue.withDefaults(<br/>     BeanProperties.value("title").observeDetail(selections),<br/>     "", "&lt;Multiple titles&gt;"));<br/><br/>dbc.bindValue(<br/> WidgetProperties.text(SWT.Modify).observe(releaseDate),<br/> DuplexingObservableValue.withDefaults(<br/>     BeanProperties.value("releaseDate").observeDetail(selections),<br/>     "", "&lt;Multiple dates&gt;"));<br/><br/>dbc.bindValue(<br/> WidgetProperties.text(SWT.Modify).observe(director),<br/> DuplexingObservableValue.withDefaults(<br/>     BeanProperties.value("director").observeDetail(selections),<br/>     "", "&lt;Multiple directors&gt;"));<br/><br/>dbc.bindValue(<br/> WidgetProperties.text(SWT.Modify).observe(writer),<br/> DuplexingObservableValue.withDefaults(<br/>     BeanProperties.value("writer").observeDetail(selections),<br/>     "", "&lt;Multiple writers&gt;"));<br/></pre>See the full code listing for this snippet <a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/snippets/Snippet028DuplexingObservableValue.java?view=markup">here</a>.<br/><br/>Disclaimer: The method DuplexingObservableValue.withDefaults() was added <span style="font-style: italic;">after</span> the 3.5M5 milestone, so in order to use it you need to check out the databinding projects from CVS HEAD, or be using a more recent integration build.<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/1759528437624391151-2921170528961129721?l=fire-change-event.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2009-02-12T16:33:20Z</updated>
    <published>2009-02-12T07:09:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="duplexing"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="multiselect"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="observables"/>
    <author>
      <name>Matthew Hall</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/15193859932143053469</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-1759528437624391151</id>
      <author>
        <name>Brad Reynolds</name>
        <email>noreply@blogger.com</email>
      </author>
      <link href="http://fire-change-event.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/1759528437624391151/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://fire-change-event.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://www.blogger.com/feeds/1759528437624391151/posts/default?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <subtitle>Recent developments in the JFace Data Binding project.</subtitle>
      <title>fireChangeEvent()</title>
      <updated>2010-05-03T06:51:35Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-25523756.post-4744493237611920932</id>
    <link href="http://tmober.blogspot.com/feeds/4744493237611920932/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=25523756&amp;postID=4744493237611920932" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/25523756/posts/default/4744493237611920932" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/25523756/posts/default/4744493237611920932" rel="self" type="application/atom+xml"/>
    <link href="http://tmober.blogspot.com/2009/01/call-for-participation-tm-31m5-test.html" rel="alternate" type="text/html"/>
    <title>Call for participation: TM 3.1m5 test pass on 2-Feb-2009</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">As you're probably aware, the upcoming M5 build of the Eclipse Galileo Train projects is what's going to go on a USB key for EclipseCon. The <a href="http://www.eclipse.org/dsdp/tm">Target Management / RSE</a> team therefore invites all interested parties to do a <a href="http://wiki.eclipse.org/DSDP/TM/Testing/3.1m5">test pass on the TM 3.1m5 candidate</a> on Monday, Feb. 2 2009.<br/><br/>Why should you join?<br/><ul><li>If you use TM as a dependency for your offering, you may want to check that the stuff you need works in m5!<br/></li></ul>What can you do?<br/><ul><li>Just try out the stuff <a class="cssButton" href="javascript:void(0)" id="publishButton" target=""/> that you'd like to work fine, and file a bug if it doesn't. We'll provide a bug reporting template for you, so it's super fast and easy to participate.<br/></li></ul>How long will it take you?<br/><ul><li>If you've just got 1 hour for downloading, installing and trying it out that's a very valuable input for us already. Of course you're free to report enhancement requests as well!<br/></li></ul>Any additional information like the test candidate to download, bug reporting template, and other information will be on the <a href="http://wiki.eclipse.org/DSDP/TM/Testing/3.1m5">Eclipse Wiki</a>. For any other questions, please contact us on the <a href="https://dev.eclipse.org/mailman/listinfo/dsdp-tm-dev">TM mailing list</a>.<br/><br/><span style="font-weight: bold;">Lastest update (1-Feb):</span> Test downloads have been provided, <a href="http://wiki.eclipse.org/DSDP/TM/Testing/3.1m5">instructions are updated</a>. Thanks for joining the public test!<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/25523756-4744493237611920932?l=tmober.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2009-02-02T02:43:40Z</updated>
    <published>2009-01-26T18:18:00Z</published>
    <author>
      <name>Martin Oberhuber</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/02195662278064214049</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-25523756</id>
      <author>
        <name>Martin Oberhuber</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/02195662278064214049</uri>
      </author>
      <link href="http://tmober.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/25523756/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://tmober.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>Martin Oberhuber's thoughts on Eclipse, Java, Target Management and the Community</subtitle>
      <title>Networking Eclipse</title>
      <updated>2010-05-17T04:37:01Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-8808569580414031446.post-7114019422345674425</id>
    <link href="http://my-naked-truth.blogspot.com/feeds/7114019422345674425/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=8808569580414031446&amp;postID=7114019422345674425" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/8808569580414031446/posts/default/7114019422345674425" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/8808569580414031446/posts/default/7114019422345674425" rel="self" type="application/atom+xml"/>
    <link href="http://my-naked-truth.blogspot.com/2009/01/emf-crafting-wonders.html" rel="alternate" type="text/html"/>
    <title>EMF crafting wonders</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><div style="text-align: center;"><br/></div><div>Some days ago, while discussing with a colleague, very clever at electronics I must say,  I was asking myself how to easily achieve command handling with queues. The goal was to asynchronously post/consume commands to pilot <a href="http://thingm.com/">RGB LEDs</a> on a card connected by <a href="http://rxtx.org/">serial USB connection</a>. </div><div><br/></div><div>It came to my mind, that I would have to model something first before coding anything ... ;-)</div><div><br/></div><div>Doing so, I went to think on how to design an application possibly having several "threads" concurrently processing commands posted and/or consumed in queues in transmission (Tx) or reception (Rx).</div><div><br/></div><div>Here is what I finally got after some time :</div><br/><a href="http://4.bp.blogspot.com/_Y-Ndv5dq4hg/SXzUiFAdSoI/AAAAAAAABjM/gHvvprwdcUE/s1600-h/engine.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5295340943805598338" src="http://4.bp.blogspot.com/_Y-Ndv5dq4hg/SXzUiFAdSoI/AAAAAAAABjM/gHvvprwdcUE/s400/engine.png" style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; cursor: hand; width: 359px; height: 400px;"/></a><br/>The central piece is "CmdEngine" owning Qx/Rx queues as well as a list of events, actually kind of recording what temporally happened in the system.<div><br/></div><div>Okay, this is a model ! Where are the "threads", "synchronized", "volatile" ? </div><div><br/></div><div>I know, and in first instance, let me tell you that I prefer <a href="http://www.eclipse.org/articles/Article-Concurrency/jobs-api.html">Jobs</a> to plain threads. As you can see in EngineClient, we introduced an attribute which is actually the core of commands processing ... !</div><div><br/></div><div>Trust me or not, in conjunction with <a href="http://www.eclipse.org/modeling/emf/?project=transaction">EMF Transaction</a> and <a href="http://www.eclipse.org/modeling/emf/?project=query">EMF Query</a>, Jobs are simply a very simple and very efficient solution for creating asynchronous applications in Eclipse. </div><div><br/></div><div>Having simply using code generated from previous model and having built a simple framework using EMF Transaction, <a href="http://www.eclipse.org/gef/">GEF</a> and <a href="http://www.eclipse.org/birt/">BIRT</a>, I came to build this application in 3 week-ends (A video had been a better demo for something moving) :<br/><div><br/></div><div><a href="http://1.bp.blogspot.com/_Y-Ndv5dq4hg/SXzXduoMHJI/AAAAAAAABjU/RlZzL1Hb7k4/s1600-h/XQZ.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5295344167613635730" src="http://1.bp.blogspot.com/_Y-Ndv5dq4hg/SXzXduoMHJI/AAAAAAAABjU/RlZzL1Hb7k4/s400/XQZ.png"/></a></div><div><div><br/></div><div>This application allows to monitor commands posted on queues all in live !</div><div><br/></div><div>I created a sourceforge project : <a href="http://sourceforge.net/projects/xqz/">xqz.sf.net</a> (xqz is for "Cross Queues"). I also made an RCP application available <a href="http://www.metamundi.com/downloads/">here</a>. (Thank you <a href="http://wiki.eclipse.org/index.php/PDEBuild">PDE Build</a> and <a href="http://junit.org/">JUnit</a> !)</div><div><br/></div><div>I'm not sure whether or not this could become an Eclipse technology project, but I had a lot of fun to craft all this MDD/<a href="http://www.eclipse.org/modeling/emft">EMF(T)</a> stuff.</div><div><br/></div><div><a href="http://www.eclipse.org/modeling">Eclipse modeling</a> is just so awesome to me sometimes !</div><div><br/></div><div>Next step record everything thanks to <a href="http://www.eclipse.org/modeling/emf/?project=cdo">CDO</a> (fingers crossed !)</div><div><br/></div><div>regards, </div><div><br/></div><div>-- Lucas</div><div><br/></div></div></div><div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/8808569580414031446-7114019422345674425?l=my-naked-truth.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2009-01-26T06:51:36Z</updated>
    <published>2009-01-25T21:04:00Z</published>
    <author>
      <name>Lucas</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/13230765599128180881</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-8808569580414031446</id>
      <author>
        <name>Lucas</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/13230765599128180881</uri>
      </author>
      <link href="http://my-naked-truth.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/8808569580414031446/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://my-naked-truth.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>This, that, and the other.</subtitle>
      <title>My naked truth</title>
      <updated>2010-03-07T06:54:51Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://dev.eclipse.org/blogs/soatools/?p=14</id>
    <link href="http://dev.eclipse.org/blogs/soatools/2009/01/21/bpmn-webinar/" rel="alternate" type="text/html"/>
    <title>BPMN Webinar</title>
    <summary>The BPMN modeler project will be hosting a webinar on the 12th of February. Please contact us on the BPMN modeler newsgroup if you have specific topics in mind, or have questions about it.</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>The BPMN modeler project will be hosting a <a href="http://live.eclipse.org/node/657">webinar</a> on the 12th of February. Please contact us on the <a href="http://www.eclipse.org/newsportal/thread.php?group=eclipse.bpmn-modeler">BPMN modeler newsgroup</a> if you have specific topics in mind, or have questions about it.</p></div>
    </content>
    <updated>2009-01-21T22:25:11Z</updated>
    <category term="Uncategorized"/>
    <author>
      <name>Antoine Toulme</name>
    </author>
    <source>
      <id>http://dev.eclipse.org/blogs/soatools</id>
      <link href="http://dev.eclipse.org/blogs/soatools/feed/" rel="self" type="application/atom+xml"/>
      <link href="http://dev.eclipse.org/blogs/soatools" rel="alternate" type="text/html"/>
      <subtitle>SOA Tooling with some Eclipse sauce</subtitle>
      <title>Eclipse SOA Tools Blog</title>
      <updated>2009-01-21T22:25:11Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-24509428.post-1188059877418256528</id>
    <link href="http://blog.ianbull.com/feeds/1188059877418256528/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=24509428&amp;postID=1188059877418256528" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/24509428/posts/default/1188059877418256528" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/24509428/posts/default/1188059877418256528" rel="self" type="application/atom+xml"/>
    <link href="http://blog.ianbull.com/2009/01/welcome-lily.html" rel="alternate" type="text/html"/>
    <title>Welcome Lily</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><div style="MARGIN: 0px auto 10px; TEXT-ALIGN: center;"><a href="http://3.bp.blogspot.com/_RIwhvjncU4c/SWmMK69Q_fI/AAAAAAAABRY/aHA3cpOIKis/s1600-h/IMG_0184.JPG"><img alt="" border="0" src="http://3.bp.blogspot.com/_RIwhvjncU4c/SWmMK69Q_fI/AAAAAAAABRY/aHA3cpOIKis/s320/IMG_0184.JPG"/></a> </div>If finishing school, buying a house and starting a job wasn't enough excitement, on Friday my wife gave birth to our second daughter, Lily Marie Bull.   Lily weighed in at 8lbs 7oz, and is already starting to understand the complexities of Graph Visualization, Modeling and of course, p2. :)  Both Tricia and Lily are doing Great!<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/24509428-1188059877418256528?l=blog.ianbull.com" width="1"/></div></div>
    </content>
    <updated>2009-01-11T06:17:27Z</updated>
    <published>2009-01-11T06:05:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="eclipse"/>
    <author>
      <name>Ian Bull</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/02668098567506210626</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-24509428</id>
      <author>
        <name>Ian Bull</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/02668098567506210626</uri>
      </author>
      <link href="http://blog.ianbull.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/24509428/posts/default/-/eclipse" rel="self" type="application/atom+xml"/>
      <link href="http://blog.ianbull.com/search/label/eclipse" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>I'm just sayin' is all</subtitle>
      <title>Bull's Blog</title>
      <updated>2010-05-10T05:22:56Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://pookzilla.net/wp/2008/02/eclipse-33-startup-changes-take-three/</id>
    <link href="http://pookzilla.net/wp/2008/02/eclipse-33-startup-changes-take-three/" rel="alternate" type="text/html"/>
    <link href="http://pookzilla.net/wp/2008/02/eclipse-33-startup-changes-take-three/#comments" rel="replies" type="text/html"/>
    <link href="http://pookzilla.net/wp/2008/02/eclipse-33-startup-changes-take-three/feed/atom/" rel="replies" type="application/atom+xml"/>
    <title xml:lang="en">Eclipse 3.3 Startup Changes Take Three</title>
    <summary xml:lang="en">Hopefully this will be the last post with the words “startup changes” in its title for a very long time to come.
As mentioned previously, in 3.3 we prevent unknown Runnables from executing during the startup procedure via Display.syncExec() and Display.asyncExec().  I last mentioned a strategy for avoiding use of such runnables during the initialization [...]</summary>
    <content type="xhtml" xml:lang="en"><div xmlns="http://www.w3.org/1999/xhtml"><p>Hopefully this will be the last post with the words “startup changes” in its title for a very long time to come.</p>
<p>As mentioned previously, in 3.3 we prevent unknown Runnables from executing during the startup procedure via <code>Display.syncExec()</code> and <code>Display.asyncExec()</code>.  I last mentioned a strategy for avoiding use of such runnables during the initialization of editors.  I believe that advice is still valid.  However, there are scenarios where you may legitimately need access to these methods.  Without them, for instance, Splash Screen implementors are forced to spin the event loop themselves if they want to do any clever UI work while the workbench is coming up.  In an answer to this problem, we’ve added the new <code>org.eclipse.ui.application.DisplayAccess</code> class as API to the 3.4 stream.  This class has one static method, <code>accessDisplayDuringStartup()</code>.  Calling this method on any thread not created by the UI (ie: any user Thread) will allow that thread to access the Display.async() and Display.sync() methods as if they were one of our privileged startup threads.</p>
<p>For example:</p>
<pre>[code lang="java"]package mail.example;

import org.eclipse.swt.SWT;
import org.eclipse.swt.events.PaintEvent;
import org.eclipse.swt.events.PaintListener;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.widgets.Canvas;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.application.DisplayAccess;
import org.eclipse.ui.splash.AbstractSplashHandler;

public class SplashHandlerWIthDisplayAccess extends AbstractSplashHandler {
	public void init(Shell splash) {
		super.init(splash);

		final Color[] color = new Color[] { splash.getDisplay().getSystemColor(
				SWT.COLOR_YELLOW) };
		final Canvas canvas = new Canvas(splash, SWT.NONE);
		canvas.setBounds(0, 0, splash.getSize().x, splash.getSize().y);
		canvas.addPaintListener(new PaintListener() {

			public void paintControl(PaintEvent e) {
				e.gc.setForeground(e.display.getSystemColor(SWT.COLOR_BLACK));
				e.gc.setBackground(color[0]);
				e.gc.fillOval(0, 0, canvas.getSize().x, canvas.getSize().y);
			}
		});

		Thread worker = new Thread() {
			public void run() {
				DisplayAccess.accessDisplayDuringStartup();
				try {
					Thread.sleep(500); // sleep a little so we can see the
										// color change
				} catch (InterruptedException e) {
				}
				canvas.getDisplay().syncExec(new Runnable() {

					public void run() {
						color[0] = canvas.getDisplay().getSystemColor(
								SWT.COLOR_GREEN);
						if (!canvas.isDisposed())
							canvas.redraw();
					}
				});
			}
		};
		worker.start();
	}
}
[/code]</pre>
<p>This simple splash handler creates a canvas on the splash shell that will initially have a yellow oval taking up the entirety of the drawing area.  We then create a thread which declares that it will be used to access the display during startup.  After a short nap this thread will set the color of the oval to green and cause a repaint.  You can verify that without the call to <code>DisplayAccess.accessDisplayDuringStartup()</code> the oval will remain yellow until the splash comes down.</p></div>
    </content>
    <updated>2008-12-22T14:38:54Z</updated>
    <published>2008-02-11T20:13:27Z</published>
    <category scheme="http://pookzilla.net/wp" term="Eclipse"/>
    <author>
      <name>pookzilla</name>
      <uri>http://pookzilla.net</uri>
    </author>
    <source>
      <id>http://pookzilla.net/wp/feed/atom/</id>
      <link href="http://pookzilla.net/wp" rel="alternate" type="text/html"/>
      <link href="http://pookzilla.net/wp/topics/eclipse/feed/atom/" rel="self" type="application/atom+xml"/>
      <subtitle xml:lang="en">Where sassy women wear jaunty hats.</subtitle>
      <title xml:lang="en">No Business Naming Things » Eclipse</title>
      <updated>2010-06-05T14:17:43Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://pookzilla.net/wp/2008/01/upcoming-changes-to-the-transform-bundles/</id>
    <link href="http://pookzilla.net/wp/2008/01/upcoming-changes-to-the-transform-bundles/" rel="alternate" type="text/html"/>
    <link href="http://pookzilla.net/wp/2008/01/upcoming-changes-to-the-transform-bundles/#comments" rel="replies" type="text/html"/>
    <link href="http://pookzilla.net/wp/2008/01/upcoming-changes-to-the-transform-bundles/feed/atom/" rel="replies" type="application/atom+xml"/>
    <title xml:lang="en">Upcoming Changes to the Transform Bundles</title>
    <summary xml:lang="en">I wanted to give a heads up to anyone who’s currently using the org.eclipse.equinox.transforms projects that live in the Equinox incubator.  They will be changing shape shortly in an effort to resolve some intractable build issues (alluded to previously).  While providing transforms will be virtually identical there will be migration path for older [...]</summary>
    <content type="xhtml" xml:lang="en"><div xmlns="http://www.w3.org/1999/xhtml"><p>I wanted to give a heads up to anyone who’s currently using the<em> org.eclipse.equinox.transforms</em> projects that live in the Equinox incubator.  They will be changing shape shortly in an effort to resolve some intractable build issues (alluded to <a href="http://pookzilla.net/wp/2008/01/you-are-in-a-maze-of-twisty-little-passages-all-alike/">previously</a>).  While providing transforms will be virtually identical there will be migration path for older transform bundles.  I will outline the changes when the new code is in the incubator which I expect to happen sometime in the next week or so.  In the meantime I’ve gone and tagged the existing code with<em> Version_1</em> for any clients who were making use of it.</p></div>
    </content>
    <updated>2008-12-22T14:38:54Z</updated>
    <published>2008-01-24T17:59:44Z</published>
    <category scheme="http://pookzilla.net/wp" term="Eclipse"/>
    <author>
      <name>pookzilla</name>
      <uri>http://pookzilla.net</uri>
    </author>
    <source>
      <id>http://pookzilla.net/wp/feed/atom/</id>
      <link href="http://pookzilla.net/wp" rel="alternate" type="text/html"/>
      <link href="http://pookzilla.net/wp/topics/eclipse/feed/atom/" rel="self" type="application/atom+xml"/>
      <subtitle xml:lang="en">Where sassy women wear jaunty hats.</subtitle>
      <title xml:lang="en">No Business Naming Things » Eclipse</title>
      <updated>2010-06-05T14:17:43Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-9096908760122896389.post-4333240604764532582</id>
    <link href="http://mistralzonline.blogspot.com/feeds/4333240604764532582/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=9096908760122896389&amp;postID=4333240604764532582" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/9096908760122896389/posts/default/4333240604764532582" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/9096908760122896389/posts/default/4333240604764532582" rel="self" type="application/atom+xml"/>
    <link href="http://mistralzonline.blogspot.com/2007/03/guess-what-happened.html" rel="alternate" type="text/html"/>
    <title>Guess What Happened</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">I will start with an old haiku which seems painfully appropriate for the moment:<br/><br/>Three things are certain:<br/>Death, taxes, and lost data.<br/>Guess which has occurred.<br/><br/>It all happened so quickly. I have created a new project in Eclipse to add some minor library to the prototype application I have been writing for three days. Since my projects sit outside the workspace, I had to uncheck this little checkbox suggesting me to put a new project in default location and type the new location (a directory not far from there) by myself.<br/><br/>For some strange reason, when you uncheck this box, the text field with the directory path becomes empty so despite the fact that the directory I needed was just beside the one that is already written there by default I had to switch to explorer, copy and paste the path manually into the field.<br/><br/>This is where I erred. After pasting the directory, I forgot that this was the path of the directory where all my projects resided, the parent directory - not the directory of the new project I wanted to create. Before I realized that I hit OK, and there it was - my new project created in the projects parent directory instead of a nice little directory of its own.<br/><br/>Well, I suppose these things happen, said I when I realized my mistake, I will just delete that project and create a new one in the correct directory. So I said, and pressed the "delete" button.<br/><br/>But this story is not about me, it's about Eclipse. After I pressed that button, Eclipse inconspicuously asked me whether I wanted to remove the project from the workspace only or delete its contents as well, all that with straight, poker face, calm as a frozen lake. I thought "why would I need to keep contents of an empty, just created, project in the wrong location" so I hit "delete contents" - and that was exactly what Eclipse did.<br/><br/>He deleted the contents of the entire directory, all three meaningless files that were created with the new plugin project and ALL SUBDIRECTORIES WITH ALL MY OTHER PROJECTS as well.<br/><br/>It was almost too easy. BOOM - everything was gone.<br/><br/>I know what you are thinking so NO - I did not have a backup, NO - it was not in a source control and NO - I did not have anyone to blame. Three days of work, were gone. Eclipse does not have any Recycle Bin and I did not have a good recovery software installed, and I only have one logical drive - so if I would install one I would risk accidentally overwriting the very data I was trying to rescue. The irony tends to get thick in situations like these.<br/><br/>It looked hopeless, but I know you are waiting for the happy ending, so here it comes.<br/><br/>Once, in one obscure Eclipse conference, I heard that there is such a thing called "local history" in Eclipse 3.2, and that in that history they save all the files you work on so you can go back and undo some changes that you have done and compare previous versions. Lucky for me, this history is saved in the workspace .metadata directory that was not deleted during the accident. After a few minutes I have found it, a bunch of tiny little files with long meaningless names, just lying there happily, each holding a class full of my precious code.<br/><br/>It only took three hours of scraping around to restore 90 percent of the code I have written, and I filled in the rest - so in almost no time I had all my stuff back in good working condition, even better, as in some cases I found bugs while reviewing the code and looking for the changes.<br/><br/>Now for the moral.<br/><br/>First, do backup, do use source control and don't be an idiot.<br/><br/>Second, be extra careful with what you DELETE with Eclipse. Eclipse has it's own file system underneath, so everything it deletes does not go to the Windows recycle bin, or any other place you can salvage it from. This is just plain barbaric. Even my browser has a trash can, in case I accidentally close a tab I did not yet bookmark.<br/><br/>Third, just for the sake of emergencies. Find, try and buy a good piece of software that restores deleted files and keep it installed on your computer at all times. It might save you some nerves one day or another.<br/><br/>And last, listen carefully in conferences, you never know what might save your day next time :)<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/9096908760122896389-4333240604764532582?l=mistralzonline.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2008-12-12T11:30:29Z</updated>
    <published>2007-03-14T05:58:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="usability"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="eclipse"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="recovery"/>
    <author>
      <name>Alex Romanov</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/12199225198996163813</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-9096908760122896389</id>
      <author>
        <name>Alex Romanov</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/12199225198996163813</uri>
      </author>
      <link href="http://mistralzonline.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/9096908760122896389/posts/default/-/eclipse" rel="self" type="application/atom+xml"/>
      <link href="http://mistralzonline.blogspot.com/search/label/eclipse" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>featuring Eclipse And Usability</subtitle>
      <title>On Everything And Nothing In Particular</title>
      <updated>2010-05-21T00:09:01Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-3563144813378269956.post-3136425273589331557</id>
    <link href="http://eclipse-soc.blogspot.com/feeds/3136425273589331557/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=3563144813378269956&amp;postID=3136425273589331557" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/3563144813378269956/posts/default/3136425273589331557" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/3563144813378269956/posts/default/3136425273589331557" rel="self" type="application/atom+xml"/>
    <link href="http://eclipse-soc.blogspot.com/2007/05/calling-all-artists.html" rel="alternate" type="text/html"/>
    <title>Calling all artists</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><a href="http://4.bp.blogspot.com/_RIwhvjncU4c/RkCqhsg_1qI/AAAAAAAAABQ/YXgILghg4g8/s1600-h/soc20070506.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5062233477026404002" src="http://4.bp.blogspot.com/_RIwhvjncU4c/RkCqhsg_1qI/AAAAAAAAABQ/YXgILghg4g8/s320/soc20070506.png" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;"/></a>The Google Summer of Code (SoC) program [1] is underway and Eclipse has over 20 projects [2]. SoC, which is sponsored by Google, provides funding for students to work on open source projects over the summer.  We (the students) submitted proposals which were reviewed by several Eclipse committers (and many of your favorite evangelists).  While the program is sponsored by Google, the management and mentoring is done by the Eclipse community.  For the past month many of the students have been getting involved with their projects, meeting people on mailing lists / newsgroups, getting access to the code, etc...<br/><br/>[1]<a href="http://wiki.eclipse.org/index.php/Google_Summer_of_Code">http://wiki.eclipse.org/index.php/Google_Summer_of_Code</a><br/>[2]<a href="http://wiki.eclipse.org/index.php/Google_Summer_of_Code_2007">http://wiki.eclipse.org/index.php/Google_Summer_of_Code_2007</a><br/><br/>We have also been working on a logo. Gen Nishimura has submitted some nice artwork, but I'm sure others have creative ideas too.  If you have any ideas please take a look at <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=184913">bug# 184913</a> [3].<br/><br/>[3] <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=184913">https://bugs.eclipse.org/bugs/show_bug.cgi?id=184913</a><br/><br/>Finally we (the students) will be using this blog [4] to update the community on our progress, solicit ideas, etc...  Over the next few days some of us will outline what we have been up-to and how we are proceeding with our work.<br/><br/>[4] <a href="http://eclipse-soc.blogspot.com/">http://eclipse-soc.blogspot.com/</a><div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/3563144813378269956-3136425273589331557?l=eclipse-soc.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2008-12-11T20:33:26Z</updated>
    <published>2007-05-08T16:44:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="soc"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="eclipse"/>
    <author>
      <name>Ian Bull</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/02668098567506210626</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-3563144813378269956</id>
      <author>
        <name>Ian Bull</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/02668098567506210626</uri>
      </author>
      <link href="http://eclipse-soc.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/3563144813378269956/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://eclipse-soc.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://www.blogger.com/feeds/3563144813378269956/posts/default?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <title>Eclipse Summer of Code</title>
      <updated>2010-06-05T22:21:26Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-3563144813378269956.post-6760964361895942403</id>
    <link href="http://eclipse-soc.blogspot.com/feeds/6760964361895942403/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=3563144813378269956&amp;postID=6760964361895942403" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/3563144813378269956/posts/default/6760964361895942403" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/3563144813378269956/posts/default/6760964361895942403" rel="self" type="application/atom+xml"/>
    <link href="http://eclipse-soc.blogspot.com/2007/07/status-improving-eclipse-search.html" rel="alternate" type="text/html"/>
    <title>Status: Improving Eclipse Search</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Official name:  <span style="font-style: italic;"/><a href="http://code.google.com/soc/eclipse/appinfo.html?csaid=27DD162F00A217AD"><span class="new" style="font-style: italic;">Eclipse search plugin: providing a better, faster, more relevant Eclipse search</span></a><br/><br/>July 5th<br/><br/>Since my last blog entry about the project, there've been changes in the main goals of the project after discussion with my mentor Francois Granade and Daniel Megert.<br/><br/>Here are the current goals of this project:<br/><br/><span style="font-style: italic; font-weight: bold;">General Goal: </span><br/><br/><ul><li>Unifying "Search" facilities so that there won't be 3 different search (and replace) functionalities in Eclipse</li></ul><br/><span style="font-weight: bold; font-style: italic;">Specific Goals:</span><br/><br/><ul><li>Unifying Ctrl+F (Find/Replace dialog) and Ctrl+J (Incremental Search) by mostly behaving like Ctrl+J. Providing better UI utilization by not showing modal dialogs if the user doesn't request wider options. Summary of the idea: Firefox-style "Find" with enhancements. = a lightweight Find/Replace. Our main goal here is providing <span style="font-style: italic;">all</span> functionality available in Ctrl+F with this lightweight Find/Replace. Here's the related Bugzilla entry: https://bugs.eclipse.org/bugs/show_bug.cgi?id=195455<br/></li></ul><ul><li>Providing "bridges" between Ctrl+F and Ctrl+H. This means carrying query information and search parameters back and forth between them when it's possible. --- To explain it better, it doesn't mean "sharing" input/settings, it is enabling the user to transfer "Find/Replace" input/settings to "Search" easily and extend his/her current search scope &amp; query.<br/></li></ul><ul><li>Investigate better presentation of the search results in Ctrl+H ( adding an alternative view like Problems view - results in a table - might be a good idea to show result lines and numbers, paths etc. )<span style="font-weight: bold;"/></li></ul><br/><br/><span style="font-weight: bold;">Current Progress<br/><br/></span>I'm working on a lightweight Find/Replace ( first Specific Goal above ) right now. I've converted IncrementalFind's Label widget on the status bar to a Text widget and using IFocusService I've managed to give cut/copy/paste input to this Text widget when focused.<br/><br/><a href="http://4.bp.blogspot.com/_myzBouz3q2g/RozqAi43KmI/AAAAAAAAAAM/93EmgUbO-h0/s1600-h/lightweightfind.jpg"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5083695374480648802" src="http://4.bp.blogspot.com/_myzBouz3q2g/RozqAi43KmI/AAAAAAAAAAM/93EmgUbO-h0/s320/lightweightfind.jpg" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;"/></a><br/><br/>For this lightweight Find/Replace, I've tried to create a prototype figure and attached it the Bugzilla entry https://bugs.eclipse.org/bugs/show_bug.cgi?id=195455. What I have in mind was basically a "Find" field appearing on the statusbar first Ctrl+F and when the user presses Ctrl+F again, "advanced feature" set appears as a menu above the status bar showing necessary checkboxes,parameters etc. but this prototype figure and behaviour is open to change.<br/><br/><br/><br/>After adjusting the behaviour of the code a bit , I'm going to work on the floating menu that will show up when the user requests "advanced Find/Replace features" next week.<br/><br/>I've created a feature and an update site for the project but even though the feature exports fine, when the feature is installed on a new Eclipse installation, Eclipse doesn't start. I've also tried to create a Plugin Fragment project first (since I've made all my modifications to org.eclipse.ui.workbench.texteditor), and then create a Feature &amp; Update Site for it. This time, everything worked fine except that my changes to org.eclipse.ui.workbench.texteditor didn't show up in the new Eclipse installation.<br/><br/>I've committed my work as a patch to "soc-search" module in "eclipse-incub". It's very primitive right now but you can checkout anytime and see what I'm doing. First take a look at readme.txt to see how to build the project.<br/><br/><span style="font-style: italic;">Host: </span>eclipse-incub.cvs.sourceforge.net<br/><span style="font-style: italic;">Repository path:</span> /cvsroot/eclipse-incub<br/><span style="font-style: italic;">Module name:</span> soc-search<br/><br/>Feel free to comment here or on Bugzilla. Thank you for your time and feedback.<br/><span style="font-style: italic;"><span style="font-weight: bold;"/></span><span style="font-weight: bold;"><span style="font-weight: bold;"><span style="font-weight: bold;"><span style="font-style: italic;"><span style="font-style: italic;"/></span></span></span><span style="font-weight: bold;"><span style="font-weight: bold;"><br/></span></span></span><div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/3563144813378269956-6760964361895942403?l=eclipse-soc.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2008-12-11T20:33:25Z</updated>
    <published>2007-07-05T12:23:00Z</published>
    <author>
      <name>Çağatay Çallı</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/02439335158633879975</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-3563144813378269956</id>
      <author>
        <name>Ian Bull</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/02668098567506210626</uri>
      </author>
      <link href="http://eclipse-soc.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/3563144813378269956/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://eclipse-soc.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://www.blogger.com/feeds/3563144813378269956/posts/default?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <title>Eclipse Summer of Code</title>
      <updated>2010-06-05T22:21:26Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-1094388580279212135.post-3472997560705145392</id>
    <link href="http://lmap.blogspot.com/feeds/3472997560705145392/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=1094388580279212135&amp;postID=3472997560705145392" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/1094388580279212135/posts/default/3472997560705145392" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/1094388580279212135/posts/default/3472997560705145392" rel="self" type="application/atom+xml"/>
    <link href="http://lmap.blogspot.com/2007/06/from-loop-iterator-to-loop-for-each.html" rel="alternate" type="text/html"/>
    <title>From iterator-loop to foreach-loop with one regex.</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Probably the most important feature we've worked on this release was to add Java 5.0 support to <a href="http://www.eclipse.org/modeling/emf/">EMF</a>.  We've learned a lot during the process and actually had some fun trying to make sense out of Generics and Annotations.  Of course there were also some very annoying tasks, such as converting Java 1.4 "Iterator loops" into the new "foreach loop" style. For example, this snippet<br/><blockquote><pre>for (Iterator i = Collections.singleton(new Integer(1)).iterator(); i.hasNext();)<br/>{<br/>  Integer integer = (Integer)i.next();<br/>  System.out.println(integer);<br/>}</pre></blockquote><br/>should look like this after the modifications<br/><blockquote><pre>for (Integer integer : Collections.singleton(new Integer(1)))<br/>{<br/>  System.out.println(integer);<br/>}</pre></blockquote><br/>Unfortunately Eclipse's "Source-&gt;Clean..." magic action doesn't do a good job here since it doesn't keep the names and types of the "each" variable.  At least back in December, I would end up with <code>Object object :</code> instead of <code>Integer integer :</code> for the example above.<br/><br/>Either to boost my productivity or just to exercise the right to be lazy ;-), I've come up with a regular expression that does the conversion for me.  It works flawless with Eclipse's Find dialog (ctrl+f):<br/><br/><div style="text-align: center;"><a href="http://2.bp.blogspot.com/_0QsTszsRotE/Rmjnjz58BNI/AAAAAAAAAA4/o02FqzY62QA/s1600-h/Find-Replace.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5073559582647518418" src="http://2.bp.blogspot.com/_0QsTszsRotE/Rmjnjz58BNI/AAAAAAAAAA4/o02FqzY62QA/s320/Find-Replace.png" style="margin: 0pt 10px 10px 0pt; text-align: center; cursor: pointer;"/></a><br/></div><br/>Here's a clipboard friendly version:<br/><blockquote>Find:<br/><pre>(for\s*\(\s*)Iterator\s*\w*\s*=(.*)\.iterator\(\).*;\s*(\)\s*\{\s*)(.*)\s*=.*next\(\);\s*</pre><br/>Replace with:<br/><pre>$1$4:$2$3</pre></blockquote><div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/1094388580279212135-3472997560705145392?l=lmap.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2008-12-10T05:55:47Z</updated>
    <published>2007-06-08T05:09:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="java"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="eclipse"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="tech"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="english"/>
    <author>
      <name>Marcelo Paternostro</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/05767041268062110476</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-1094388580279212135</id>
      <author>
        <name>Marcelo Paternostro</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/05767041268062110476</uri>
      </author>
      <link href="http://lmap.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/1094388580279212135/posts/default/-/eclipse" rel="self" type="application/atom+xml"/>
      <link href="http://lmap.blogspot.com/search/label/eclipse" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>Ideas, rants, comments, and... well... digressions.</subtitle>
      <title>My Own Digressions</title>
      <updated>2010-03-24T15:55:00Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-7898970008734109284.post-956721820783899583</id>
    <link href="http://cpp-muttering.blogspot.com/feeds/956721820783899583/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=7898970008734109284&amp;postID=956721820783899583" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/7898970008734109284/posts/default/956721820783899583" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/7898970008734109284/posts/default/956721820783899583" rel="self" type="application/atom+xml"/>
    <link href="http://cpp-muttering.blogspot.com/2008/03/plug-in-spy-happiness-again.html" rel="alternate" type="text/html"/>
    <title>Plug-in Spy happiness (again)</title>
    <summary>Thought I'd try a small experiment with Plug-in Spy. While it works great from within the 3.4M5 release I use everyday to manage and test my doc plugins, would it also work with our standalone product? Even if its based on the 3.3 sources.Copied the org.eclipse.pde.runtime plug-in to the Carbide\plugins folder and relaunched.Pressed ALT+SHIFT+F1 and BAM! Works like a champ.</summary>
    <updated>2008-12-10T03:47:22Z</updated>
    <published>2008-03-04T19:27:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="help"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="Plugin Spy"/>
    <author>
      <name>frank</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/16367423341141776840</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-7898970008734109284</id>
      <author>
        <name>frank</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/16367423341141776840</uri>
      </author>
      <link href="http://cpp-muttering.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/7898970008734109284/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://cpp-muttering.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>Obscure thoughts on the state of user assistance in the technological world</subtitle>
      <title>Muttering to myself</title>
      <updated>2010-06-08T00:05:49Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-6751948175809658974.post-5447110740428924420</id>
    <link href="http://eclipse-soc-mariot.blogspot.com/feeds/5447110740428924420/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=6751948175809658974&amp;postID=5447110740428924420" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/6751948175809658974/posts/default/5447110740428924420" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/6751948175809658974/posts/default/5447110740428924420" rel="self" type="application/atom+xml"/>
    <link href="http://eclipse-soc-mariot.blogspot.com/2007/06/project-status.html" rel="alternate" type="text/html"/>
    <title>Project status</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><span style="font-size: 85%;"><span style="font-weight: bold;"><span style="font-size: 100%;">Work done<br/></span><br/></span></span><ul><li>Creation of a new plug-in  : the plug-in adds a "JNI Application" group in the "Debug Dialog"</li></ul><ul><li>When we launch a debug session  :</li></ul><ul><ul><li>             The JVM is lauched and Java internal debugger of Eclipse connects to it  </li></ul></ul><ul><ul><li>             The PID of the lauched JVM is found</li></ul></ul><ul><ul><li>             The C debugger is attached to the launched JVM process (it works with gdb, I dont know if others debuggers offer this possibility )</li></ul></ul><ul><li> The debug perspective is open and we could see the 2 debuggers launched</li></ul><br/><br/><span style="font-weight: bold; font-size: 100%;">Cookbook</span><br/><br/>versions used : eclipse SDK 3.3 RC4  and CDT 4.0 RC3<br/>os : GNU/linux on a ppc processor<br/>java version min: 1.5 (I think I will change to 1.4)<br/><br/><span style="font-size: 85%;"><br/>getting the svn code : svn co https://eclipse-incub.svn.sourceforge.net/svnroot/eclipse-incub/jni_seamless_debugging jni_seamless_debugging<br/></span><br/><br/><ul><li> First step : you have to install the plugin. If you are here, I am sure you know how to do it.</li></ul><ul><li> Second step : you have to create a Java Application which uses JNI.</li></ul><ul><li>Third step : set a breakpoint in the Java code after the code which loads the native library<br/><br/><br/><a href="http://4.bp.blogspot.com/_QqsJK1u1WXI/RnhqIttPH3I/AAAAAAAAAAw/yMyW4pLgL3M/s1600-h/j_breakpoint.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5077925277801062258" src="http://4.bp.blogspot.com/_QqsJK1u1WXI/RnhqIttPH3I/AAAAAAAAAAw/yMyW4pLgL3M/s320/j_breakpoint.png" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;"/></a><br/></li></ul><ul><li>Fourth step : set a breakpoint in the C code in the begin of a native method<br/><br/><a href="http://3.bp.blogspot.com/_QqsJK1u1WXI/RnhqgdtPH4I/AAAAAAAAAA4/U4rlDKMpmo0/s1600-h/c_breakpoint.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5077925685822955394" src="http://3.bp.blogspot.com/_QqsJK1u1WXI/RnhqgdtPH4I/AAAAAAAAAA4/U4rlDKMpmo0/s320/c_breakpoint.png" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;"/></a><br/><br/></li></ul><ul><li> Fifth step : Open the debug dialog and create a new configuration of "Java JNI Application" kind<br/><br/><br/><a href="http://1.bp.blogspot.com/_QqsJK1u1WXI/RnhrA9tPH5I/AAAAAAAAABA/Ua_EB38sttU/s1600-h/config_group.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5077926244168703890" src="http://1.bp.blogspot.com/_QqsJK1u1WXI/RnhrA9tPH5I/AAAAAAAAABA/Ua_EB38sttU/s320/config_group.png" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;"/></a>In the tabs you have to configure the Java and C project, and specify the javaw path as C/C++ application. On linux machines you could have to add the current directory in the library path environment variable<br/><br/><a href="http://3.bp.blogspot.com/_QqsJK1u1WXI/RnhsLdtPH7I/AAAAAAAAABQ/W4Rjr_n5hyg/s1600-h/config_tab_c_main.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5077927524068958130" src="http://3.bp.blogspot.com/_QqsJK1u1WXI/RnhsLdtPH7I/AAAAAAAAABQ/W4Rjr_n5hyg/s320/config_tab_c_main.png" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;"/></a><a href="http://4.bp.blogspot.com/_QqsJK1u1WXI/RnhsEttPH6I/AAAAAAAAABI/dmX7V5xGryY/s1600-h/config_tab_j_main.png"><br/><img alt="" border="0" id="BLOGGER_PHOTO_ID_5077927408104841122" src="http://4.bp.blogspot.com/_QqsJK1u1WXI/RnhsEttPH6I/AAAAAAAAABI/dmX7V5xGryY/s320/config_tab_j_main.png" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;"/><br/></a><br/><a href="http://1.bp.blogspot.com/_QqsJK1u1WXI/RnhsS9tPH8I/AAAAAAAAABY/6CykugaSo9A/s1600-h/config_tab_environment.png"> <img alt="" border="0" id="BLOGGER_PHOTO_ID_5077927652917977026" src="http://1.bp.blogspot.com/_QqsJK1u1WXI/RnhsS9tPH8I/AAAAAAAAABY/6CykugaSo9A/s320/config_tab_environment.png" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;"/></a><span style="font-size: 100%;">Then click on debug</span></li><li><span style="font-size: 100%;">Sixth step : the debug perspective will be launched, with the 2 debuggers.<br/><br/></span><a href="http://3.bp.blogspot.com/_QqsJK1u1WXI/RnhwwdtPH-I/AAAAAAAAABo/-AxXxfUGWZ4/s1600-h/threads.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5077932557770629090" src="http://3.bp.blogspot.com/_QqsJK1u1WXI/RnhwwdtPH-I/AAAAAAAAABo/-AxXxfUGWZ4/s320/threads.png" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;"/></a><br/><span style="font-size: 100%;"><br/></span></li><li><span style="font-size: 100%;">Seventh step : Resume the JVM process (right click on "gdb/mi") and start debugging !<br/><br/></span></li></ul>            <span style="font-size: 100%;"><span style="font-weight: bold;">Problems</span></span><br/><br/>It makes 3 weeks that I am working  on C source files visualisation. I spend too much time on this, and don't find why it doesn't work.<br/><br/>To resume :<br/><br/><ul><li>I have created a JMLSourceLookupDirector</li></ul><ul><li>I have added CParticipant and JavaParticipant</li></ul><ul><li>I have created a JMLSourcePathComputer which contains a JavaSourcePathComputer and  a CDelegate.For the computeSourceContainers() method  I only merge results obtained from JavaSourcePathComputer and CDelegate computeSourceContainers() methods. I checked with the debugger, and it works well.<br/></li></ul><br/>When I try to debug a JNI Application with my plug-in, the JVM is launched, gdb is attached and the code stop on the first breakpoint in the Java Code. Then I debug step by step until the native call.<br/>When I arrive to the breakpoint in the C code, it stops well, but the Editor doesn't display the file.<br/><br/><a href="http://1.bp.blogspot.com/_QqsJK1u1WXI/Rnhue9tPH9I/AAAAAAAAABg/y7x-aY108FA/s1600-h/C_error.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5077930058099662802" src="http://1.bp.blogspot.com/_QqsJK1u1WXI/Rnhue9tPH9I/AAAAAAAAABg/y7x-aY108FA/s320/C_error.png" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;"/></a><br/><br/>Of course the path is correct and the directory is in the source path.<br/><br/>Any idea or comment is welcome<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/6751948175809658974-5447110740428924420?l=eclipse-soc-mariot.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2008-12-09T18:43:30Z</updated>
    <published>2007-06-19T22:43:00Z</published>
    <author>
      <name>Mariot Chauvin</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/06363398743120781633</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-6751948175809658974</id>
      <author>
        <name>Mariot Chauvin</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/06363398743120781633</uri>
      </author>
      <link href="http://eclipse-soc-mariot.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/6751948175809658974/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://eclipse-soc-mariot.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>This blog presents progress in my work to support seamless debugging between JDT and CDT.</subtitle>
      <title>My summer of code for the Eclipse project</title>
      <updated>2010-03-26T15:43:03Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-25523756.post-8285500680628582244</id>
    <link href="http://tmober.blogspot.com/feeds/8285500680628582244/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=25523756&amp;postID=8285500680628582244" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/25523756/posts/default/8285500680628582244" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/25523756/posts/default/8285500680628582244" rel="self" type="application/atom+xml"/>
    <link href="http://tmober.blogspot.com/2008/05/pde-goodies-fix-configuration-problems.html" rel="alternate" type="text/html"/>
    <title>PDE Goodies: Fix configuration problems</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Ever thought you had some plugin installed, but couldn't find it working in Eclipse? - Here is a really nice solution that I found today:<br/><br/><a href="http://2.bp.blogspot.com/_CVn32GMNLnQ/SD_0_Il8I2I/AAAAAAAAAAc/kPFBTh3JW2w/s1600-h/pdeDiagnose.gif"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5206149059739132770" src="http://2.bp.blogspot.com/_CVn32GMNLnQ/SD_0_Il8I2I/AAAAAAAAAAc/kPFBTh3JW2w/s320/pdeDiagnose.gif" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;"/></a><br/><ul><li>Window &gt; Show View &gt; PDE Runtime &gt; Plug-in Registry</li><li>Filter to show the Plug-in(s) in question</li><li>Right-click &gt; Show Advanced Operations</li><li>Choose "Diagnose"</li></ul>In my case, the dialog that this produced showed me that "Bundle-RequiredExecutionEnvironment: J2SE-1.6" had not been met by my configuration. That would have taken me ages to find out!<br/><br/>I'm not sure since when this functionality is available (I was running 3.4RC2), but a big THANKS goes to the <a href="http://www.eclipse.org/pde/pde-ui/committers/committers.php">PDE team</a> for this (and I assume that <a href="http://recoskie.blogspot.com/">Chris Recoskie</a> will be especially happy about this).<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/25523756-8285500680628582244?l=tmober.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2008-12-08T23:42:42Z</updated>
    <published>2008-05-30T12:35:00Z</published>
    <author>
      <name>Martin Oberhuber</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/02195662278064214049</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-25523756</id>
      <author>
        <name>Martin Oberhuber</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/02195662278064214049</uri>
      </author>
      <link href="http://tmober.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/25523756/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://tmober.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>Martin Oberhuber's thoughts on Eclipse, Java, Target Management and the Community</subtitle>
      <title>Networking Eclipse</title>
      <updated>2010-05-17T04:37:01Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-19398645.post-547849828568920240</id>
    <link href="http://www.openarchitectureware.org/article.php/oaw431_release_schedule" rel="related" type="text/html"/>
    <link href="http://voelterblog.blogspot.com/feeds/547849828568920240/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=19398645&amp;postID=547849828568920240" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/19398645/posts/default/547849828568920240" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/19398645/posts/default/547849828568920240" rel="self" type="application/atom+xml"/>
    <link href="http://voelterblog.blogspot.com/2008/12/oaw-431-release-plan.html" rel="alternate" type="text/html"/>
    <title>oAW 4.3.1 Release Plan</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">FYI, the <a href="http://www.openarchitectureware.org/article.php/oaw431_release_schedule">oAW 4.3.1 Release Plan and Release Notes</a> are available.<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/19398645-547849828568920240?l=voelterblog.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2008-12-08T08:00:17Z</updated>
    <published>2008-12-02T20:24:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="openarchitectureware"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="eclipse"/>
    <author>
      <name>Markus Voelter</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/17202827990748358797</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-19398645</id>
      <author>
        <name>Markus Voelter</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/17202827990748358797</uri>
      </author>
      <link href="http://voelterblog.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/19398645/posts/default/-/eclipse" rel="self" type="application/atom+xml"/>
      <link href="http://voelterblog.blogspot.com/search/label/eclipse" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://www.blogger.com/feeds/19398645/posts/default/-/eclipse/-/eclipse?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <title>voelterblog</title>
      <updated>2010-06-06T17:17:04Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-15140216.post-3062233949643081629</id>
    <link href="http://eclipsewebmaster.blogspot.com/feeds/3062233949643081629/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=15140216&amp;postID=3062233949643081629" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/15140216/posts/default/3062233949643081629" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/15140216/posts/default/3062233949643081629" rel="self" type="application/atom+xml"/>
    <link href="http://eclipsewebmaster.blogspot.com/2008/12/were-moving.html" rel="alternate" type="text/html"/>
    <title>We're moving!</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">The Eclipse Webmaster blog, hosted by Yours Truly (Denis) and Karl, is moving to the 'official' Eclipse.org blogs site:<br/><br/><a href="http://dev.eclipse.org/blogs/eclipsewebmaster/">http://dev.eclipse.org/blogs/eclipsewebmaster/</a><br/><br/>See you over there!<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/15140216-3062233949643081629?l=eclipsewebmaster.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2008-12-02T18:55:19Z</updated>
    <published>2008-12-02T18:50:00Z</published>
    <author>
      <name>Denis Roy</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/01676734059820252000</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-15140216</id>
      <author>
        <name>Denis Roy</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/01676734059820252000</uri>
      </author>
      <link href="http://eclipsewebmaster.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/15140216/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://eclipsewebmaster.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://www.blogger.com/feeds/15140216/posts/default?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <subtitle>THIS BLOG HAS MOVED TO http://dev.eclipse.org/blogs/eclipsewebmaster</subtitle>
      <title>OLD BLOG!</title>
      <updated>2009-10-11T08:29:05Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-15140216.post-3645953989559489599</id>
    <link href="http://eclipsewebmaster.blogspot.com/feeds/3645953989559489599/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=15140216&amp;postID=3645953989559489599" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/15140216/posts/default/3645953989559489599" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/15140216/posts/default/3645953989559489599" rel="self" type="application/atom+xml"/>
    <link href="http://eclipsewebmaster.blogspot.com/2008/11/why-users-dont-bother-to-file-bug.html" rel="alternate" type="text/html"/>
    <title>Why users don't bother to file bug reports</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><a href="http://bugs.php.net/bug.php?id=44309">This has to be the saddest bug I have ever seen</a>.  Unfortunately, I see this type of response all too often, where the user, despite having a perfectly readable stack trace, dump or error message, is expected to either a) prove to the developers that the problem still exists in the latest nightly build or b) provide a reproducible test case.<br/><br/>Running the latest nightly build may be trivial for client software, but for server software running on busy, production servers,  this is impractical and difficult, if not impossible.  Furthermore, in a production environment, reproducibility is not an easy feat, as conditions are never the same, and accurately reproducing the load of hundreds of users is far from scientific.<br/><br/>Need more examples of saddness?  <a href="http://bugs.mysql.com/bug.php?id=30290">Here's another one</a>.  It's a MySQL bug about corruption on a storage engine.  This one is particularly bad, as the developers keep insisting on trying to reproduce the problem with various versions, despite several users (myself included) confirming the problem across many versions.<br/><br/>Of course, Eclipse servers are affected by both of those bugs -- <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=256423">Apache won't gracefully restart</a> because of the PHP bug under certain conditions and <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=244414">Bugzilla searches fail</a> because of a storage engine issues.<br/><br/>But wait - it gets even sadder.  Here is how the above PHP bug is closed (comment by the reporter) :<br/><pre class="note">Whatever. If you do not want bug reports, I will not post any. I thought<br/>you welcome help and want to improve the product but it seems you care<br/>only about having less work. Forget it. Let this bug be.</pre><br/>IMHO, that a fair statement.<br/><br/>The MySQL bug is closed with this automated message:<br/><pre class="note">No feedback was provided for this bug for over a month, so it is<br/>being suspended automatically. If you are able to provide the<br/>information that was originally requested, please do so and change<br/>the status of the bug back to "Open".</pre><br/>I understand that the developers' time is precious and that good bug reports are required, but users are not intimate with the source code, and often cannot easily provide more than a crash dump or an error message.  That doesn't mean there is not a problem with the code, so relying on the user to do all the heavy lifting seems quite unfair, and a great way to convince your users to not report bugs.<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/15140216-3645953989559489599?l=eclipsewebmaster.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2008-11-25T14:27:55Z</updated>
    <published>2008-11-25T14:27:00Z</published>
    <author>
      <name>Denis Roy</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/01676734059820252000</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-15140216</id>
      <author>
        <name>Denis Roy</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/01676734059820252000</uri>
      </author>
      <link href="http://eclipsewebmaster.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/15140216/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://eclipsewebmaster.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://www.blogger.com/feeds/15140216/posts/default?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <subtitle>THIS BLOG HAS MOVED TO http://dev.eclipse.org/blogs/eclipsewebmaster</subtitle>
      <title>OLD BLOG!</title>
      <updated>2009-10-11T08:29:05Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:www.stateofflow.com,2008-11-15:ba3b1ce58c104e7889a475437e34081a/55969f759e7a2cc1d8df4e2828103fe0</id>
    <link href="http://www.stateofflow.com/journal/79/plugin-releases" rel="alternate" type="text/html"/>
    <title>Plugin Releases</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Flying Metrics batman!</p></div>
    </summary>
    <updated>2008-11-15T12:52:28Z</updated>
    <author>
      <name>Channing Walton</name>
    </author>
    <source>
      <id>http://www.stateofflow.com/</id>
      <link href="http://www.stateofflow.com/" rel="alternate" type="text/html"/>
      <link href="http://www.stateofflow.com/?rss=1&amp;category=eclipse" rel="self" type="application/rss+xml"/>
      <title>State of Flow - Eclipse</title>
      <updated>2009-09-20T14:01:44Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:www.stateofflow.com,2008-11-02:ba3b1ce58c104e7889a475437e34081a/46a76bf5fb6db74827e07451a8ac33dc</id>
    <link href="http://www.stateofflow.com/journal/78/no-repository-found-errors-in-eclipse" rel="alternate" type="text/html"/>
    <title>"No repository found" errors in Eclipse</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Trouble installing Eclipse plugins!</p></div>
    </summary>
    <updated>2008-11-02T07:57:21Z</updated>
    <author>
      <name>Channing Walton</name>
    </author>
    <source>
      <id>http://www.stateofflow.com/</id>
      <link href="http://www.stateofflow.com/" rel="alternate" type="text/html"/>
      <link href="http://www.stateofflow.com/?rss=1&amp;category=eclipse" rel="self" type="application/rss+xml"/>
      <title>State of Flow - Eclipse</title>
      <updated>2009-09-20T14:01:44Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://vineet.i3labs.org/wp/?p=36</id>
    <link href="http://vineet.i3labs.org/wp/2008/10/21/in-nashville-tn-and-washington-dc/" rel="alternate" type="text/html"/>
    <title>In Nashville, TN and Washington, D.C.</title>
    <summary>Just a quick note, team Architexa is in Nashville this week to present our work at OOPSLA. If you are around here and want to see a demo or want to just chat with us about Eclipse or other fun Software Challenges feel free to drop a note. 
Next week is EclipseWorld in DC, and [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Just a quick note, team <a href="http://vineet.i3labs.org/wp/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3d3dy5hcmNoaXRleGEuY29tLw==">Architexa</a> is in Nashville this week to present our work at <a href="http://vineet.i3labs.org/wp/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3d3dy5vb3BzbGEub3JnL29vcHNsYTIwMDgv">OOPSLA</a>. If you are around here and want to see a demo or want to just chat with us about Eclipse or other fun Software Challenges feel free to drop a <a href="http://vineet.i3labs.org/wp/wp-content/plugins/feed-statistics.php?url=bWFpbHRvOnZpbmVldEBhcmNoaXRleGEuY29t">note</a>. </p>
<p>Next week is <a href="http://vineet.i3labs.org/wp/wp-content/plugins/feed-statistics.php?url=aHR0cDovL2VjbGlwc2V3b3JsZC5uZXQv">EclipseWorld</a> in DC, and I will be there as well. E-mail me if you want to meetup then.</p>
 <img height="1" src="http://vineet.i3labs.org/wp/wp-content/plugins/feed-statistics.php?view=1&amp;post_id=36" style="display: none;" width="1"/></div>
    </content>
    <updated>2008-10-22T00:13:05Z</updated>
    <category term="Eclipse"/>
    <author>
      <name>Vineet</name>
    </author>
    <source>
      <id>http://vineet.i3labs.org/wp</id>
      <link href="http://vineet.i3labs.org/wp/category/eclipse/feed/" rel="self" type="application/atom+xml"/>
      <link href="http://vineet.i3labs.org/wp" rel="alternate" type="text/html"/>
      <subtitle>From Informational Interfaces to Software Engineering using RDF, Eclipse, etc.</subtitle>
      <title>Vineet's Journal » Eclipse</title>
      <updated>2010-05-11T15:58:56Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://www.itaware.eu/?p=327</id>
    <link href="http://www.itaware.eu/2008/10/19/server-side-osgi-is-it-really-useful/" rel="alternate" type="text/html"/>
    <title>Server-side OSGi, is it really useful ?</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><img alt="" class="alignleft size-full wp-image-323" height="112" src="http://www.itaware.eu/wp-content/uploads/2008/10/puzzle.jpg" title="puzzle" width="150"/> The recent <a href="http://www.parisjug.org/xwiki/bin/view/Main/WebHome" target="_blank">Paris JUG</a> was an opportunity to talk about <a href="http://www.osgi.org/" target="_blank">OSGi</a> technology, already mentioned <a href="http://www.itaware.eu/2008/01/26/news-on-osgi/" target="_blank">several</a> <a href="http://www.itaware.eu/2007/02/20/osgi-demo/" target="_blank">times</a> in this blog, and continues to hear about it. Although OSGi is present on the client side with Eclipse, the development of the server side and especially in Java EE environment sometimes leaves developers not convinced. Spring Source (<a href="http://www.springsource.com/products/suite/dmserver" target="_blank">Spring DM server</a>), ObjectWeb (<a href="http://wiki.jonas.objectweb.org/xwiki/bin/view/Main/WebHome" target="_blank">JOnAS</a>), Sun (<a href="https://glassfish.dev.java.net/" target="_blank">Glassfish</a>) and IBM (<a href="http://publib.boulder.ibm.com/infocenter/ieduasst/v1r1m0/index.jsp?topic=/com.ibm.iea.was_v6/was/6.1/Architecture/WASv61_Componentization/player.html" target="_blank">WebSphere 6.1</a>) have clearly made the choice. What are the real benefits for our applications on server side? <a href="http://www.itaware.eu/2008/10/19/server-side-osgi-is-it-really-useful/">[...]</a></div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p><img alt="" class="alignleft size-full wp-image-323" height="112" src="http://www.itaware.eu/wp-content/uploads/2008/10/puzzle.jpg" title="puzzle" width="150"/> The recent <a href="http://www.parisjug.org/xwiki/bin/view/Main/WebHome" target="_blank">Paris JUG</a> was an opportunity to talk about <a href="http://www.osgi.org/" target="_blank">OSGi</a> technology, already mentioned <a href="http://www.itaware.eu/2008/01/26/news-on-osgi/" target="_blank">several</a> <a href="http://www.itaware.eu/2007/02/20/osgi-demo/" target="_blank">times</a> in this blog, and continues to hear about it. Although OSGi is present on the client side with Eclipse, the development of the server side and especially in Java EE environment sometimes leaves developers not convinced. Spring Source (<a href="http://www.springsource.com/products/suite/dmserver" target="_blank">Spring DM server</a>), ObjectWeb (<a href="http://wiki.jonas.objectweb.org/xwiki/bin/view/Main/WebHome" target="_blank">JOnAS</a>), Sun (<a href="https://glassfish.dev.java.net/" target="_blank">Glassfish</a>) and IBM (<a href="http://publib.boulder.ibm.com/infocenter/ieduasst/v1r1m0/index.jsp?topic=/com.ibm.iea.was_v6/was/6.1/Architecture/WASv61_Componentization/player.html" target="_blank">WebSphere 6.1</a>) have clearly made the choice. What are the real benefits for our applications on server side?<br/>
First don’t forget OSGi is a specification designed for the embedded domain. This make an implementation without the new Java 5 features : annotations, generics, etc … and that makes us appear OSGi like an old technology. But OSGi stay attractive because what is important above all is the concept: modularization. Concept that on each ear of OOP developer can not be ignored. By development on development we have tried to improve the way we write code, trying to organize it to not create inter-dependencies and go over possible reusability. The arrival of the <a href="http://en.wikipedia.org/wiki/Dependency_injection" target="_blank" title="Dependency Injection">DI</a> pattern help us to do that and the success of Spring is a good example. OSGi creates a continuity in offering us an infrastructure that obliges us to respect the rules and allows us to dynamically manipulate our components. The dynamic aspect and hot deployment is the icing on the cake but this is not what makes OSGi essential on server side, the current deployment technics with clustered servers, or even with the simple <a href="http://developer.apple.com/fr/webobjects/" target="_blank">WebObjects</a> <a href="http://developer.apple.com/documentation/WebObjects/Deployment/Deploying_Applications/Introduction/chapter_1_section_1.html#//apple_ref/doc/uid/TP30000059-TPXREF101" target="_blank">Monitor</a> tool, help us to update applications gracefully. What is interesting it’s how the code is organized and the hierarchy throw the management of dependency imposed by OSGi, in application servers and applications themselves.<br/>
So in fact this specification is not suited to Java EE and remains technically difficult to understand, but the concept of modularization is a good approach to improve the quality of our developments. That is why Spring focused on because it fits with their framework.<br/>
Moreover <a href="http://openjdk.java.net/projects/modules/osgi-support-draft.html" target="_blank">reconciliation</a> between JCP and OSGi promises well, I hope in the right direction, to make the best of 2 worlds, i.e. all existing OSGi in one hand and the server aspect and Java 5 new features for Sun on the other.<br/>
However, we must not forget the dynamic aspect because although users are not insist to see a new button dynamically appear at each time thez need a new functionnality, the fact is with OSGi it is technically possible. But is it really an improvement, actually with a web application it is also possible in PHP, in Java (must reload session). For RIA this becomes more complicated because part of the functional is deported on the client side and update requires complete reloading. This is typically what <a href="http://www.itaware.eu/category/anglais/eclipse/feed/Chris Brind" target="_blank">Chris Brind</a> has managed to improve by combining Flex and OSGi with <a href="http://www.itaware.eu/category/anglais/eclipse/feed/Solstice" target="_blank">Solstice</a>. This framework show the potential of modular approach in this domain.<br/>
Again what is important is the concept, the modular approach will bring us more quality in our development and greater flexibility in deployment. Let the community choose the best technology to do it…</p></div>
    </content>
    <updated>2008-10-19T10:19:08Z</updated>
    <category term="Anglais"/>
    <category term="Eclipse"/>
    <category term="SOA"/>
    <category term="jsr 277"/>
    <category term="modular approach"/>
    <category term="osgi"/>
    <category term="solstice"/>
    <author>
      <name>Sébastien Letélié</name>
    </author>
    <source>
      <id>http://www.itaware.eu</id>
      <link href="http://www.itaware.eu/category/anglais/eclipse/feed/" rel="self" type="application/atom+xml"/>
      <link href="http://www.itaware.eu" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com" rel="hub" type="text/html"/>
      <link href="http://superfeedr.com/hubbub" rel="hub" type="text/html"/>
      <subtitle>Sébastien Letélié and Cyril Balit weblog</subtitle>
      <title>I.T. aware » Eclipse</title>
      <updated>2010-06-09T06:16:16Z</updated>
    </source>
  </entry>

  <entry xml:lang="en-us">
    <id>http://www.jroller.com/aav/entry/eclipse_in_the_banking_industry</id>
    <link href="http://www.jroller.com/aav/entry/eclipse_in_the_banking_industry" rel="alternate" type="text/html"/>
    <title>Eclipse in the Banking Industry</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>
Despite all the troubles in financial sector, I still would like to remind about <a href="https://www.eclipsecon.org/submissions/ese2008/view_talk.php?id=191">Eclipse in the Banking Industry</a> symposia (at Eclipse Summit Europe 2008). I definitely welcome everyone who sees a point in using great open source Eclipse technologies in financial world. See you in Ludwigsburg - a beautiful small town that should not be missed.
</p>
<p>
<img alt="Christmas market in Ludwigsburg" src="http://download.service-cloud.com/misc/weihnachtsmarkt-ludwigsburg.jpg"/>
</p></div>
    </summary>
    <updated>2008-10-14T16:53:48Z</updated>
    <category term="General"/>
    <author>
      <name>Aleksey Aristov</name>
    </author>
    <source>
      <id>http://www.jroller.com/aav/</id>
      <link href="http://www.jroller.com/aav/" rel="alternate" type="text/html"/>
      <link href="http://www.jroller.com/aav/feed/entries/rss" rel="self" type="application/atom+xml"/>
      <rights>Copyright 2008</rights>
      <subtitle>Eclipse RCP tips and ideas</subtitle>
      <title>Aleksey Aristov</title>
      <updated>2010-06-09T06:52:58Z</updated>
    </source>
  </entry>

  <entry xml:lang="en-us">
    <id>http://www.jroller.com/aav/entry/osgi_on_amazon_ec2</id>
    <link href="http://www.jroller.com/aav/entry/osgi_on_amazon_ec2" rel="alternate" type="text/html"/>
    <title>OSGi on Amazon EC2 is available</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>
<a href="http://www.service-cloud.com">Cloud Studio with OSGi support</a> is finally out. Now it is possible to upload your bundles into S3 based bundle repository and create an instance profile (similiar to "Run Configuration" in Eclipse). After profile is created, an EC2 instance that hosts OSGi framework with required bundles can be launched. 
</p>

<p>
Bundles in S3 based bundle repository:
</p>
<p>
<a href="http://download.service-cloud.com/studio/images/10b4/bundle_repository.jpg">
<img alt="Bundles in S3 based bundle repository" src="http://download.service-cloud.com/studio/images/10b4/bundle_repository_small.jpg"/>
</a>
</p>

<p>
OSGi profile editor:
</p>

<p>
<a href="http://download.service-cloud.com/studio/images/10b4/osgi_profile_editor.jpg">
<img alt="OSGi profile editor" src="http://download.service-cloud.com/studio/images/10b4/osgi_profile_editor_small.jpg"/>
</a>
</p>

<p>
There are two short <a href="http://www.service-cloud.com/node/18">screencasts</a> that show how <a href="http://www.eclipse.org/rap/">RAP (Reach Ajax Platform)</a>, plain old <a href="http://www.eclipse.org/equinox/server/jsp_support.php">JSP example</a>, and Spring based remote service (Spring + Spring DM for OSGi) can be deployed to EC2.
</p></div>
    </summary>
    <updated>2008-10-14T04:21:45Z</updated>
    <category term="General"/>
    <author>
      <name>Aleksey Aristov</name>
    </author>
    <source>
      <id>http://www.jroller.com/aav/</id>
      <link href="http://www.jroller.com/aav/" rel="alternate" type="text/html"/>
      <link href="http://www.jroller.com/aav/feed/entries/rss" rel="self" type="application/atom+xml"/>
      <rights>Copyright 2008</rights>
      <subtitle>Eclipse RCP tips and ideas</subtitle>
      <title>Aleksey Aristov</title>
      <updated>2010-06-09T06:52:58Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://dev.eclipse.org/blogs/soatools/2008/09/19/bpmn-modeler-sub-project-proposal-available-for-feedback/</id>
    <link href="http://dev.eclipse.org/blogs/soatools/2008/09/19/bpmn-modeler-sub-project-proposal-available-for-feedback/" rel="alternate" type="text/html"/>
    <title>BPMN modeler sub-project proposal available for feedback</title>
    <summary>The BPMN modeler component is planning to evolve from the status of component to the status of sub-project.
You are welcome to read the proposal, comment it and join us* !
* allow 48h for the newsgroup to be functional though.</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>The <a href="http://www.eclipse.org/stp/bpmn">BPMN modeler component</a> is planning to evolve from the status of component to the status of sub-project.</p>
<p>You are welcome to read the <a href="http://www.eclipse.org/proposals/bpmn-modeler/">proposal</a>, <a href="http://www.eclipse.org/newsportal/thread.php?group=eclipse.bpmn-modeler">comment it and join us</a>* !</p>
<p>* allow 48h for the newsgroup to be functional though.</p></div>
    </content>
    <updated>2008-09-19T18:28:51Z</updated>
    <category term="Business Process"/>
    <author>
      <name>Antoine Toulme</name>
    </author>
    <source>
      <id>http://dev.eclipse.org/blogs/soatools</id>
      <link href="http://dev.eclipse.org/blogs/soatools/feed/" rel="self" type="application/atom+xml"/>
      <link href="http://dev.eclipse.org/blogs/soatools" rel="alternate" type="text/html"/>
      <subtitle>SOA Tooling with some Eclipse sauce</subtitle>
      <title>Eclipse SOA Tools Blog</title>
      <updated>2009-01-21T22:25:11Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://dev.eclipse.org/blogs/releng/2008/09/03/update-is-a-many-splintered-thing/</id>
    <link href="http://dev.eclipse.org/blogs/releng/2008/09/03/update-is-a-many-splintered-thing/" rel="alternate" type="text/html"/>
    <title>Update is a many-splintered thing</title>
    <summary>A recent post in the p2-dev@eclipse.org mailing list got me thinking about the use cases for different ways to install software. Considering that the Linux world has this solved (and then some!) let’s look at the different ways I can update my recently repurposed xubuntu 8.04 laptop. Bear in mind this is without installing OTHER [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>A <a href="http://dev.eclipse.org/mhonarc/lists/p2-dev/msg00148.html">recent post in the p2-dev@eclipse.org</a> mailing list got me thinking about the use cases for different ways to install software. Considering that the Linux world has this solved (and then some!) let’s look at the different ways I can update my recently repurposed xubuntu 8.04 laptop. Bear in mind this is without installing OTHER tools, just the ones that come OOTB with an xubuntu installation. (Yes, there are other choices too. Fedora has its tools, gentoo has its solution, etc.)</p>
<p>1. apt-cache: a commandline tool for querying the repositories for available packages, versions, and details.</p>
<p><a href="http://dev.eclipse.org/blogs/releng/files/2008/09/apt-cache.png" title="apt-cache"><img alt="apt-cache" src="http://dev.eclipse.org/blogs/releng/files/2008/09/apt-cache.thumbnail.png"/></a></p>
<p>2. apt-get: a commandline tool for installing/removing packages. </p>
<p><a href="http://dev.eclipse.org/blogs/releng/files/2008/09/apt-get.png" title="apt-get"><img alt="apt-get" src="http://dev.eclipse.org/blogs/releng/files/2008/09/apt-get.thumbnail.png"/></a></p>
<p>3. Adept Manager: a GUI tool to query the repos for available packages &amp; to install/remove them.</p>
<p><a href="http://dev.eclipse.org/blogs/releng/files/2008/09/adeptmanager.png" title="Adept Manager"><img alt="Adept Manager" src="http://dev.eclipse.org/blogs/releng/files/2008/09/adeptmanager.thumbnail.png"/></a></p>
<p>4. Synaptic Package Manager: a more refined GUI tool to query the repos for available packages &amp; to install/remove them.</p>
<p><a href="http://dev.eclipse.org/blogs/releng/files/2008/09/synapticpackagemanager.png" title="Synaptic Package Manager"><img alt="Synaptic Package Manager" src="http://dev.eclipse.org/blogs/releng/files/2008/09/synapticpackagemanager.thumbnail.png"/></a></p>
<p>5. Add/Remove Applications…: an application to ease Windows users into package management, for coarse-grained installation and/or groups of packages</p>
<p><a href="http://dev.eclipse.org/blogs/releng/files/2008/09/addremoveapplications.png" title="Add/Remove Applications&#x2026;"><img alt="Add/Remove Applications&#x2026;" src="http://dev.eclipse.org/blogs/releng/files/2008/09/addremoveapplications.thumbnail.png"/></a></p>
<p>6. Update Manager: a task tray resident application that monitors the repositories for updates and alerts users about available updates, also to ease Windows users into the Linux experience</p>
<p><a href="http://dev.eclipse.org/blogs/releng/files/2008/09/updatemanager.png" title="Update Manager"><img alt="Update Manager" src="http://dev.eclipse.org/blogs/releng/files/2008/09/updatemanager.thumbnail.png"/></a></p>
<p>So, do we need all of these? Perhaps not all 6, but linux distros are still trying to sort out their target audience, so they often include more tools that you need. </p>
<p>Sure, you can manage updates with apt-get, Synaptic, or Adept, but the Update Manager is smaller and more end-user focused. </p>
<p>Sure, you can install everything in Add/Remove Applications… with the tools above it, but Add/Remove Applications… is friendlier. </p>
<p>Personally, I use apt-get/apt-cache (if I more or less know what I want to install), Synaptic (if I want to browse for something new or install something with many dependencies), and Update (if I just want patches/security updates), because different tools are suited to different needs. </p>
<p>You can remove a screw with a coin, or hammer in a nail with a shoe, but there are better-suited tools for those tasks.</p>
<p>Similarly, Eclipse 3.4’s <a href="http://wiki.eclipse.org/Category:Equinox_p2">Equinox p2</a> includes 4 tools for provisioning: </p>
<ol>
<li>an end-user <a href="http://wiki.eclipse.org/Equinox_p2_Update_UI_Users_Guide">Update UI</a>, for easily updating your Eclipse folder, </li>
<li>an <a href="http://wiki.eclipse.org/Equinox_p2_Admin_UI_Users_Guide">Admin UI</a> (or Agent), for creating shared or reusable install folders,</li>
<li>an <a href="http://wiki.eclipse.org/Equinox_p2_Installer">Installer</a>, for doing shared product installs, and</li>
<li>a <a href="http://wiki.eclipse.org/Equinox_p2_director_application">Director</a>, for headless (no GUI) installs/updates. </li>
</ol>
<p>Do we need all 4? Try them and decide for yourself. Like with Debian/Ubuntu installers, there’s bound to be some overlap. But each serves a purpose by itself, and does so with as little installation overhead as possible. </p>
<p>Could things be merged? Perhaps, if p2 wanted to follow the hierarchical model of Synaptic building on apt-get, and Add/Remove Applications… &amp; Update Manager building on Synaptic. There are certainly places to simplify the UI experience. What would you do?</p>
<p>Voice your opinion here, or in the <a href="http://dev.eclipse.org/mhonarc/lists/p2-dev/msg00148.html">mailing list</a>. Better yet, write a patch and <a href="https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Equinox&amp;component=p2">submit it</a>!</p></div>
    </content>
    <updated>2008-09-03T22:33:23Z</updated>
    <category term="p2"/>
    <category term="process"/>
    <category term="update manager"/>
    <category term="usability"/>
    <category term="workflow"/>
    <source>
      <id>http://dev.eclipse.org/blogs/releng</id>
      <author>
        <name>Releng</name>
      </author>
      <link href="http://dev.eclipse.org/blogs/releng/feed" rel="self" type="application/atom+xml"/>
      <link href="http://dev.eclipse.org/blogs/releng" rel="alternate" type="text/html"/>
      <subtitle>automation, application, assembly, and angst</subtitle>
      <title>.releng</title>
      <updated>2009-04-10T20:03:32Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-6460870651579501588.post-4883524076514809409</id>
    <link href="http://blog.eclipse-tips.com/2007/06/help-as-standalone-application.html" rel="related" type="text/html"/>
    <link href="http://blog.cypal-solutions.com/feeds/4883524076514809409/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=6460870651579501588&amp;postID=4883524076514809409&amp;isPopup=true" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/6460870651579501588/posts/default/4883524076514809409" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/6460870651579501588/posts/default/4883524076514809409" rel="self" type="application/atom+xml"/>
    <link href="http://blog.cypal-solutions.com/2007/06/help-as-standalone-application.html" rel="alternate" type="text/html"/>
    <title>Help as a Standalone Application</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">I've been giving training on Eclipse Plugin Development in Bangalore for an year or so. Lot many sessions and lot many questions. Many of the questions are repeated in every session. Till I collect them and post them as a FAQ, I plan to post few in this blog.<br/><br/>The first question here is on help: "We have a set of doc plugins for our product. How to host them on the net like the one at help.eclipse.org?"<br/><br/>Eclipse ships a class called <span style="font-size: 85%;"><span style="font-family: courier new;">org.eclipse.help.standalone.Infocenter</span></span>, which is available in <span style="font-size: 85%;"><span style="font-family: courier new;">org.eclipse.help.base_{version}.jar</span></span>. It has a main method, so you can run it as a standalone application. You need the following arguments:<br/><br/><span style="font-size: 85%;"><span style="font-family: courier new;">     -command start</span><br/><span style="font-family: courier new;">     -port 80</span><br/></span><span style="font-family: courier new;"><span style="font-size: 85%;">     -eclipsehome </span></span><br/><br/>Assuming the jar is in the classpath, the command would be:<br/><br/><span style="font-size: 85%;"><span style="font-family: courier new;">java org.eclipse.help.standalone.Infocenter -command start -port 80 -eclipsehome /Users/prakashgr/eclipse/</span></span><div class="blogger-post-footer"><br/><br/>
From <a href="http://blog.eclipse-tips.com/">Eclipse Tips</a>
<br/>
Like the tip? <a href="http://feeds.feedburner.com/cypal">Subscribe</a>
<br/><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/6460870651579501588-4883524076514809409?l=blog.cypal-solutions.com" width="1"/></div></div>
    </content>
    <updated>2008-08-17T16:51:56Z</updated>
    <published>2007-06-08T18:30:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="help"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="eclipse"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="infocenter"/>
    <author>
      <name>Prakash G.R.</name>
      <email>noreply@blogger.com</email>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-6460870651579501588</id>
      <author>
        <name>Prakash G.R.</name>
        <email>noreply@blogger.com</email>
      </author>
      <link href="http://blog.cypal-solutions.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/6460870651579501588/posts/default/-/eclipse" rel="self" type="application/atom+xml"/>
      <link href="http://blog.cypal-solutions.com/search/label/eclipse" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://www.blogger.com/feeds/6460870651579501588/posts/default/-/eclipse/-/eclipse?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <subtitle type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">This blog has moved <a href="http://blog.eclipse-tips.com"> to a new place</a>: http://blog.eclipse-tips.com</div>
      </subtitle>
      <title>Eclipse Tips - Old</title>
      <updated>2010-04-28T18:59:26Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-6460870651579501588.post-7462129187382975977</id>
    <link href="http://blog.eclipse-tips.com/2007/09/debug-your-app.html" rel="related" type="text/html"/>
    <link href="http://blog.cypal-solutions.com/feeds/7462129187382975977/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=6460870651579501588&amp;postID=7462129187382975977&amp;isPopup=true" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/6460870651579501588/posts/default/7462129187382975977" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/6460870651579501588/posts/default/7462129187382975977" rel="self" type="application/atom+xml"/>
    <link href="http://blog.cypal-solutions.com/2007/09/debug-your-app.html" rel="alternate" type="text/html"/>
    <title>Debug your app</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">I don't have to explain the power of debugging and tracing thru the code. But it can happen only if you are executing your code locally. How can we debug a program which is executing in your customer's desktop? Logging is the solution. Although its not as powerful as debugging, it really helps in finding the bugs.<br/><br/>Eclipse provides a nice -debug command line option to switch on the logging mode. Shouldn't this option be -logging to avoid <a href="http://dev.eclipse.org/mhonarc/lists/platform-dev/msg00686.html">confusions</a>? Don't ask me. I don't know :-P<br/><br/>The API Platform.inDebugMode() returns whether Eclipse is started with -debug or not. So in our code:<br/><br/>if(Platform.inDebugMode()){<br/>System.out.println("My plugin is doing something");<br/>}<br/><br/>When a customer has a bug, all he has to do is to start Eclipse with -debug option and send you the output. Simple? But the problem is your customer would have installed umpteen number of plugins and the log would literally be unreadable. How to enable logging for a specific plugin alone?<br/><br/>The .options file comes to rescue. This is a normal properties file, where you can specify the options including which plugins should be in debug mode and which are not. You can google for <a href="http://www.google.com/search?&amp;q=filetype:options+eclipse">sample files</a>.<br/><br/>Plugins are expected to look for this before printing the statement. So the above code should be:<br/><br/>if(Platform.inDebugMode() &amp;&amp; Boolean.getBoolean(Platform.getDebugOption(Activator.PLUGIN_ID+"/debug"))){<br/>System.out.println("My plugin is doing something");<br/>}<br/><br/>Instead of repeating this if condition all over your plugin, you declare a field in your Activator and use it in other places:<br/><br/>public boolean inDebugMode = Platform.inDebugMode() &amp;&amp;amp; Boolean.getBoolean(Platform.getDebugOption(Activator.PLUGIN_ID+"/debug"));<br/><br/><br/>and use it other places:<br/><br/>void foo(){<br/>if(Activator.getDefault().inDebugMode()){<br/>// debug mode<br/>}<br/>}<div class="blogger-post-footer"><br/><br/>
From <a href="http://blog.eclipse-tips.com/">Eclipse Tips</a>
<br/>
Like the tip? <a href="http://feeds.feedburner.com/cypal">Subscribe</a>
<br/><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/6460870651579501588-7462129187382975977?l=blog.cypal-solutions.com" width="1"/></div></div>
    </content>
    <updated>2008-08-17T16:51:39Z</updated>
    <published>2007-09-07T17:51:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="eclipse"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="debug"/>
    <category scheme="http://www.blogger.com/atom/ns#" term=".options"/>
    <author>
      <name>Prakash G.R.</name>
      <email>noreply@blogger.com</email>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-6460870651579501588</id>
      <author>
        <name>Prakash G.R.</name>
        <email>noreply@blogger.com</email>
      </author>
      <link href="http://blog.cypal-solutions.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/6460870651579501588/posts/default/-/eclipse" rel="self" type="application/atom+xml"/>
      <link href="http://blog.cypal-solutions.com/search/label/eclipse" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://www.blogger.com/feeds/6460870651579501588/posts/default/-/eclipse/-/eclipse?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <subtitle type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">This blog has moved <a href="http://blog.eclipse-tips.com"> to a new place</a>: http://blog.eclipse-tips.com</div>
      </subtitle>
      <title>Eclipse Tips - Old</title>
      <updated>2010-04-28T18:59:26Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://luckycala.wordpress.com/?p=84</id>
    <link href="http://luckycala.wordpress.com/2008/07/28/eclipse-xquery-a-breakthrough-at-last/" rel="alternate" type="text/html"/>
    <title>Eclipse XQuery – a breakthrough at last…</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Last 2 weeks were very productive for the new xquery editor and finally able to get a breakthrough in the project. I was trying to work out xquery syntax colouring as I thought it is what someone would be expecting first from an editor. So finally it was completed by this weekend and you can [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=luckycala.wordpress.com&amp;blog=617892&amp;post=84&amp;subd=luckycala&amp;ref=&amp;feed=1"/></div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Last 2 weeks were very productive for the new xquery editor and finally able to get a breakthrough in the project.</p>
<p>I was trying to work out xquery syntax colouring as I thought it is what someone would be expecting first from an editor. So finally it was completed by this weekend and you can see how it is working in the screenshot below.</p>
<p>When first I was thinking how to tokenize the text it was looking pretty gloomy because it would have taken a good amount of time to write ANTLR grammar file, generate tokeninzing scripts and finally fine tune them. But thanks to <a href="http://code.google.com/p/xqpretty/">xqpretty tokenizer</a> it was pretty easy for me to skip first 2 steps and directly go to 3rd step and fine tune it to my needs.</p>
<p>So I tested a good amount with the tokenizer to see whether it meets my requirements for the plugin and also Eclipse standards like license issues (As usual <a href="http://intellectualcramps.blogspot.com/">David</a> was a huge help in these matters). Then I had to generalize token types to something around 10 because it was not manageable with more than 100s of token types.  After this was done I added required classes to provide text colouring such as PreferenceInitializer and LineStyleProvider. Then with some more bug fixing and mucking around finally got the required result.</p>
<p>But mind you, this is not completely tested nor bug free. I already have a list of bugs to fix regarding text parsing and some more runtime errors. So if you have a thing for xquery and some spare time, grab a copy please and list any error you see in text parsing (For now you will have to grab a copy from SF  using the address stated below but I’m now working on an update site for the project so it won’t be that hard then)</p>
<p>CVS: eclipse-incub.cvs.sourceforge.net/cvsroot/eclipse-incub/org.eclipse.wst.xquery</p>
<p style="text-align: center;"><img alt="Eclipse-XQuery Syntax Colouring" class="aligncenter" height="332" src="http://luckycala.files.wordpress.com/2008/07/xquery1.jpg?w=556&amp;h=332" width="556"/></p>
<br/><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/luckycala.wordpress.com/84/"/> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/luckycala.wordpress.com/84/"/> <a href="http://feeds.wordpress.com/1.0/gocomments/luckycala.wordpress.com/84/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/luckycala.wordpress.com/84/"/></a> <a href="http://feeds.wordpress.com/1.0/godelicious/luckycala.wordpress.com/84/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/luckycala.wordpress.com/84/"/></a> <a href="http://feeds.wordpress.com/1.0/gostumble/luckycala.wordpress.com/84/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/luckycala.wordpress.com/84/"/></a> <a href="http://feeds.wordpress.com/1.0/godigg/luckycala.wordpress.com/84/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/luckycala.wordpress.com/84/"/></a> <a href="http://feeds.wordpress.com/1.0/goreddit/luckycala.wordpress.com/84/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/luckycala.wordpress.com/84/"/></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=luckycala.wordpress.com&amp;blog=617892&amp;post=84&amp;subd=luckycala&amp;ref=&amp;feed=1"/></div>
    </content>
    <updated>2008-07-28T10:07:20Z</updated>
    <category term="Eclipse"/>
    <category term="FOSS"/>
    <category term="Fun"/>
    <category term="GSoC"/>
    <category term="Java"/>
    <category term="My Activities"/>
    <category term="XQuery"/>
    <author>
      <name>Laknath</name>
    </author>
    <source>
      <id>http://luckycala.wordpress.com</id>
      <logo>http://www.gravatar.com/blavatar/2df3c4229d9cd3d4d7e4327869d33f5b?s=96&amp;d=http://s2.wp.com/i/buttonw-com.png</logo>
      <link href="http://luckycala.wordpress.com/tag/eclipse/feed/?mrss=off" rel="self" type="application/atom+xml"/>
      <link href="http://luckycala.wordpress.com" rel="alternate" type="text/html"/>
      <link href="http://luckycala.wordpress.com/osd.xml" rel="search" type="application/opensearchdescription+xml"/>
      <link href="http://luckycala.wordpress.com/?pushpress=hub" rel="hub" type="text/html"/>
      <subtitle>The life of a web lover</subtitle>
      <title>Tech Gossips » Eclipse</title>
      <updated>2010-04-27T13:55:41Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://dev.eclipse.org/blogs/jeff/2008/07/14/eclipse-summit-europe/</id>
    <link href="http://dev.eclipse.org/blogs/jeff/2008/07/14/eclipse-summit-europe/" rel="alternate" type="text/html"/>
    <title>Eclipse Summit Europe</title>
    <summary>Now that Ganymede is out the door and the teams have had a chance to breathe a bit, its worth taking a few minutes to think about how you can promote all the hard work you’ve put into the release.  One of the best forums you could ask for is Eclipse Summit Europe.  [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Now that Ganymede is out the door and the teams have had a chance to breathe a bit, its worth taking a few minutes to think about how you can promote all the hard work you’ve put into the release.  One of the best forums you could ask for is <a href="http://www.eclipsecon.org/summiteurope2008/">Eclipse Summit Europe</a>.  I’ve been to all of the ESE events and have found them to be fantastic.  The conference is chock full of interesting people and talks.  The venue is very inviting and if we are lucky, there will be another <span style="font-size: small;"><a href="http://en.wikipedia.org/wiki/Caipirinha">caipirinha</a> night. </span>Why not make one of those talks (and drinks) be yours this year?  The first step is to <a href="http://www.eclipsecon.org/summiteurope2008/submissions">propose a talk</a>.  The conference is in November but the talk submission deadline is coming up in September.  Don’t put it off, submit early and often…</p></div>
    </content>
    <updated>2008-07-14T15:15:40Z</updated>
    <category term="Uncategorized"/>
    <author>
      <name>Jeff McAffer</name>
    </author>
    <source>
      <id>http://dev.eclipse.org/blogs/jeff</id>
      <link href="http://dev.eclipse.org/blogs/jeff/feed" rel="self" type="application/atom+xml"/>
      <link href="http://dev.eclipse.org/blogs/jeff" rel="alternate" type="text/html"/>
      <subtitle>Thinking without a box</subtitle>
      <title>Jeff on Eclipse</title>
      <updated>2009-01-14T22:10:52Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://luckycala.wordpress.com/?p=81</id>
    <link href="http://luckycala.wordpress.com/2008/07/12/xquery-plugin-journey-continues/" rel="alternate" type="text/html"/>
    <title>XQuery plugin – Journey continues…</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Last few weeks had been good for the new plugin. Nothing too fnacy yet, but now I think it has a firm basic structure and other necessary classes to name it as an “Eclispe SSE based editor”. Regarding how it’s processing is done (since that’s what really matters), we have thought of following a somewhat [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=luckycala.wordpress.com&amp;blog=617892&amp;post=81&amp;subd=luckycala&amp;ref=&amp;feed=1"/></div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Last few weeks had been good for the new plugin. Nothing too fnacy yet, but now I think it has a firm basic structure and other necessary classes to name it as an “Eclispe SSE based editor”.</p>
<p>Regarding how it’s processing is done (since that’s what really matters), we have thought of following a somewhat same structure as in HTML+CSS plugins. This is due to the syntax of XQuery which is like a combination of XML and SQL, as you can see from these <a href="http://www.w3.org/TR/xquery-use-cases/">user cases</a>. So as David suggested, the easiest way is to first understand how HTML plugin handles embedded CSS and then use the same technique to add syntax colouring in the new XQUERY_XPATH context after going through the XQuery Parser.  So now I’m currently going through adding required classes for line styling  and parsing.</p>
<p>So my immediate targets are,</p>
<p>1) Add line colouring and parsing XQuery partition</p>
<p>2) Add content assistance through re-parsing</p>
<p>It’s not easy to materialize a parser out of nowhere. But it has to begin from somewhere, is it not ?</p>
<p>Other than that the plugin now has basic support for Preference pages &amp; Outline so they will also be improved as the project goes on.</p>
<p>Here is a peek at the new editor.</p>
<p style="text-align: center;"><img alt="A peek at new XQuery Editor" class="aligncenter" height="355" src="http://luckycala.files.wordpress.com/2008/07/xquery.jpg?w=596&amp;h=355" width="596"/></p>
<p style="text-align: left;">As I may have mentioned previously, without the help of David and other guys at Eclipse IRC I would have been totally lost. There are gaping holes in Eclipse main documentation and most clsss references on SSE aren’t complete. So as that is what any newcomer will look in to when faced with a tricky situation, I truly think more attention must be put into improving Eclipse documentation and who knows, that alone could attract new energy into Eclipse community.</p>
<br/><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/luckycala.wordpress.com/81/"/> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/luckycala.wordpress.com/81/"/> <a href="http://feeds.wordpress.com/1.0/gocomments/luckycala.wordpress.com/81/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/luckycala.wordpress.com/81/"/></a> <a href="http://feeds.wordpress.com/1.0/godelicious/luckycala.wordpress.com/81/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/luckycala.wordpress.com/81/"/></a> <a href="http://feeds.wordpress.com/1.0/gostumble/luckycala.wordpress.com/81/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/luckycala.wordpress.com/81/"/></a> <a href="http://feeds.wordpress.com/1.0/godigg/luckycala.wordpress.com/81/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/luckycala.wordpress.com/81/"/></a> <a href="http://feeds.wordpress.com/1.0/goreddit/luckycala.wordpress.com/81/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/luckycala.wordpress.com/81/"/></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=luckycala.wordpress.com&amp;blog=617892&amp;post=81&amp;subd=luckycala&amp;ref=&amp;feed=1"/></div>
    </content>
    <updated>2008-07-12T23:26:57Z</updated>
    <category term="Eclipse"/>
    <category term="FOSS"/>
    <category term="Fun"/>
    <category term="GSoC"/>
    <category term="Java"/>
    <category term="My Activities"/>
    <category term="XQuery"/>
    <author>
      <name>Laknath</name>
    </author>
    <source>
      <id>http://luckycala.wordpress.com</id>
      <logo>http://www.gravatar.com/blavatar/2df3c4229d9cd3d4d7e4327869d33f5b?s=96&amp;d=http://s2.wp.com/i/buttonw-com.png</logo>
      <link href="http://luckycala.wordpress.com/tag/eclipse/feed/?mrss=off" rel="self" type="application/atom+xml"/>
      <link href="http://luckycala.wordpress.com" rel="alternate" type="text/html"/>
      <link href="http://luckycala.wordpress.com/osd.xml" rel="search" type="application/opensearchdescription+xml"/>
      <link href="http://luckycala.wordpress.com/?pushpress=hub" rel="hub" type="text/html"/>
      <subtitle>The life of a web lover</subtitle>
      <title>Tech Gossips » Eclipse</title>
      <updated>2010-04-27T13:55:41Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-9180365846603502475.post-9216116451692885374</id>
    <link href="http://nitind.blogspot.com/feeds/9216116451692885374/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=9180365846603502475&amp;postID=9216116451692885374" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/9180365846603502475/posts/default/9216116451692885374" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/9180365846603502475/posts/default/9216116451692885374" rel="self" type="application/atom+xml"/>
    <link href="http://nitind.blogspot.com/2008/07/eclipse-ganymede-has-been-out-for-about.html" rel="alternate" type="text/html"/>
    <title>What's new in Ganymede for Java EE</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Eclipse Ganymede has been out for about two weeks now, but when perusing its download page I didn't find links to the New and Noteworthy items in each package.  The Java EE package <a href="http://eclipsewebmaster.blogspot.com/2008/07/ganymede-after-12-days.html">would appear to be a hit</a>, likely because that's an easy way to install the Web Tools Platform.   Admittedly I'm biased since I both work on WTP and regularly coordinate its New and Noteworthy documents, but check out what's new in WTP <a href="http://www.eclipse.org/webtools/releases/3.0.0/newandnoteworthy/">right here</a>.  As if that weren't enough, to really see all that's new in the "Eclipse IDE for Java EE Developers", you also want to read about what's new in the <a href="http://live.eclipse.org/node/547">Data Tools Platform</a>, the DSDP's <a href="http://www.eclipse.org/dsdp/tm/development/relnotes/3.0/tm-news-3.0.html">Remote System Explorer</a>, <a href="http://wiki.eclipse.org/EMF/EMF_2.4/New_and_Noteworthy">EMF</a>, <a href="http://www.eclipse.org/mylyn/new/">Mylyn</a>, <a href="http://dev.eclipse.org/mhonarc/lists/gef-dev/ppt4nhbXM64XI.ppt">GEF</a>, and the <a href="http://download.eclipse.org/eclipse/downloads/drops/R-3.4-200806172000/whatsnew3.4/eclipse-news.html">Eclipse</a> Platform with its JDT and PDE trimmings.</p><p>You might want to go grab a drink before you sit down and read it all.</p><div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/9180365846603502475-9216116451692885374?l=nitind.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2008-07-09T17:02:06Z</updated>
    <published>2008-07-09T16:02:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="eclipse"/>
    <author>
      <name>Nitin Dahyabhai</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/09223757027302994024</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-9180365846603502475</id>
      <author>
        <name>Nitin Dahyabhai</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/09223757027302994024</uri>
      </author>
      <link href="http://nitind.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/9180365846603502475/posts/default/-/eclipse" rel="self" type="application/atom+xml"/>
      <link href="http://nitind.blogspot.com/search/label/eclipse" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <title>It's not a bug, it's an accidental feature</title>
      <updated>2010-05-27T19:19:01Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-7898970008734109284.post-2226124138087617718</id>
    <link href="http://cpp-muttering.blogspot.com/feeds/2226124138087617718/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=7898970008734109284&amp;postID=2226124138087617718" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/7898970008734109284/posts/default/2226124138087617718" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/7898970008734109284/posts/default/2226124138087617718" rel="self" type="application/atom+xml"/>
    <link href="http://cpp-muttering.blogspot.com/2008/06/documentation-goodies-in-34.html" rel="alternate" type="text/html"/>
    <title>Documentation goodies in 3.4</title>
    <summary>Just a quick update on the new Eclipse 3.4 documentation goodies that improve doc creation, including:- TOC editor for quick and easy table of contents creation- Context help editor for fast linking of page content with help context IDs. Man, has this made my life easier.- Plug-in Spy for actual confirmation of help context IDs within a dialog or view.That's not to say everything is perfect yet</summary>
    <updated>2008-06-30T20:23:51Z</updated>
    <published>2008-06-30T19:46:00Z</published>
    <author>
      <name>frank</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/16367423341141776840</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-7898970008734109284</id>
      <author>
        <name>frank</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/16367423341141776840</uri>
      </author>
      <link href="http://cpp-muttering.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/7898970008734109284/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://cpp-muttering.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>Obscure thoughts on the state of user assistance in the technological world</subtitle>
      <title>Muttering to myself</title>
      <updated>2010-06-08T00:05:49Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://dev.eclipse.org/blogs/jeff/2008/06/24/cola-is-just-too-cool/</id>
    <link href="http://dev.eclipse.org/blogs/jeff/2008/06/24/cola-is-just-too-cool/" rel="alternate" type="text/html"/>
    <title>Cola is just too cool!</title>
    <summary>This is just too cool.  The ECF guys (in particular Mustafa Isik) have some up with a system for real-time shared editing mechanism called Cola.  I’ve not tried it myself but the screencast they put together is so compelling that I had to stop watching it and post this!  Check it out. [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>This is just too cool.  The ECF guys (in particular <a href="http://www.blogger.com/profile/09438312192723151477">Mustafa Isik</a>) have some up with a system for real-time shared editing mechanism called Cola.  I’ve not tried it myself but the <a href="http://codesurgeonblog.com/2008/06/cola-real-time-shared-editing.html">screencast</a> they put together is so compelling that I had to stop watching it and post this!  Check it out.  Very cool.  And the HD mode on the video is awesome.  Well done guys.</p>
<p>p.s., yes I realize that I used “cool” three times in this short post.  What can I say…</p></div>
    </content>
    <updated>2008-06-24T13:41:54Z</updated>
    <category term="eclipse"/>
    <author>
      <name>Jeff McAffer</name>
    </author>
    <source>
      <id>http://dev.eclipse.org/blogs/jeff</id>
      <link href="http://dev.eclipse.org/blogs/jeff/feed" rel="self" type="application/atom+xml"/>
      <link href="http://dev.eclipse.org/blogs/jeff" rel="alternate" type="text/html"/>
      <subtitle>Thinking without a box</subtitle>
      <title>Jeff on Eclipse</title>
      <updated>2009-01-14T22:10:52Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-1635914434669939226.post-87427540367661970</id>
    <link href="http://recoskie.blogspot.com/feeds/87427540367661970/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=1635914434669939226&amp;postID=87427540367661970" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/1635914434669939226/posts/default/87427540367661970" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/1635914434669939226/posts/default/87427540367661970" rel="self" type="application/atom+xml"/>
    <link href="http://recoskie.blogspot.com/2008/06/more-things-slow-down-more-they-heat-up.html" rel="alternate" type="text/html"/>
    <title>The More Things Slow Down, The More They Heat Up</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Well, it's that time of year again.  The big push to get CDT 5.0 out the door is essentially over.  Ganymede bits are being uploaded to the servers by the various projects.  Things are looking good.  It seems like it's just about time to finally sit out on a patio somewhere with a nice frosty beverage and relax.<br/><br/>Or is it?<br/><br/>Firstly, I'm busy prepping to participate again this year in the Ride for Sight, which is the longest running motorcycle charity in Canada. It's going to be a full day this coming Saturday, with many hours of riding, and I have to make sure all my gear is in order.    And also, it's the final stretch of fundraising, so I'm busily annoying all my friends.  (Shameless plug... to find out how you can donate, go to <a href="http://my.e2rm.com/personalPage.aspx?SID=1839011"><span style="text-decoration: underline;">my donation page</span></a> ).  Hopefully this weekend I won't forget my hat like I did at the <a href="http://www.pd13.com/">Port Dover Friday the 13th Rally</a> last weekend and get sunburnt...<br/><br/>But more on topic, my team still has a lot of work going on right now.  Right now most of us are working on <a href="http://wiki.eclipse.org/PTP/planning/remote">Remote Development Tools</a>, which is not on the Ganymede train.  We just contributed our first initial drop of our C/C++ remote indexing tools to Bugzilla for consideration, and are still working hard to get more done so that we can get to the point where people might actually start using this stuff.<br/><br/>So... what is this stuff?<br/><br/>Essentially, we are trying to create a development environment where you can run your IDE on your local workstation, but the actual code resides on another <span style="font-style: italic;">target machine</span>.  Maybe this machine is a mainframe with no graphical windowing capabilities, maybe it's a <a href="http://en.wikipedia.org/wiki/IBM_Roadrunner">gigantic supercomputer</a> that you don't physically have on your desk (or if you did, you'd need a REALLY big desk...).  In any case, the code you're actually working on resides somewhere that is not local.<br/><p>Most of the most exciting value adds provided by Eclipse compared to other development environments require knowledge of the structure of the user's source code. Features such as source code navigation, content assist, intelligent search, call hierarchy view, type hierarchy view, the include browser, refactoring, and other features all require parsing the user's source code and producing an index which allows for name based lookups of source code elements. </p><p>Parsing and indexing are both very CPU and memory intensive operations, and good performance is a key requirement if these features are to be used by the average user. The remote scenario provides for some unique, additional challenges which have to be overcome in order for the features to work quickly and correctly. </p><p>Some important points to consider: </p> <ul><li> Network mounting the files and operating on them "locally" has been <a class="external text" href="http://dev.eclipse.org/mhonarc/lists/cdt-dev/msg09529.html" rel="nofollow" title="http://dev.eclipse.org/mhonarc/lists/cdt-dev/msg09529.html">proven</a> to be slow, even on fast (100 megabit) connections with very few intermediate hops. </li><li> Downloading the entire set of remote files (both project files and included system headers, which are not generally found on the local machine) is similarly slow. </li><li> Sometimes the remote machine uses a different text codepage encoding than the local machine. This means that not only must the source files be transferred, but they may have to undergo a codepage conversion process, which slows things down even further. </li><li> Abstract Syntax Trees (ASTs) and indices are typically much larger than the original source code from which they are produced, because they store much more information. I.e., they store a certain amount of syntactic and/or semantic understanding, which is inherently more information than is imparted by the raw bytes that correspond to the source text. As such, it's even more impractical to transfer ASTs or indices than it is to just transfer the original source. </li><li> The way a file needs to be parsed in order to be interpreted correctly is often dependent upon the manner in which the file is compiled. E.g., macros and include paths may be defined/redefined on the command line of any individual compilation of any individual file. A successful parse requires that those same macros and include paths be provided to the parser when it runs. </li><li> Often the remote machine has greater CPU power than the local machine, so it can often complete parsing and indexing tasks more quickly than the local machine. </li><li> Remote machines are often accessed at geographically separated locations. The intermediate topology of the network can often be complicated, with many hops, and slow links. As such, in order to maintain performance it's important for as little data as possible be transferred back and forth between the local machine and the remote machine. </li></ul> <p>As such, we feel that if the Remote Development Tools are to be successful, then they must provide remote services that allow the user to do all of the parsing and indexing on the remote machine. The local machine can query the remote machine for data it is interested in, and only this data gets transferred over the remote connection. </p>So, that's the motivation.  We just contributed a framework and reference implementation that implements the following features for C/C++:<br/><br/><ul><li>A New Remote C/C++ Project wizard that allows you to create remote projects and configure your service model (files are served by EFS)<br/></li><li> Integrated index lifecycle management </li><li> Automatic source code delta handling (the index is automatically updated when files in your project are added/removed/changed) </li><li> Remote Search </li><li> Remote Call Hierarchy </li><li> Remote Navigation (e.g. Go To Declaration) </li></ul> Other planned services include:<br/><ul><li>Content Assist </li><li> Type Hierarchy </li><li> Include browser </li><li> Model builder </li></ul>But that's not all.  Currently I'm working on a remote make builder, which will essentially let you farm out the build commands for your project over the protocol of your choice (e.g. SSH), scan the build output for errors (like we already do in CDT), and map those back to the EFS resources in your project so that you can do standard things like click on errors in the Problems View from your remote compile and be whisked away to the corresponding source location.<br/><br/>The builder in fact is probably the most important feature to have.  Really the "I" in IDE isn't there if you can't build anything.  Source introspection tools are nice, but if your tool can't build my source, chances are I'm not going to use it.<br/><br/>At any rate... it's looking like it's going to be a busy summer...<br/><br/><a href="http://my.e2rm.com/personalPage.aspx?SID=1839011" rel="nofollow" target="_blank"/><div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/1635914434669939226-87427540367661970?l=recoskie.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2008-06-18T15:31:53Z</updated>
    <published>2008-06-18T14:11:00Z</published>
    <author>
      <name>Chris Recoskie</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/07837602715087138014</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-1635914434669939226</id>
      <author>
        <name>Chris Recoskie</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/07837602715087138014</uri>
      </author>
      <link href="http://recoskie.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/1635914434669939226/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://recoskie.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <title>Chris Recoskie's Blog</title>
      <updated>2010-06-08T19:38:18Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-27387829.post-5529854697532492026</id>
    <link href="http://eclipselowdown.blogspot.com/feeds/5529854697532492026/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=27387829&amp;postID=5529854697532492026" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/27387829/posts/default/5529854697532492026" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/27387829/posts/default/5529854697532492026" rel="self" type="application/atom+xml"/>
    <link href="http://eclipselowdown.blogspot.com/2008/06/compare-merge-viewer-example-merging.html" rel="alternate" type="text/html"/>
    <title>Compare Merge Viewer Example: Merging Word Documents</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">I just finished writing up <span style="text-decoration: underline;"/>a <a href="http://wiki.eclipse.org/Compare_Word_Documents">Wiki article</a> describing how to implement a custom (i.e. non-text based) compare merge viewer. The example I used was a Word document comparison. Hopefully I'll be able to get the code into the Eclipse 3.5 stream once floodgates open for 3.5 development but, in the meantime, there's a link in the article from which you can download the bundle (it's a fragment of the org.eclipse.compare plug-in).  The code is compatible with 3.3 and 3.4 so if you are interested in either seeing how to implement a custom compare merge viewer or you want to try out the Word document compare viewer, check out the article.<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/27387829-5529854697532492026?l=eclipselowdown.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2008-06-13T15:11:18Z</updated>
    <published>2008-06-13T15:00:00Z</published>
    <author>
      <name>Michael Valenta</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/06492420263178417384</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-27387829</id>
      <author>
        <name>Michael Valenta</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/06492420263178417384</uri>
      </author>
      <link href="http://eclipselowdown.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/27387829/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://eclipselowdown.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>The view of the Eclipse world from the bottom of the stack</subtitle>
      <title>Eclipse from the bottom up</title>
      <updated>2010-02-15T11:54:49Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://dev.eclipse.org/blogs/jdtui/2008/06/10/34-new-and-noteworthy/</id>
    <link href="http://dev.eclipse.org/blogs/jdtui/2008/06/10/34-new-and-noteworthy/" rel="alternate" type="text/html"/>
    <title>3.4 New and Noteworthy</title>
    <summary>It’s that time of the year, when the summer finally kicks in here in Switzerland, and we all calm down and look back to what we have achieved in the last 12 months. It’s that time of the year when we have our, hopefully, last release candidate built and the release of Eclipse is only [...]</summary>
    <updated>2008-06-10T18:08:36Z</updated>
    <category term="Uncategorized"/>
    <author>
      <name>Benno Baumgartner</name>
    </author>
    <source>
      <id>http://dev.eclipse.org/blogs/jdtui</id>
      <link href="http://dev.eclipse.org/blogs/jdtui/feed/" rel="self" type="application/atom+xml"/>
      <link href="http://dev.eclipse.org/blogs/jdtui" rel="alternate" type="text/html"/>
      <subtitle>The JDT/UI and Text team presents new API and features</subtitle>
      <title>JDT/UI and Text Team Blog</title>
      <updated>2008-08-25T07:18:34Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://www.codecommit.com/blog/eclipse/the-problem-of-perspective-multiplicity</id>
    <link href="http://www.codecommit.com/blog/eclipse/the-problem-of-perspective-multiplicity" rel="alternate" type="text/html"/>
    <title>The Problem of Perspective Multiplicity</title>
    <summary>Some six years ago, I switched my primary IDE from NetBeans to Eclipse JDT (then 2.0).  At the time, I did this primarily because NetBeans was too much of a resource hog for my pathetic development machine, but I quickly learned to appreciate the power of the Eclipse development environment.  NetBeans has since made great [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Some six years ago, I switched my primary IDE from NetBeans to Eclipse JDT (then 2.0).  At the time, I did this primarily because NetBeans was too much of a resource hog for my pathetic development machine, but I quickly learned to appreciate the power of the Eclipse development environment.  NetBeans has since made great strides of course, but at the time, Eclipse was lightyears beyond it in both features and polish.</p>
<p>One of the more interesting features offered by Eclipse was the concept of a “perspective”, a collection of views in a specific layout conducive to performing a specific series of tasks.  The major upshot of this was instead of the debugger views popping in and out, they simply remained hidden in a separate perspective, ready to restore to your customized configuration as necessary.  This innovation was also present in other areas, such as the CVS Team view and the Update Manager (yes, the Eclipse update system was once a set of views and editors).</p>
<p>You could switch between these perspectives manually of course, but most of the time Eclipse was able to just detect which perspective you needed and make the switch automatically.  If you were to launch an application in debug mode for example, the “Debug” perspective would be opened automatically, bringing useful views to the fore.  Once you were done debugging, it was easy to switch back to the “Java” perspective for more streamlined editing.  It was a good system, and it worked well.</p>
<p>Unfortunately, times have changed.  Don’t get me wrong, I still love having all my debug views and layout saved for me in a discrete section of the app, ready to access on a moment’s notice.  But Eclipse is no longer the single-purpose application it once was.  Yes, I know that it has always been billed as “an open tool platform for everything and nothing in particular”, but back in the day (and especially before OSGi) most people had yet to realize this.  The only language supported by Eclipse on any serious level was Java, thus the perspective system worked extremely well for organizing IDE views.  Now, Eclipse serves as the foundation for IDE frameworks supporting dozens of different languages, requiring an equal (if not greater) number of perspectives.</p>
<p align="center"> <img alt="image" border="0" height="57" src="http://www.codecommit.com/blog/wp-content/uploads/2008/06/image.png" width="695"/> </p>
<p>Even in this screenshot, I’m still hiding easily 70% of the perspectives available to Eclipse.  With all of these different view collections and configurations, it’s no wonder that people often find Eclipse to be confusing compared to other IDEs.  In NetBeans (for example) you can work with as many languages as you want within a single perspective/layout/configuration.  The outline shows the relevant information for whatever file you have open, and the project explorer view is fully integrated with each language, showing all available projects and their associated structure.  Most importantly, this view is able to show project <em>logical</em> structure as dictated by the support module for that language (e.g. src/, test/, etc).</p>
<p>Effectively, other IDEs have evolved a single “Development” perspective, one which shows a generic set of views common to all languages.  Unlike Eclipse, which requires switching to the Ruby perspective or the C/C++ perspective to get the appropriate project viewer, NetBeans has one project viewer which is extensible by any module.  Eclipse has some of this with the Package Explorer, but some plugins like DLTK don’t properly integrate and so the view isn’t as streamlined.  Additionally, some functions like “Open Type” don’t work appropriately unless in the corresponding perspective for a given language.</p>
<p>Yes, I am aware that I could simply open any views I want within a single perspective, but that’s not what I’m looking for.  I don’t <em>want</em> to open five different views for navigating project files, I want to have one master view which shows me everything through the filter of whatever language is relevant to the project.  Project Explorer comes close, but it fails to handle the tighter integration (such as the “Referenced Libraries” in JDT or script outlines for DLTK).</p>
<p>Theoretically, Eclipse only needs four or five perspectives for the average developer working with any number of languages: Develop, Debug, Test, Repositories, Synchronize.  Obviously, more perspectives would be needed for functionality which does not conform to normal development conventions (such as “Planning” or even “Email”), but I think that these core perspectives could provide a consistent, generic framework to which any language IDE could conform.  We can already see something similar happening with the Debug perspective, which is used by Java, Ruby, Scala and C/C++ alike.</p>
<p>What is needed is a common super-framework to be extended by actual language implementations such as JDT, CDT and the like (similar to what DLTK provides but more encompassing).  This framework should provide a common platform with features such as project viewing, outline, documentation, type hierarchy, call hierarchy, open type, etc.  This platform would then be specialized by the relevant IDE and the <em>same views</em> would allow extension to fit the needs of the language in question.  This already happens with the Outline view, but it needs to occur with other common functions as enumerated.  Views which are not common to different languages (such as Ant Build or Make Targets) would of course not be contained within this super-framework, but would be separate views as they are now.  This framework would allow a developer to use a single set of views for any language, never requiring a workflow-disrupting change of perspective.</p>
<p>The building blocks are all in place, and such an effort would still be in line with the Eclipse philosophy of total extensibility, it’s merely a question of implementation and opinion.  The implementation is simple, as I said, most of the functionality is already available (often redundantly) in any one of the many IDE packages.  The bigger challenge is to convince those who have the power to make the decision.  Eclipse 4.0 is coming, it should be an interesting road to follow.</p></div>
    </content>
    <updated>2008-06-02T07:00:51Z</updated>
    <category term="Eclipse"/>
    <author>
      <name>Daniel Spiewak</name>
    </author>
    <source>
      <id>http://www.codecommit.com/blog</id>
      <link href="http://www.codecommit.com/blog/category/eclipse/feed" rel="self" type="application/atom+xml"/>
      <link href="http://www.codecommit.com/blog" rel="alternate" type="text/html"/>
      <link href="http://www.codecommit.com/blog/?pushpress=hub" rel="hub" type="text/html"/>
      <subtitle>(permanently in beta)</subtitle>
      <title>Code Commit » Eclipse</title>
      <updated>2010-06-09T06:16:24Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-1635914434669939226.post-3868387198485071255</id>
    <link href="http://recoskie.blogspot.com/feeds/3868387198485071255/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=1635914434669939226&amp;postID=3868387198485071255" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/1635914434669939226/posts/default/3868387198485071255" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/1635914434669939226/posts/default/3868387198485071255" rel="self" type="application/atom+xml"/>
    <link href="http://recoskie.blogspot.com/2008/05/e4-now-with-more-openness.html" rel="alternate" type="text/html"/>
    <title>e4: Now With More Openness!</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Well I haven't been blogging too much since EclipseCon. I came home from EclipseCon with a nasty bout of pneumonia which kept me on the bench for a bit, and ever since I've been back in the game I've been working flat out on the <a href="http://wiki.eclipse.org/PTP/planning/remote">Remote Development Tools (RDT)</a> initiative. (So flat out in fact that the wiki page that link goes to is woefully out of date. ) A lot of late hours and many Red Bulls later, we've got a first proof of concept demo up and running on the new RDT framework in time for our upcoming deadline, so I can finally take a bit of time again for things like attending meetings and blogging about them.<br/><br/>I spent Thursday and Friday last week at the <a href="http://wiki.eclipse.org/E4/Summit">e4 Summit</a>. I won't bore everyone with all the technical details, as those can be found on the wiki page, but I wanted to make a point to express some serious kudos to everyone that made this meeting happen, especially given my past criticisms of openness in the platform.<br/><br/>The platform is entering a new era of openness. Seeing thirty people from thirteen different companies/organizations all working together under the scrutiny of the public eye to help design and build the next generation of the Eclipse Platform is a wonderful sight to behold. All the discussion and decisions are being made in the open where anyone can participate, whether it's at the Summit, on the mailing lists, or on the upcoming project conference calls. All the people who attended the summit are going to receive commit rights (if they want them) under the aegis of the new incubator project (which is not the old incubator project).<br/><br/>So, massive props to the Platform Team and everyone else involved. You are doing a great thing right now, and you deserve to be recognized for it. Good on ya!<br/><br/>We've got a lot of momentum going right now on e4. Great opportunities are opening up for everyone to participate in something special here, whether it's on the new browser-based-Eclipse stuff, or working or a new resource model, or something else. If you think there is something that should be a part of e4 that isn't, now is your time to speak up and contribute.<br/><br/>I want to emphasize the word contribute as well. People have harped on the Platform for years about it being hard to contribute to. Now that things are changing in that respect, the onus is on the rest of the community to put their code where their mouth is. Being open is not the silver bullet to build a thriving, diverse committer community. Ultimately it takes people writing code, and you could be one of those people. If you want to see something happen, pick up a keyboard and lend a hand, any way you can. The Platform folks are doing their part in opening things up, now it's the community's turn to take advantage of the opportunity. Don't waste it.<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/1635914434669939226-3868387198485071255?l=recoskie.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2008-05-26T18:19:11Z</updated>
    <published>2008-05-26T18:18:00Z</published>
    <author>
      <name>Chris Recoskie</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/07837602715087138014</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-1635914434669939226</id>
      <author>
        <name>Chris Recoskie</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/07837602715087138014</uri>
      </author>
      <link href="http://recoskie.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/1635914434669939226/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://recoskie.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <title>Chris Recoskie's Blog</title>
      <updated>2010-06-08T19:38:18Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-2364130056272432621.post-1289520148593867428</id>
    <link href="http://eclipsemago.blogspot.com/feeds/1289520148593867428/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=2364130056272432621&amp;postID=1289520148593867428" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/2364130056272432621/posts/default/1289520148593867428" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/2364130056272432621/posts/default/1289520148593867428" rel="self" type="application/atom+xml"/>
    <link href="http://eclipsemago.blogspot.com/2008/05/eclipse-certification.html" rel="alternate" type="text/html"/>
    <title>Eclipse Certification?</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Recently, I passed the UML certification test of OMG. It was pretty theoretical, but it was worth the hassle. It signals to your future employers and colleagues that you care about a subject and thought more deeply about it.<br/><br/>So I think certifications make sense and build trust.<br/><br/>Currently, there is no Eclipse certification program. But I think that would be a great addition to the Eclipse community.<br/><br/>This article cites top reasons for an Eclipse certification program: <a href="http://ahtik.com/blog/2006/11/11/top-5-reasons-for-eclipse-certification/">http://ahtik.com/blog/2006/11/11/top-5-reasons-for-eclipse-certification/</a><br/><br/>Others think certifications are not useful: <a href="http://wbeaton.blogspot.com/2006/11/certification-is-useful.html">http://wbeaton.blogspot.com/2006/11/certification-is-useful.html</a><div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/2364130056272432621-1289520148593867428?l=eclipsemago.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2008-05-01T08:37:32Z</updated>
    <published>2008-05-01T08:32:00Z</published>
    <author>
      <name>Thomas Derflinger</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/06792521758956695775</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-2364130056272432621</id>
      <author>
        <name>Thomas Derflinger</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/06792521758956695775</uri>
      </author>
      <link href="http://eclipsemago.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/2364130056272432621/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://eclipsemago.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <title>Eclipse Mago</title>
      <updated>2010-05-19T19:44:48Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://deugoeclipse.wordpress.com/?p=11</id>
    <link href="http://deugoeclipse.wordpress.com/2008/04/30/eclipse-lite-languages/" rel="alternate" type="text/html"/>
    <title>Eclipse Lite Languages</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">As part of the Eclipse University Outreach initiative, I have developed plug-ins that allow students to evaluate Scheme and Prolog in Eclipse. A beta version of the Scheme plug-ins is now available. After resolving some licensing issues, the Prolog beta version should be available in June.  You can view the user guides here for both [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=deugoeclipse.wordpress.com&amp;blog=2928241&amp;post=11&amp;subd=deugoeclipse&amp;ref=&amp;feed=1"/></div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>As part of the Eclipse University Outreach initiative, I have developed plug-ins that allow students to evaluate Scheme and Prolog in Eclipse. A beta version of the Scheme plug-ins is now available. After resolving some licensing issues, the Prolog beta version should be available in June.  You can view the user guides <a href="http://www.scs.carleton.ca/~deugo/eclipse-university-outreach/" target="_blank" title="Eclipse University Outreach">here </a>for both to get a feel for what they can do. You can also download the Scheme plug-ins from the same location. Next up will be a lite version for Java.</p>
<br/><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/deugoeclipse.wordpress.com/11/"/> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/deugoeclipse.wordpress.com/11/"/> <a href="http://feeds.wordpress.com/1.0/gocomments/deugoeclipse.wordpress.com/11/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/deugoeclipse.wordpress.com/11/"/></a> <a href="http://feeds.wordpress.com/1.0/godelicious/deugoeclipse.wordpress.com/11/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/deugoeclipse.wordpress.com/11/"/></a> <a href="http://feeds.wordpress.com/1.0/gostumble/deugoeclipse.wordpress.com/11/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/deugoeclipse.wordpress.com/11/"/></a> <a href="http://feeds.wordpress.com/1.0/godigg/deugoeclipse.wordpress.com/11/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/deugoeclipse.wordpress.com/11/"/></a> <a href="http://feeds.wordpress.com/1.0/goreddit/deugoeclipse.wordpress.com/11/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/deugoeclipse.wordpress.com/11/"/></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=deugoeclipse.wordpress.com&amp;blog=2928241&amp;post=11&amp;subd=deugoeclipse&amp;ref=&amp;feed=1"/></div>
    </content>
    <updated>2008-04-30T15:29:51Z</updated>
    <category term="Eclipse"/>
    <category term="Eclipse University Outreach"/>
    <author>
      <name>Dwight Deugo</name>
    </author>
    <source>
      <id>http://deugoeclipse.wordpress.com</id>
      <logo>http://www.gravatar.com/blavatar/6fb7935251145c4938c8791832b312fa?s=96&amp;d=http://s2.wp.com/i/buttonw-com.png</logo>
      <link href="http://deugoeclipse.wordpress.com/feed/?mrss=off" rel="self" type="application/atom+xml"/>
      <link href="http://deugoeclipse.wordpress.com" rel="alternate" type="text/html"/>
      <link href="http://deugoeclipse.wordpress.com/osd.xml" rel="search" type="application/opensearchdescription+xml"/>
      <link href="http://deugoeclipse.wordpress.com/?pushpress=hub" rel="hub" type="text/html"/>
      <subtitle>Eclipse</subtitle>
      <title>Dwight Deugo's Eclipse Weblog</title>
      <updated>2010-04-27T13:57:42Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://dev.eclipse.org/blogs/jdtui/2008/04/30/allow-to-move-mouse-into-hover-or-how-to-make-it-stick/</id>
    <link href="http://dev.eclipse.org/blogs/jdtui/2008/04/30/allow-to-move-mouse-into-hover-or-how-to-make-it-stick/" rel="alternate" type="text/html"/>
    <title>Allow to move mouse into hover; or how to make it stick</title>
    <summary>If you are a user of our latest milestone build 3.4 M6a (you should!) you might have noticed that some of our hovers have changed their behavior: It is now possible to make them sticky by moving the mouse into the hover. This is much more than just a small enhancement: For us this is [...]</summary>
    <updated>2008-04-30T13:54:00Z</updated>
    <category term="Uncategorized"/>
    <author>
      <name>Benno Baumgartner</name>
    </author>
    <source>
      <id>http://dev.eclipse.org/blogs/jdtui</id>
      <link href="http://dev.eclipse.org/blogs/jdtui/feed/" rel="self" type="application/atom+xml"/>
      <link href="http://dev.eclipse.org/blogs/jdtui" rel="alternate" type="text/html"/>
      <subtitle>The JDT/UI and Text team presents new API and features</subtitle>
      <title>JDT/UI and Text Team Blog</title>
      <updated>2008-08-25T07:18:34Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-8808569580414031446.post-4018020601823869319</id>
    <link href="http://my-naked-truth.blogspot.com/feeds/4018020601823869319/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=8808569580414031446&amp;postID=4018020601823869319" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/8808569580414031446/posts/default/4018020601823869319" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/8808569580414031446/posts/default/4018020601823869319" rel="self" type="application/atom+xml"/>
    <link href="http://my-naked-truth.blogspot.com/2008/04/emf-meta-tooling-textual-searchreplace.html" rel="alternate" type="text/html"/>
    <title>EMF Meta Tooling : Textual Search/Replace Infrastructure Generation</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Dear Community,<br/><br/>for some time now, I have been busy developing an Ecore Search "meta tooling" framework in my "garage" ... ;-)<br/><br/>Eclipse 3.4M7 is coming &amp; I am reasonably happy to announce that a cool feature had been stabilized : Textual Search Infrastructure Generation For Arbitrary Ecore Models (Aka <a href="http://www.eclipse.org/modeling/emft/?project=search#search">EMF Search</a> Codegen).<br/><br/>This feature provides code generation facilities to produce custom search pages for arbitrary EMF models.<br/><br/>For instance, universally known <a href="http://www.eclipse.org/emf">EMF</a> project <a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.emf/org.eclipse.emf/tests/org.eclipse.emf.test.core/models/moviedb.genmodel?root=Modeling_Project&amp;view=co">MoviesDb.genmodel</a> example can have its EMF Search infrastructure generated/customized thanks to  a wizard:<br/><br/><a href="http://1.bp.blogspot.com/_Y-Ndv5dq4hg/SA8QuXJ6XTI/AAAAAAAAAxg/wO-tHxDaXgk/s1600-h/EMFSearchCodegenWizard.PNG"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5192387284057087282" src="http://1.bp.blogspot.com/_Y-Ndv5dq4hg/SA8QuXJ6XTI/AAAAAAAAAxg/wO-tHxDaXgk/s400/EMFSearchCodegenWizard.PNG" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;"/></a><br/><br/>producing following Eclipse Search page contribution :<br/><br/><br/><a href="http://4.bp.blogspot.com/_Y-Ndv5dq4hg/SA5j1XJ6XSI/AAAAAAAAAxU/dN632mSFgPk/s1600-h/KTTAFWWHHAAAA.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5192197188804566306" src="http://4.bp.blogspot.com/_Y-Ndv5dq4hg/SA5j1XJ6XSI/AAAAAAAAAxU/dN632mSFgPk/s400/KTTAFWWHHAAAA.png" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;"/></a><br/>Allowing to perform textual queries on EMF Models and replace as well :<br/><br/><a href="http://1.bp.blogspot.com/_Y-Ndv5dq4hg/SA8grXJ6XUI/AAAAAAAAAxo/jWSFhUJy15I/s1600-h/EMFSearchCodegenReplace.PNG"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5192404824703524162" src="http://1.bp.blogspot.com/_Y-Ndv5dq4hg/SA8grXJ6XUI/AAAAAAAAAxo/jWSFhUJy15I/s400/EMFSearchCodegenReplace.PNG" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;"/></a><br/>How great, isn't it ? ;-)<br/><br/>Intrepid developers would certainly be more than happy to grab the code from CVS or just play with it from our <a href="http://emft.eclipse.org/modeling/emft/downloads/?project=search&amp;sortBy=date&amp;hlbuild=0#latest">latest build</a>.<br/><br/>For more information you can refer to our "Custom EMF Search Infrastructure Generation" <a href="http://wiki.eclipse.org/EMF_Search---Quick_Start_Guide">Quick Start Guide</a> (<a href="http://74.53.13.78/eclipse/EMFSearch/EMFSearchCodegen.htm">Screencast Version</a>).<br/><br/>Hope all this stuff will help developers in EMF space by giving possibility to get a quick access to customizable search engines and UI integrations.<br/><br/>Go Eclipse, Go Modeling !<br/><br/>NB: for those interested on the movie in the query tab, see this <a href="http://video.aol.com/video-detail/killer-tomatoes-tomato-invasion-from-mars-part-2/140726048">video</a>. I was so sure these tomatoes was coming from Jupiter... crazy me ;-)<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/8808569580414031446-4018020601823869319?l=my-naked-truth.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2008-04-23T11:50:06Z</updated>
    <published>2008-04-23T09:33:00Z</published>
    <author>
      <name>Lucas</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/13230765599128180881</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-8808569580414031446</id>
      <author>
        <name>Lucas</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/13230765599128180881</uri>
      </author>
      <link href="http://my-naked-truth.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/8808569580414031446/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://my-naked-truth.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>This, that, and the other.</subtitle>
      <title>My naked truth</title>
      <updated>2010-03-07T06:54:51Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://www.codecommit.com/blog/eclipse/screencast-introduction-to-the-scala-developer-tools</id>
    <link href="http://www.codecommit.com/blog/eclipse/screencast-introduction-to-the-scala-developer-tools" rel="alternate" type="text/html"/>
    <link href="http://www.codecommit.com/blog/misc/introduction-to-sdt.avi" length="56172592" rel="enclosure" type="video/x-msvideo"/>
    <title>Screencast: Introduction to the Scala Developer Tools</title>
    <summary>Virtually everyone who has visited the Scala project page has seen the info page for the Scala plugin for Eclipse.  There are a few screenshots, an update site and very little instruction on how to proceed from there.  Those of you who have actually installed this plugin can vouch for how terribly it works as [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Virtually everyone who has visited the Scala project page has seen <a href="http://www.scala-lang.org/tools/eclipse/index.html">the info page</a> for the Scala plugin for Eclipse.  There are a few screenshots, an update site and very little instruction on how to proceed from there.  Those of you who have actually installed this plugin can vouch for how terribly it works as well as the remarkable lack of usefulness in its functionality.  It’s basically a very crude syntax highlighting editor for Scala embedded into Eclipse.  It has the ability to run programs and compile them within the IDE, but that’s about all.  Worse than that, it seems to make everything else about Eclipse less stable; somehow crashing random, unrelated plugins (such as DLTK).  Needless to say, it’s often a race to see how fast we can <em>remove</em> the Scala Eclipse plugin from our systems.</p>
<p>What is far less widely known is that there is a second Eclipse plugin which offers support for Scala development.  Basically, the guys at LAMP decided that it wasn’t worth trying to build out the original plugin any further.  Instead, they started from scratch and created a <a href="http://scala.sygneca.com/tools/eclipse">whole new implementation</a>.  The result is entitled the “Scala Developer Tools” (or SDT, if you’re into short and phonetically confusing acronyms).  Basically, this plugin is a very unstable, very experimental attempt to build a first-class IDE for Scala on top of Eclipse.  Obviously, they still have a ways to go:</p>
<p align="center"><img alt="image" border="0" height="613" src="http://www.codecommit.com/blog/wp-content/uploads/2008/04/image.png" width="658"/> </p>
<p/><p>In case you were wondering, no that isn’t my default editor font.  To say the least, the plugin suffers from an annoying plethora of UI-related bugs.  Behavior is inconsistent, and often times changing a value doesn’t seem to be permanent (it took me several tries to get the syntax highlighting to stop shifting before my very eyes).  To make matters worse, it seems that installing the plugin in the first place is a bit like playing a game of hopscotch using un-anchored floats in the middle of a pool.  The <a href="http://www.scala-lang.org/downloads/distrib/files/nightly/scala.update/">update site</a> has a nasty habit of throwing a 404 about 50% of the time.  You know what they say: if at first you don’t succeed…</p>
<p>The good news is that once you get the plugin installed, the preferences beaten into submission, and the UI bugs safely ignored, things become quite nice indeed.  The new editor is <em>vastly</em> improved over the old one, and it’s easy to see tremendous potential in the project.  Things are actually getting to a point where I would consider using the plugin rather than my current jEdit setup.</p>
<p>Of course, it’s hard to get a good idea of how a tool works until you see it in action.  That’s why I took the time to put together a small screencast which illustrates some of the highlights of the new editor.  I made no attempt to hide the bugs which cropped up during my testing, so this should give you a fair approximation of the current state of the plugin and whether it’s worth trying for your own projects.  The screencast has been produced at a reasonably high resolution (1024×732) in both Flash and downloadable AVI format.  Enjoy!</p>
<p align="center"><a href="http://www.codecommit.com/blog/misc/introduction-to-sdt"><img alt="screencast-front" border="0" height="400" src="http://www.codecommit.com/blog/wp-content/uploads/2008/04/screencast-front.jpg" style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px;" width="550"/></a> </p>
<p align="center"> </p>
<ul>
<li><a href="http://www.codecommit.com/blog/misc/introduction-to-sdt.avi">Download “Introduction to SDT” as AVI</a>
</li><li><a href="http://www.codecommit.com/blog/misc/introduction-to-sdt/SwingTest.zip">Download Eclipse Project</a></li>
</ul></div>
    </content>
    <updated>2008-04-21T08:00:02Z</updated>
    <category term="Eclipse"/>
    <category term="Scala"/>
    <author>
      <name>Daniel Spiewak</name>
    </author>
    <source>
      <id>http://www.codecommit.com/blog</id>
      <link href="http://www.codecommit.com/blog/category/eclipse/feed" rel="self" type="application/atom+xml"/>
      <link href="http://www.codecommit.com/blog" rel="alternate" type="text/html"/>
      <link href="http://www.codecommit.com/blog/?pushpress=hub" rel="hub" type="text/html"/>
      <subtitle>(permanently in beta)</subtitle>
      <title>Code Commit » Eclipse</title>
      <updated>2010-06-09T06:16:24Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://dev.eclipse.org/blogs/mcqjustmcq/2008/04/14/e4-summit-you-need-to-be-there/</id>
    <link href="http://dev.eclipse.org/blogs/mcqjustmcq/2008/04/14/e4-summit-you-need-to-be-there/" rel="alternate" type="text/html"/>
    <title>e4 Summit — You Need to be There</title>
    <summary>Thanks to Boris, we actually have a place to record whether or not you are coming to the e4 Summit. I know many people, who said that they wanted to come, whose name is not on that list yet, so if you plan to be there, please add your name.
Note that there are two distinct [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Thanks to <a href="http://borisoneclipse.blogspot.com/2008/04/e4-summit-may-22nd23rd.html">Boris</a>, we actually have a <a href="http://wiki.eclipse.org/E4/Summit">place to record</a> whether or not you are coming to the e4 Summit. I know many people, who said that they wanted to come, whose name is not on that list yet, so if you plan to be there, please add your name.</p>
<p>Note that there are two distinct sections to that page:</p>
<ol>
<li>If you are planning to come to the summit, add yourself to the <strong>Attendees</strong> section</li>
<li>If you are interested in <em>working</em> on a particular area, even if you can’t come to the summit, please add yourself to the <strong>Work areas</strong> section. Our expectation is that those lists really will be the starting points for the major work areas, so if you want to work on something that isn’t covered by any of those lists <em>please add a new row</em>.</li>
</ol>
<p>For example, one area that I believe is not covered yet, which I am <em>sure</em> I heard a lot of people say they were interested in at EclipseCON, is <strong>UI macro recording/playback</strong>. Although the work on <strong>Make it easy to script Eclipse (e.g., expose DOMs)</strong> will help people who want to implement UI macro recorders, it isn’t the same — the existing item is talking about making it easier to drive eclipse via scripting languages. So if you want to work on macro recording, you will have to drive it.</p></div>
    </content>
    <updated>2008-04-14T12:02:20Z</updated>
    <category term="Uncategorized"/>
    <author>
      <name>McQ</name>
    </author>
    <source>
      <id>http://dev.eclipse.org/blogs/mcqjustmcq</id>
      <link href="http://dev.eclipse.org/blogs/mcqjustmcq/feed" rel="self" type="application/atom+xml"/>
      <link href="http://dev.eclipse.org/blogs/mcqjustmcq" rel="alternate" type="text/html"/>
      <subtitle>McQ's thoughts on things Eclipse</subtitle>
      <title>I am a committer</title>
      <updated>2010-03-03T14:22:11Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-2364130056272432621.post-1811074395092578776</id>
    <link href="http://eclipsemago.blogspot.com/feeds/1811074395092578776/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=2364130056272432621&amp;postID=1811074395092578776" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/2364130056272432621/posts/default/1811074395092578776" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/2364130056272432621/posts/default/1811074395092578776" rel="self" type="application/atom+xml"/>
    <link href="http://eclipsemago.blogspot.com/2008/04/more-collaboration.html" rel="alternate" type="text/html"/>
    <title>More Collaboration</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">A recent article on <a href="http://www.javaworld.com/javaworld/jw-03-2008/jw-03-java-ides0308.html?page=1">JavaWorld</a> compared Eclipse with Netbeans. The outcome was a draw with a slight edge for Netbeans.  While I heavily dispute the result, one thing struck me: There is not much support for collaboration within teams in Eclipse. There is the Eclipse Communication Framework (ECF) but I think there should be more collaboration features built right into the Eclipse platform. I think this should be a focus for the new Eclipse e4 version.<br/>But maybe IBM does not want to cannibalize its upcoming Jazz platform?<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/2364130056272432621-1811074395092578776?l=eclipsemago.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2008-04-12T11:11:25Z</updated>
    <published>2008-04-12T11:00:00Z</published>
    <author>
      <name>Thomas Derflinger</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/06792521758956695775</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-2364130056272432621</id>
      <author>
        <name>Thomas Derflinger</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/06792521758956695775</uri>
      </author>
      <link href="http://eclipsemago.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/2364130056272432621/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://eclipsemago.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <title>Eclipse Mago</title>
      <updated>2010-05-19T19:44:48Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-9180365846603502475.post-3697795022441907829</id>
    <link href="http://nitind.blogspot.com/feeds/3697795022441907829/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=9180365846603502475&amp;postID=3697795022441907829" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/9180365846603502475/posts/default/3697795022441907829" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/9180365846603502475/posts/default/3697795022441907829" rel="self" type="application/atom+xml"/>
    <link href="http://nitind.blogspot.com/2008/04/bursting-of-bubbles.html" rel="alternate" type="text/html"/>
    <title>The bursting of bubbles</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">I've seen more than one post (well deservedly) applauding the enhanced support for <a href="http://download.eclipse.org/eclipse/downloads/drops/S-3.4M6-200803301350/eclipse-news-M6.html" title="Content type-specific file icons">content-type specific icons</a> in Eclipse 3.4M6 and showing how to make use of them through an extension or <a href="http://help.eclipse.org/stable/topic/org.eclipse.platform.doc.isv/reference/extension-points/org_eclipse_ui_editors.html" title="org.eclipse.ui.editors">org.eclipse.ui.editors</a>, but I think that something needs to be pointed out about that solution.  Developers who do this aren't just specifying their icons, they're specifying whole new editors.  This isn't a bad thing, but every editor has to have a unique ID, and it's easy to forget that some other features depend on that editor ID.  The most common example is the <a href="http://help.eclipse.org/stable/topic/org.eclipse.platform.doc.isv/reference/extension-points/org_eclipse_ui_actionSetPartAssociations.html" title="org.eclipse.ui.actionSetPartAssociations">org.eclipse.ui.actionSetPartAssociations</a> extension point, which adds menu and toolbar actions automatically as you switch from workbench part to workbench part.  In WTP, this is how the JSP and Web Page Editors ensure that the Run menu is present and populated with the Launch action set, and it's how most editors expose the Annotation Navigation action set.  So when you're registering an editor to get that custom icon showing up, keep in mind that there may be more to it than reusing the right editor and editor contributor class.<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/9180365846603502475-3697795022441907829?l=nitind.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2008-04-07T06:30:05Z</updated>
    <published>2008-04-07T16:08:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="eclipse"/>
    <author>
      <name>Nitin Dahyabhai</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/09223757027302994024</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-9180365846603502475</id>
      <author>
        <name>Nitin Dahyabhai</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/09223757027302994024</uri>
      </author>
      <link href="http://nitind.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/9180365846603502475/posts/default/-/eclipse" rel="self" type="application/atom+xml"/>
      <link href="http://nitind.blogspot.com/search/label/eclipse" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <title>It's not a bug, it's an accidental feature</title>
      <updated>2010-05-27T19:19:01Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-7170390006315916505.post-6479936977613326547</id>
    <link href="http://richclientplatform.blogspot.com/feeds/6479936977613326547/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=7170390006315916505&amp;postID=6479936977613326547" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/7170390006315916505/posts/default/6479936977613326547" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/7170390006315916505/posts/default/6479936977613326547" rel="self" type="application/atom+xml"/>
    <link href="http://richclientplatform.blogspot.com/2008/04/dynamic-context-help.html" rel="alternate" type="text/html"/>
    <title>Dynamic Context Help</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>I admit that I've passed over this user assistance feature for the last few years. My reasons: it's fluff, the documentation is vague, and no one will use it. I couldn't have been more wrong.</p>

<a href="http://3.bp.blogspot.com/_nS4H4MZyJis/R88BUFvljtI/AAAAAAAAAE8/5WwvEWFOcTc/s1600-h/jobdeckeditordynamichelp.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5174355941522771666" src="http://3.bp.blogspot.com/_nS4H4MZyJis/R88BUFvljtI/AAAAAAAAAE8/5WwvEWFOcTc/s200/jobdeckeditordynamichelp.png" style="margin: 0 10px 10px 0; cursor: pointer; cursor: hand;"/></a>

<p>We first wired up dynamic help to our <a href="http://richclientplatform.blogspot.com/2007/12/oil-and-gas-industry-using-eclipse.html">job deck editor</a> in January. Looking at the above image you will see that the *TFSUPPRESS tag NOISEDIP has been selected with the help view offered a link for more details. It is simple, it works, and it is not <a href="http://3.bp.blogspot.com/_nS4H4MZyJis/R87-2VvljsI/AAAAAAAAAE0/tY4o0nSXVVE/s1600-h/annoying_paperclip.jpg">annoying</a>.</p>

<p>The idea is to offer the user help on what has been selected in the active view or editor. The help appears in the Eclipse help view. I've put together an example plugin that shows how it works. It is a view listing three characters from the classic movie "The Good, the Bad and the Ugly". The view class is called DynamicHelpView.</p>

<a href="http://2.bp.blogspot.com/_nS4H4MZyJis/R88Dy1vljwI/AAAAAAAAAFU/51qEyfnIu8o/s1600-h/DynamicHelpViewHiLite.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5174358668827004674" src="http://2.bp.blogspot.com/_nS4H4MZyJis/R88Dy1vljwI/AAAAAAAAAFU/51qEyfnIu8o/s400/DynamicHelpViewHiLite.png" style="cursor: pointer; cursor: hand;"/></a>

<p>Download the plugin source <a href="http://sourceforge.net/project/showfiles.php?group_id=220401">here</a> from SourceForge.net. The code assumes you are using Eclipse 3.3 and at least Java 5.0. I'm assuming you have some experience in adding help to your plugin. If not, spend a few minutes looking at the plugin.xml, context.xml and reference/*.* files.</p>

<p>The Eclipse help view, if visible, will listen for view or editor activation and selection events. In our example, when it sees one of these events it calls DynamicHelpView.getAdapter(Class) with a request for an IContextProvider.</p>

<p>To get this to work, make a selection and request dynamic help by pressing the F1 key.</p>

<span style="font-family: courier new; font-size: 85%;">
<pre>public Object getAdapter(Class adapter) {
  if (IContextProvider.class.equals(adapter)) {
    return new ContextProvider(Activator.PLUGIN_ID + ".context_dynamichelpview",
                               (IStructuredSelection) viewer.getSelection());
    }
  return super.getAdapter(adapter);
}
</pre></span>

<p>The ContextProvider retrieves the current table selection and returns a SelectionContext which provides the help view with help context resources to display. The help context resources can be related topics links or external links.</p>

<span style="font-family: courier new; font-size: 85%;">
<pre>public class ContextProvider implements IContextProvider {
  public IContext getContext(Object target) {
    IContext context = HelpSystem.getContext(fContextId);
    if (!fSelected.isEmpty()) {
      context = new SelectionContext(context, fSelected);
    }
    return context;
  }

  public int getContextChangeMask() {
    return SELECTION;
  }
}
</pre></span>

<p>The SelectionContext creates a list of IHelpResources. The first is a a single external link to <a href="http://www.wikipedia.org/">Wikipedia</a> followed by some internal links to related static help. The static help was registered in plugin.xml.</p>

<span style="font-family: courier new; font-size: 85%;">
<pre>public class SelectionContext implements IContext2 {
  private IHelpResource[] fHelpResources;
  private String fText;
  private String fTitle;

  public SelectionContext(IContext context, IStructuredSelection selection) {
    Assert.isNotNull(selection);
    if (context instanceof IContext2) {
      fTitle = ((IContext2) context).getTitle();
    }
    List helpResources = new ArrayList();
    String label = null;
    StringBuffer location = new StringBuffer("http://en.wikipedia.org/wiki/");
    if (selection.getFirstElement().equals("The Good")) {
      label = "Clint Eastwood " + selection.toString();
      location.append("Man_with_No_Name");
    } else if (selection.getFirstElement().equals("The Bad")) {
      label = "Lee Van Cleef " + selection.toString();
      location.append("Angel_Eyes_%28The_Good%2C_the_Bad_and_the_Ugly%29");
    } else if (selection.getFirstElement().equals("The Ugly")) {
      label = "Eli Wallach " + selection.toString();
      location.append("Tuco_%28The_Ugly%29");
    }
    helpResources.add(new SelectionHelpResource(label, location.toString()));
    // Add static help topics
    if (context != null) {
      IHelpResource[] resources = context.getRelatedTopics();
      if (resources != null) {
        for (int j = 0; j &lt; resources.length; j++) {
          helpResources.add(resources[j]);
        }
      }
    }
    fHelpResources = helpResources.toArray(new IHelpResource[helpResources.size()]);
    if (context != null) {
      fText = context.getText();
    }
    if (fText == null) {
      fText = "";
    }
  }
}
</pre></span>

<p>Set a few break points in the plugin to learn how dynamic help works.</p>

<p>There is a small bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=173073">173073</a> which requires you to hit a few  keys to have the help view update its list of links. It has been fixed in Eclipse 3.4 (to be released in June 2008). Don't let this bug stop you from using the dynamic help.</p><div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/7170390006315916505-6479936977613326547?l=richclientplatform.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2008-04-05T18:23:58Z</updated>
    <published>2008-04-05T18:11:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="dynamic help"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="eclipse rcp"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="sourceforge"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="view"/>
    <author>
      <name>David Kyle</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/01188144177878844017</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-7170390006315916505</id>
      <author>
        <name>David Kyle</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/01188144177878844017</uri>
      </author>
      <link href="http://richclientplatform.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/7170390006315916505/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://richclientplatform.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <title>Eclipse RCP</title>
      <updated>2010-03-09T15:19:03Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-21722104.post-9125773224638094756</id>
    <link href="http://dataplat.blogspot.com/feeds/9125773224638094756/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=21722104&amp;postID=9125773224638094756" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/21722104/posts/default/9125773224638094756" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/21722104/posts/default/9125773224638094756" rel="self" type="application/atom+xml"/>
    <link href="http://dataplat.blogspot.com/2008/04/learning-birt-part-2.html" rel="alternate" type="text/html"/>
    <title>Learning BIRT, part 2</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p class="MsoNormal">(This is the <a href="http://dataplat.blogspot.com/2008/03/learning-birt.html">second half of my review </a>for <a href="http://www.packtpub.com/practical-data-analysis-reporting-with-birt/book">Practical Data Analysis and Reporting with BIRT</a>).</p>      <p class="MsoNormal">   <br/>    Chapters six through ten cover various ways that reports can be enhanced. Each of these chapters is relatively self-contained, making it easy to refer back for details later when writing reports. Chapter six describes how reports can be parameterized, obviously a necessary capability to promote reuse. In particular the distinction between data set and report parameters in BIRT needs to be understood, and chapter six does a good job in explaining this difference. Also explained are more advanced parameter concepts, such as dynamic, cascading and group parameters. While a number of these parameter concepts are covered quickly, if you are a Java developer as the book assumes, the explanation should be a sufficient overview, and the BIRT documentation can serve to fill in the details.<br/> </p>  <p class="MsoNormal">    Report project and libraries are described in chapter seven. By using the Eclipse projects configured for BIRT and report libraries, further reuse is enabled. For example, images that need to be shared across a team of developers creating reports can be stored in libraries, and these libraries are then referenced by each consuming report. As with the previous chapter, Java developers should have no problem understanding these concepts, and the use of specific project types will be very familiar to experienced Eclipse developers as well. Chapter seven also contains a tutorial about reusing resources, and this is useful for checking understanding.</p>    <p class="MsoNormal"> <br/>    An important aspect of report development is being able to customize rendering. Obviously we’d like to separate rendering instructions from main report data (if possible), so changes in rendering can be made independently. In chapter eight there are examples of several style options BIRT supports: BIRT built-in styles, custom styles, CSS, and style templates. For simple formatting requirements either the built-in style support or slight customizations of it will suffice. Style templates are more useful to apply over a range of reports, probably across groups or departments. Finally, the capability to use CSS allows BIRT users leverage vast resources from that style language. The examples in chapter eight are brief, but detailed enough to suggest the possibilities in each option.</p>    <p class="MsoNormal"> <br/>    Charts are a common requirement for reports. Luckily, BIRT’s Charting Engine supplies a number of thirteen popular charting options, including scatter,<span>  </span>pie, bar and line charts. Further, drill-down (the ability to see more detailed information for a specific chart element) is supported by the Chart Engine. Chapter nine uses the pie, gauge and bar charts in simple, illustrative examples. While table reports are common and useful, you really get to see the power of BIRT as a reporting tool through these chart examples. Well designed charts can convey a lot of information in an attractive form, and drill-down allow you to present additional details without cluttering the initial chart presentation. Perhaps because of the visual appeal of charts, I found the examples in chapter nine more interesting than those in other chapters, and this made me wonder if incorporation of charts throughout the book might have been a good strategy.</p>    <p class="MsoNormal"> <br/>    BIRT includes scripting support using Java and JavaScript. Chapter ten discusses these capabilities, interestingly starting with a comment that knowledge of Java is useful for understanding the scripting examples. Yet the assumptions stated at the beginning of the book include being a Java developer and, as I’ve mentioned several times, those without Java experience will have to work hard to grasp much of the book’s content. Perhaps in an attempt to limit chapter size or to keep it accessible to those without Java experience, the script examples in this chapter only scratch the surface. A minor criticism: much of the code has pedestrian comments (about things that method names, etc. should suggest) and subsequent paragraphs have explanations similar to the comments. It would have been better to omit these comments, hence making the code more compact. Event handling, an integral part of BIRT scripting, is also covered briefly in a few examples. My feeling is that this chapter should assume a fair amount of experience with Java and the ability to pick up JavaScript while showing more detailed examples. Granted this would increase the length of the chapter and still would only show a fraction of the possibilities, but a more comprehensive example would be more instructive to the (stated) target readership.</p>    <p class="MsoNormal"> <br/>    The final two chapters deal with report deployment and a case study. The deployment material is good to get started with, and ideally your deployment requirements will fit within the basic cases. But, as is often the case with real world deployment scenarios, likely there will be complications requiring studying further BIRT documentation for alternatives. The working example chapter is only suggestive – to follow the example exactly requires a lot of set up and I doubt few readers will attempt it. As a summary of many of the concepts covered earlier, however, the case study is a nice summary and useful for pulling all of the previous threads together.</p>    <p class="MsoNormal"> <br/>    In conclusion, I believe John Ward’s book does a fine job of providing a quick start to BIRT. If you are a Java developing using Eclipse and want to take advantage of BIRT, starting with the BIRT “all in one” download and working through <a href="http://www.packtpub.com/practical-data-analysis-reporting-with-birt/book">Practical Data Analysis and Reporting with BIRT</a> will quickly get you up and running.</p><div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/21722104-9125773224638094756?l=dataplat.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2008-04-02T19:54:11Z</updated>
    <published>2008-04-02T19:45:00Z</published>
    <author>
      <name>John Graham</name>
      <email>jygramas@gmail.com</email>
      <uri>http://www.blogger.com/profile/02062334031161915809</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-21722104</id>
      <author>
        <name>John Graham</name>
        <email>jygramas@gmail.com</email>
        <uri>http://www.blogger.com/profile/02062334031161915809</uri>
      </author>
      <link href="http://dataplat.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/21722104/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://dataplat.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://www.blogger.com/feeds/21722104/posts/default?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <title>On the Data Platform</title>
      <updated>2010-05-10T15:22:37Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-21722104.post-2080599045128995612</id>
    <link href="http://dataplat.blogspot.com/feeds/2080599045128995612/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=21722104&amp;postID=2080599045128995612" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/21722104/posts/default/2080599045128995612" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/21722104/posts/default/2080599045128995612" rel="self" type="application/atom+xml"/>
    <link href="http://dataplat.blogspot.com/2008/04/reclipse.html" rel="alternate" type="text/html"/>
    <title>Reclipse</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><pre style="font-family: arial;">Hello everybody out there using Eclipse -</pre> <pre style="font-family: arial;">I'm doing a (free)Ruby version of Eclipse (“Reclipse” Just a hobby, won't be big and<br/>professional like regular Eclipse) for Ruby and scripting language clones.<span>  </span>This has<br/>been brewing since last april 1st, and is starting to get ready.<span>  </span>I'd like any feedback<br/>on things people like/dislike in Eclipse, as my Reclipse resembles it somewhat (same<br/>physical layout of the widgets (due to practical reasons) among other things).</pre>  <pre style="font-family: arial;"><br/>I've currently ported JDT(3.4M3) and PDE(3.4M5), and things seem to work.<br/>This implies that I'll get something practical within a few months, and I'd like to<br/>know what features most people would want.<span>  </span>Any suggestions are welcome, but I won't<br/>promise I'll implement them <a href="http://groups.google.com/group/comp.os.minix/browse_thread/thread/76536d1fb451ac60/b813d52cbc5a044b">:-)</a></pre><div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/21722104-2080599045128995612?l=dataplat.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2008-04-01T16:31:49Z</updated>
    <published>2008-04-01T16:26:00Z</published>
    <author>
      <name>John Graham</name>
      <email>jygramas@gmail.com</email>
      <uri>http://www.blogger.com/profile/02062334031161915809</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-21722104</id>
      <author>
        <name>John Graham</name>
        <email>jygramas@gmail.com</email>
        <uri>http://www.blogger.com/profile/02062334031161915809</uri>
      </author>
      <link href="http://dataplat.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/21722104/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://dataplat.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://www.blogger.com/feeds/21722104/posts/default?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <title>On the Data Platform</title>
      <updated>2010-05-10T15:22:37Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-268213280038949731.post-7494088844713253973</id>
    <link href="http://brs4etish.blogspot.com/feeds/7494088844713253973/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=268213280038949731&amp;postID=7494088844713253973" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/268213280038949731/posts/default/7494088844713253973" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/268213280038949731/posts/default/7494088844713253973" rel="self" type="application/atom+xml"/>
    <link href="http://brs4etish.blogspot.com/2008/03/my-experiences-at-eclipsecon-2008.html" rel="alternate" type="text/html"/>
    <title>My experiences at EclipseCon 2008</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><span style="color: rgb(51, 51, 51); font-size: 100%;"><span style="font-family: verdana;">This is my very first blog, so please pardon my tremor and anxiety. I promise I will not make this a “Hello world” blog! :-)<br/><br/>I live and work in the UK with a small Eclipse consultancy, Etish Limited. You can learn all about my professional interests through my profile.<br/><br/>This blog is all about our (my partner in crime Joel’s and my) experiences at <a href="http://www.eclipsecon.org/2008/">EclipseCon 2008</a>, which took place in Santa Clara, California last week. It was our first time at this conference and were literally astonished by the aplomb with which it was organised and implemented.<br/><br/>The venue was comfortable and very friendly. Lots of nice meeting rooms, no overcrowding and very decent foods and beverages served at the various receptions and meal breaks. Not that we had many opportunities to really sample all that was on offer, we were too busy talking and connecting!… And let me tell you about the beds at the Hyatt hotel that is directly connected to the convention centre: they are definitely something to not only write home about, but sing of! Vast! And oh so comfortable!… I wish I could have fit one in my luggage coming back home. ;-)<br/><br/>The organisation of the conference was spotless. In the entire week, there was not a single glitch, at least from my vantage point. Everything was perfectly planned and executed, down to specific persons being put in charge of updating the flash sticks that were distributed to all delegates at registration and that contained all conference materials. I am sure this was done to avoid excessive queues and long waiting times at the designated update points, but I found it a great service: all of a sudden what I was viewing as a chore became a pleasure. I would walk up to the nice gentleman and hand him my stick. He would put it in his left pocket and out of the right pocket would immediately emerge an updated stick for me to walk away with. An outsider might at first have thought this to be some kind of spook trick, but a second look at our (the delegates’) possessed faces, funky attires and impossible hair dos would have immediately dispelled such fantasies :-)<br/><br/>I also understand why so many people yearn to participate in that particular conference. The crowd and the atmosphere are so fantastic, it is almost like being back at university. The atmosphere is relaxed, open and friendly, decidedly techy. Everybody yearns to exchange experiences, learn, share and offer some advice, born of experience, whenever possible.<br/><br/>All the tutorials and talks I attended had something (and oftentimes a lot) of interest and novelty to add to my (meagre... ;-) pot of knowledge.<br/><br/>We not only thoroughly enjoyed ourselves, but we also had a great opportunity to meet face to face many persons with whom we had, up to now, only been entertaining cyber conversations. This definitely added an invaluable dimension to our relationships.<br/><br/>Last, but not least, we had an incredibly breathtaking reaction to our <a href="http://www.eclipse.org/proposals/ormf">proposed Eclipse framework</a>, the Open Requirements Management Framework (ORMF for friends) and the first</span></span><span style="color: rgb(51, 51, 51); font-size: 100%;"><span style="font-family: verdana;"> exemplary tool we built on top of it, <a href="https://useme.dev.java.net/">Useme</a>, which is use case centric. We presented a poster on the project (and I even have the two pictures to prove it! Many thanks to Alexey Khoroshilov from the Institute for</span></span><span style="color: rgb(51, 51, 51); font-size: 100%;"><span style="font-family: verdana;"> System Programming, Moscow, for taking them and sending them off to us) and hosted a Birds of Feathers, both of whic</span></span><span style="color: rgb(51, 51, 51); font-size: 100%;"><span style="font-family: verdana;"><a href="http://bp2.blogger.com/_zPoq-rLRRHg/R-_br-ZWT5I/AAAAAAAAAAM/atAaDDz9ysg/s1600-h/P1040841.JPG"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5183603244656906130" src="http://bp2.blogger.com/_zPoq-rLRRHg/R-_br-ZWT5I/AAAAAAAAAAM/atAaDDz9ysg/s320/P1040841.JPG" style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 187px; height: 140px;"/></a></span></span><span style="color: rgb(51, 51, 51); font-size: 100%;"><span style="font-family: verdana;">h were very well attended and were the source of innumerable suggestions, expressions of interest and many offers of contributions. Our effort of building a community around our proposal for ORMF certainly received a great boost at the conference, and our friends are now a lot more numerous and more eager.</span></span><br/><span style="color: rgb(51, 51, 51); font-size: 100%;"><span style="font-family: verdana;"><br/>We were also approached, among many, by the authors of the <a href="http://www.eclipse.org/osee">Open System Engineering Environment</a> (OSEE), another Eclipse based project created by Boeing that is currently in the incubation phase. Theirs is an industrial strength but</span></span><span style="color: rgb(51, 51, 51); font-size: 100%;"><span style="font-family: verdana;"><a href="http://bp0.blogger.com/_zPoq-rLRRHg/R-_bseZWT6I/AAAAAAAAAAU/-iLmKstvQdA/s1600-h/P1040837.JPG"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5183603253246840738" src="http://bp0.blogger.com/_zPoq-rLRRHg/R-_bseZWT6I/AAAAAAAAAAU/-iLmKstvQdA/s320/P1040837.JPG" style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 192px; height: 143px;"/></a></span></span><span style="color: rgb(51, 51, 51); font-size: 100%;"><span style="font-family: verdana;"> customisable environment that is intended to facilitate the management of all aspects of a project's life cycle and they were very keen to see our framework build on top of their environment as a structured requirements sub-project. After meeting with the good OSEE folks and discussing and exploring with them the possibilities of synergy between the two projects, we decided to accept their offer. I think this is going to prove a bold but fantastic move, as a large number of the important services that we were envisaging providing as part of ORMF some time in the future are already there, in OSEE, for the taking. So we warmly thank the OSEE gang for making this environment so easily available to us and for opening up a lot of hitherto dreamed of possibilities.<br/><br/>To summarise all this in a single sentence, ORMF has come out of EclipseCon a lot stronger!<br/><br/>To conclude I just want to express a final thought, that perhaps represents the most important aspect of my entire experience at EclipseCon, far beyond our personal successes (and I hope you are still with me :-): throughout the week I felt around me a sense of possibility that is very hard, and very thrilling, to find. The Eclipse Foundation members were incredibly welcoming and encouraging, constantly catalysing connections and suggesting synergies. Theirs was an honest effort to make us heard and make us count, no matter who we were or how small an organisation we represented. Every day of the meeting I was buoyed by  the feeling that, with the help of this community, I could achieve anything I dreamed of. If that is not a fantastic achievement on the part of a community, what is?<br/><br/>So thank you very much, EclipseCon organisers, Eclipse Foundation members and conference attendees in general for making our week such a rich, exciting and successful week!<br/><br/>So long.<br/></span></span><div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/268213280038949731-7494088844713253973?l=brs4etish.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2008-04-01T12:06:11Z</updated>
    <published>2008-03-30T17:22:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="conference"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="eclipse"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="OSEE"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="Useme"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="ORMF"/>
    <author>
      <name>Barbara Rosi-Schwartz</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/15538239490385687243</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-268213280038949731</id>
      <author>
        <name>Barbara Rosi-Schwartz</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/15538239490385687243</uri>
      </author>
      <link href="http://brs4etish.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/268213280038949731/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://brs4etish.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>All things Eclipse, software requirements and all that jazz.</subtitle>
      <title>Barbara's Weblog</title>
      <updated>2010-06-08T00:06:15Z</updated>
    </source>
  </entry>

  <entry>
    <id>http://apps.itemis.de/roller/itemislabkiel/entry/iemis_labs_kiel_to_mentor</id>
    <link href="http://apps.itemis.de/roller/itemislabkiel/entry/iemis_labs_kiel_to_mentor" rel="alternate" type="text/html"/>
    <title>itemis Labs Kiel to mentor GSoC projects</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>We (itemis Labs Kiel) are going to participate in the <a href="http://code.google.com/soc/2008/" target="_blank">Google Summer of Code 2008</a> project. <i/></p><blockquote><p><i>Google Summer of Code</i> (GSoC) is a program that offers student
  developers stipends to write code for various open source
  projects. [<a href="http://code.google.com/opensource/gsoc/2008/faqs.html#0.1_what_is" target="_blank">GSoC FAQ</a>]<br/></p></blockquote><p>Since our main focus is model driven software development, the projects we will be mentoring will obviously have a modeling aspect as well. We have posted some ideas on the <a href="http://wiki.eclipse.org/Google_Summer_of_Code_2008_Ideas#Ideas" target="_blank">GSoC page on the Eclipse wiki</a>. If you are interested in working with us on a modeling-related project, there are two things you can do:</p><ol><li>Have a look at the <a href="http://wiki.eclipse.org/Google_Summer_of_Code_2008_Ideas#Ideas" target="_blank">list of ideas</a> in the Eclipse wiki. Look for "M2T/Xpand" to see our proposals.<br/></li><li>Write up your own idea and <a href="mailto:%70%65%74%65%72%2e%66%72%69%65%73%65%40%69%74%65%6d%69%73%2e%64%65">discuss it with us</a>.</li></ol><p> Either way, we're looking forward to hearing from you!<br/></p></div>
    </content>
    <updated>2008-03-26T09:05:10Z</updated>
    <published>2008-03-26T09:05:10Z</published>
    <category label="Eclipse" term="/Eclipse"/>
    <author>
      <name>Peter Friese</name>
    </author>
    <source>
      <id>http://apps.itemis.de/roller/itemislabkiel/feed/entries/atom</id>
      <link href="http://apps.itemis.de/roller/itemislabkiel/feed/entries/atom?cat=%2FEclipse" rel="self" type="application/atom+xml"/>
      <link href="http://apps.itemis.de/roller/itemislabkiel/" rel="alternate" type="text/html"/>
      <subtitle>open source for open minds</subtitle>
      <title>itemis open source lab kiel</title>
      <updated>2010-06-09T06:36:42Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://www.persiflage-n-piffle.com/blog/2008/03/creating-a-model-template-in-rationals-modelling-tools/</id>
    <link href="http://www.persiflage-n-piffle.com/blog/2008/03/creating-a-model-template-in-rationals-modelling-tools/" rel="alternate" type="text/html"/>
    <title>Creating a model template in Rational’s modelling tools</title>
    <summary>When starting a new model I seldom want to start from a blank canvas; instead I’d like to use a template to get us going. Within RSA/RSM there are already some templates provided, and whilst useful, they are (necessarily) very generic. 
A simple way to enable this is to create a model from an existing [...]</summary>
    <updated>2008-03-26T08:37:39Z</updated>
    <category term="Development"/>
    <category term="UML"/>
    <category term="Modelling"/>
    <category term="IBM"/>
    <category term="Plugin Dev"/>
    <author>
      <name>lesojones</name>
    </author>
    <source>
      <id>http://www.persiflage-n-piffle.com/blog</id>
      <link href="http://www.persiflage-n-piffle.com/blog" rel="alternate" type="text/html"/>
      <link href="http://www.persiflage-n-piffle.com/blog/category/eclipse/feed/" rel="self" type="application/rss+xml"/>
      <subtitle>Just a little blog about my views on software development.</subtitle>
      <title>Persiflage and Piffle » Eclipse</title>
      <updated>2008-04-04T07:50:20Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-1157206974462930369.post-473821802800425257</id>
    <link href="http://eclipsisms.blogspot.com/feeds/473821802800425257/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=1157206974462930369&amp;postID=473821802800425257" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/1157206974462930369/posts/default/473821802800425257" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/1157206974462930369/posts/default/473821802800425257" rel="self" type="application/atom+xml"/>
    <link href="http://feedproxy.google.com/~r/blogspot/SHVc/~3/ULNQY0cPiKY/plugging-swt-leaks-in-your-eclipse-app.html" rel="alternate" type="text/html"/>
    <title>Plugging SWT Leaks in Your Eclipse App</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">During a recent bout of looking for leaks in my Eclipse Application, I ran into a limitation of my tool of choice, JProfiler, or at least, a limitation of my understanding of it.  One problem I was having was the "No more Handles" error when repeatedly opening my editor.  After some digging, I found a tool written by someone in the SWT team: <a href="http://www.eclipse.org/swt/tools.php">Sleak</a>.  The "limitation" of JProfiler is that it works more from a generic Java memory point of view.  I needed to find where handles were leaking - even if they were not using that much memory.  Sleak solves this simply.<br/><br/>First, I'll go through getting it set up - it didn't work exactly for me as in the <a href="http://www.eclipse.org/swt/tools.php">included instructions</a>  - but you'll need to refer to them to understand what I'm talking about from here.  Just dropping it into my plugins dir as directed didn't work (not blaming the instructions here - this could've been my fault).  I ended up with Class loader errors.  I decided to repackage it myself, so I started by importing it into my workspace as an Eclipse project.  Then, I exported it as a jar from the plugin overview screen.  At this point, I had a Sleak jar in the specified output directory.  I dropped this into my plugins directory, and followed the other instructions.  The only other change I would recommend here is to just set the properties to true instead of adding lines since they are already in the .options file.<br/><br/>Now you're ready to find leaks.  Launch Eclipse normally with the workspace containing all the code for your application.  Open your favorite debug configuration and add "-debug -clean" to the end of your Program Arguments.  Then, just launch the configuration.  Once it loads, open the Sleak view by using the Window-&gt;Show View-&gt;Other-&gt;SWT Tools menu.  The buttons you'll see are a little different from the instructions - you will see "Snap" and "Diff" which I interpret as "Take a Snapshot of the Handles in Use" and "Take Another One and Show the Differences from the Previous Snapshot".  All you have to do is use the Snap button, preform the operation you think has leaks and then press Diff.  You will get a nice list of the handles still hanging around.  Clicking on them will often show you a preview in the window (this works for Colors, Images, and a few other visual handles). Clicking the stack box will even show you were in the code they were created.<br/><br/>I hope this helps. I really appreciate the work by the SWT team for releasing this tool for all us developers!  If you wrote this, please leave a comment so you can take some credit.<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/1157206974462930369-473821802800425257?l=eclipsisms.blogspot.com" width="1"/></div><img height="1" src="http://feeds.feedburner.com/~r/blogspot/SHVc/~4/ULNQY0cPiKY" width="1"/></div>
    </content>
    <updated>2008-03-21T22:09:21Z</updated>
    <published>2008-03-21T22:10:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="eclipse"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="swt"/><feedburner:origlink xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://eclipsisms.blogspot.com/2008/03/plugging-swt-leaks-in-your-eclipse-app.html</feedburner:origlink>
    <author>
      <name>Adam Cabler</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/16116068837432398180</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-1157206974462930369</id>
      <author>
        <name>Adam Cabler</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/16116068837432398180</uri>
      </author>
      <link href="http://eclipsisms.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://eclipsisms.blogspot.com/search/label/eclipse" rel="alternate" type="text/html"/>
      <link href="http://feeds.feedburner.com/blogspot/SHVc" rel="self" type="application/atom+xml"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Feedback, rants, and commentary from an Eclipse Application Developer.
<br/><br/>
Please note that these are my own thoughts.  I am not affiliated with IBM or the Eclipse Foundation in any way.</div>
      </subtitle>
      <title>Eclipsisms</title>
      <updated>2010-06-07T13:43:07Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-8283236336803140851.post-4650238992961722872</id>
    <link href="http://metabubble.blogspot.com/2008/03/textual-editing-framework-tutorial.html" rel="alternate" type="text/html"/>
    <title>Textual Editing Framework Tutorial</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Its done: the first major release for our <a href="http://www.webgambas.com/metabubble/tef.html">Textual Editing Framework</a> is out.  After watching all the TEF <a href="http://www2.informatik.hu-berlin.de/sam/meta-tools/tef/tool.html">screencasts</a>, you can finally try it yourself. We provide a small <a href="http://www.webgambas.com/metabubble/tef-tutorial.html">tutorial</a>, based on plug-in extension templates that allows you to create your own first textual editor in seconds. For all of you that always wanted a textual notation and a proper textual editor for languages based on existing meta-models: check it out.<br/><br/><br/><img src="http://www2.informatik.hu-berlin.de/sam/meta-tools/images/developing-tef.png"/><br/><span style="font-style: italic;">A typical workspace for textual editor development with TEF.</span><div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/8283236336803140851-4650238992961722872?l=metabubble.blogspot.com" width="1"/></div></div>
    </summary>
    <updated>2008-03-20T19:10:00Z</updated>
    <author>
      <name>Markus Scheidgen</name>
      <email>noreply@blogger.com</email>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-8283236336803140851</id>
      <author>
        <name>Markus Scheidgen</name>
        <email>noreply@blogger.com</email>
      </author>
      <link href="http://metabubble.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://feeds.feedburner.com/MetaBubble" rel="self" type="application/atom+xml"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Welcome to the meta-bubble. A ressource for software and computer language modeling and meta-modeling. Topics include: eclipse emf, OMG MOF, textual modeling and agile language engineering. Metabubble has moved to <a href="http://feeds.feedburner.com/www.webgambas.com">webgambas.com</a> (you also find all posts there).</div>
      </subtitle>
      <title>meta-bubble</title>
      <updated>2010-06-09T06:15:32Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://deugoeclipse.wordpress.com/?p=9</id>
    <link href="http://deugoeclipse.wordpress.com/2008/03/13/eclipse-university-outreach-site/" rel="alternate" type="text/html"/>
    <title>Eclipse University Outreach Site</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">As part of the Eclipse University Outreach initiative, I have start a web site based on Moodle that is currently hosted at Carleton University. Check it out at Eclipse University Outreach. Login in as a guest to see the current content. I have videos and PDF files available on different Eclipse topics. The goal is [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=deugoeclipse.wordpress.com&amp;blog=2928241&amp;post=9&amp;subd=deugoeclipse&amp;ref=&amp;feed=1"/></div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>As part of the Eclipse University Outreach initiative, I have start a web site based on <a href="http://moodle.org" title="Moodle">Moodle </a>that is currently hosted at Carleton University. Check it out at <a href="http://deugo.carleton.ca/euo" title="Eclipse University Outreach">Eclipse University Outreach</a>. Login in as a guest to see the current content. I have videos and PDF files available on different Eclipse topics.  The goal is for people to use, provide and promote Eclipse content at the site. Interested? Have material? Please contact me.</p>
<br/><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/deugoeclipse.wordpress.com/9/"/> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/deugoeclipse.wordpress.com/9/"/> <a href="http://feeds.wordpress.com/1.0/gocomments/deugoeclipse.wordpress.com/9/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/deugoeclipse.wordpress.com/9/"/></a> <a href="http://feeds.wordpress.com/1.0/godelicious/deugoeclipse.wordpress.com/9/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/deugoeclipse.wordpress.com/9/"/></a> <a href="http://feeds.wordpress.com/1.0/gostumble/deugoeclipse.wordpress.com/9/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/deugoeclipse.wordpress.com/9/"/></a> <a href="http://feeds.wordpress.com/1.0/godigg/deugoeclipse.wordpress.com/9/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/deugoeclipse.wordpress.com/9/"/></a> <a href="http://feeds.wordpress.com/1.0/goreddit/deugoeclipse.wordpress.com/9/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/deugoeclipse.wordpress.com/9/"/></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=deugoeclipse.wordpress.com&amp;blog=2928241&amp;post=9&amp;subd=deugoeclipse&amp;ref=&amp;feed=1"/></div>
    </content>
    <updated>2008-03-13T16:11:23Z</updated>
    <category term="Eclipse University Outreach"/>
    <category term="Moodle"/>
    <author>
      <name>Dwight Deugo</name>
    </author>
    <source>
      <id>http://deugoeclipse.wordpress.com</id>
      <logo>http://www.gravatar.com/blavatar/6fb7935251145c4938c8791832b312fa?s=96&amp;d=http://s2.wp.com/i/buttonw-com.png</logo>
      <link href="http://deugoeclipse.wordpress.com/feed/?mrss=off" rel="self" type="application/atom+xml"/>
      <link href="http://deugoeclipse.wordpress.com" rel="alternate" type="text/html"/>
      <link href="http://deugoeclipse.wordpress.com/osd.xml" rel="search" type="application/opensearchdescription+xml"/>
      <link href="http://deugoeclipse.wordpress.com/?pushpress=hub" rel="hub" type="text/html"/>
      <subtitle>Eclipse</subtitle>
      <title>Dwight Deugo's Eclipse Weblog</title>
      <updated>2010-04-27T13:57:42Z</updated>
    </source>
  </entry>

  <entry>
    <id>http://apps.itemis.de/roller/itemislabkiel/entry/eclipse_modeling_framework_emf_adding</id>
    <link href="http://apps.itemis.de/roller/itemislabkiel/entry/eclipse_modeling_framework_emf_adding" rel="alternate" type="text/html"/>
    <title>EMF - Implementing EOperations without touching generated code</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>In our current development of M2T/Xpand3 we make a lot of use of Ecore models. Although, there are a lot of obvious advantages in using the Ecore implementation over implementing domain models using Java directly, there are some problems.</p><p>One of them is that EMF's generator encourages you to use generated code. As we don't want to do that for several reasons, we had to find another way. </p><p>EMF's generator supports specification of Java code via a specific EAnnotation. But of course we don't want to program Java within small properties text widgets. Instead we developed an Action, which automatically adds the respective EAnnotaions with delegation code to each EOperation. </p><p>So here's an example. First there is the plain ecore file:</p><p><img align="bottom" border="0" hspace="0" src="http://www.efftinge.de/blog_eops/picture_2.png" vspace="0"/><br/></p><p>The Action we built can be invoked via context menu and transforms it to something like the following:</p><p><img align="bottom" border="0" hspace="0" src="http://www.efftinge.de/blog_eops/picture_4.png" vspace="0"/></p><p>EMF's generator now generates the nested delegation code instead of the the usual "throw new UnsupportedOperationException();"-code.</p><p>Of course there are compile errors at first....<br/></p><p><img align="bottom" border="0" hspace="0" src="http://www.efftinge.de/blog_eops/picture_7.png" vspace="0"/></p><p> </p><p>but after adding the referenced class and needed methods manually the compiler is happy again:  </p><p> </p><p><img align="bottom" border="0" hspace="0" src="http://www.efftinge.de/blog_eops/picture_9.png" vspace="0"/><br/></p><p> The delegation implementation for abstract types even supports some kind of polymorphism:</p><p> <img align="bottom" border="0" hspace="0" src="http://www.efftinge.de/blog_eops/picture_11.png" vspace="0"/></p><p>So we can add special implementations for more specfic types when needed (i.e. subclasses):</p><p><img align="bottom" border="0" hspace="0" src="http://www.efftinge.de/blog_eops/picture_10.png" vspace="0"/></p><p> </p><p> </p><p> </p></div>
    </content>
    <updated>2008-03-11T11:30:18Z</updated>
    <published>2008-03-11T11:30:18Z</published>
    <category label="Eclipse" term="/Eclipse"/>
    <category scheme="http://rollerweblogger.org/ns/tags/" term="generator"/>
    <category scheme="http://rollerweblogger.org/ns/tags/" term="emf"/>
    <category scheme="http://rollerweblogger.org/ns/tags/" term="implementation"/>
    <category scheme="http://rollerweblogger.org/ns/tags/" term="eoperation"/>
    <author>
      <name>Sven Efftinge</name>
    </author>
    <source>
      <id>http://apps.itemis.de/roller/itemislabkiel/feed/entries/atom</id>
      <link href="http://apps.itemis.de/roller/itemislabkiel/feed/entries/atom?cat=%2FEclipse" rel="self" type="application/atom+xml"/>
      <link href="http://apps.itemis.de/roller/itemislabkiel/" rel="alternate" type="text/html"/>
      <subtitle>open source for open minds</subtitle>
      <title>itemis open source lab kiel</title>
      <updated>2010-06-09T06:36:42Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://www.persiflage-n-piffle.com/blog/2008/02/xsd-export-from-emf/</id>
    <link href="http://www.persiflage-n-piffle.com/blog/2008/02/xsd-export-from-emf/" rel="alternate" type="text/html"/>
    <title>XSD Export from EMF</title>
    <summary>When using an EMF implementation, I quite like persisting a model using XML rather than XMI. I also like to know what format the XML will be. If I generated the initial ecore from a schema then it’s clear that I’ll know, but what if I’ve changed the model since the initial generation, or what [...]</summary>
    <updated>2008-02-14T09:27:52Z</updated>
    <category term="EMF"/>
    <category term="Eclipse"/>
    <author>
      <name>lesojones</name>
    </author>
    <source>
      <id>http://www.persiflage-n-piffle.com/blog</id>
      <link href="http://www.persiflage-n-piffle.com/blog" rel="alternate" type="text/html"/>
      <link href="http://www.persiflage-n-piffle.com/blog/category/eclipse/feed/" rel="self" type="application/rss+xml"/>
      <subtitle>Just a little blog about my views on software development.</subtitle>
      <title>Persiflage and Piffle » Eclipse</title>
      <updated>2008-04-04T07:50:20Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://dev.eclipse.org/blogs/eclipseptp/2008/02/07/happy-chinese-new-year/</id>
    <link href="http://dev.eclipse.org/blogs/eclipseptp/2008/02/07/happy-chinese-new-year/" rel="alternate" type="text/html"/>
    <title>Happy Chinese New Year!</title>
    <summary>I am probably not the only Chinese blogging about Eclipse in English, but I believe that I am one of the most active one. Something related with this background, I would like to point out that today is the Chinese new year. And this year is the year of “rat”s.
So, how is it related with [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>I am probably not the only Chinese blogging about Eclipse in English, but I believe that I am one of the most active one. Something related with this background, I would like to point out that today is the Chinese new year. And this year is the year of “rat”s.<br/>
So, how is it related with Eclipse? Actually, if you ask me which one of the 12 animals can best describe the life of software developers, I would like to say the “rat”. So, this year is the year of software developers.<br/>
<img alt="Year of Rats in Google" src="http://dev.eclipse.org/blogs/eclipseptp/files/2008/02/lunarnewyear08c.gif"/></p></div>
    </content>
    <updated>2008-02-07T08:38:59Z</updated>
    <category term="Uncategorized"/>
    <author>
      <name>Tianchao Li</name>
    </author>
    <source>
      <id>http://dev.eclipse.org/blogs/eclipseptp</id>
      <link href="http://dev.eclipse.org/blogs/eclipseptp/feed" rel="self" type="application/atom+xml"/>
      <link href="http://dev.eclipse.org/blogs/eclipseptp" rel="alternate" type="text/html"/>
      <subtitle>Just another Eclipse Committer and Project Blogs weblog</subtitle>
      <title>Tianchao's Blog on Eclipse PTP</title>
      <updated>2008-02-07T08:38:59Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://tom.jabber.ee/chessblog/2008/02/04/my-eclipse-usage-last-week/</id>
    <link href="http://tom.jabber.ee/chessblog/2008/02/04/my-eclipse-usage-last-week/" rel="alternate" type="text/html"/>
    <title>My Last Week’s Eclipse Usage</title>
    <summary>I found a cool plugin couple of weeks ago, Ergo by Channing Walton. It monitors the shortcut and menu invocations usage of Eclipse.
I soon discovered that I’d like to know what shortcuts other users use. I whipped up a patch that would let the plugin users specify a reporting URL. Channing liked the idea, open-sourced [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>I found a cool plugin couple of weeks ago, <a href="http://www.stateofflow.com/projects/74/eclipse-ergo">Ergo</a> by <a href="http://www.stateofflow.com/journal">Channing Walton</a>. It monitors the shortcut and menu invocations usage of Eclipse.</p>
<p>I soon discovered that I’d like to know what shortcuts other users use. I whipped up a patch that would let the plugin users specify a reporting URL. Channing liked the idea, <a href="http://code.google.com/p/ergo/">open-sourced</a> the plugin and gave me access.</p>
<p>Last week I had the plugin enabled and now I produced a <a href="http://tom.jabber.ee/reporting/result.php">page of the statistics</a>. The stats show that I was pasting all last week <img alt=":)" class="wp-smiley" src="http://tom.jabber.ee/chessblog/wp-includes/images/smilies/icon_smile.gif"/> .</p>
<p>I was also introduced to the <a href="http://www.eclipse.org/projects/project_summary.php?projectid=technology.packaging">EPP’</a>s <a href="http://www.eclipse.org/epp/usagedata/">Usage Data Collector</a>. I have not checked if it also monitors actions’ invocations. If it does not we’ll try to propose a patch of some sort.</p>
<p>I’ll be uploading my stats for another couple of weeks and compare to my colleagues and see if I can find anything interesting.</p>
<p>If anybody is interested in seeing their stats they can download the plugin from the <a href="http://code.google.com/p/ergo/downloads/list">project’s page</a> and use “http://tom.jabber.ee/reporting/” as the URL. Every installation is generated a UUID and if you specify the reporting URL your workspace/.metadata/.plugins/com.stateofflow.ergo/commands.properties will be reported to the specified url every 1 hour. The stats can be seen from http://tom.jabber.ee/reporting/result.php?uuid=YOUR-UUID</p></div>
    </content>
    <updated>2008-02-03T22:42:25Z</updated>
    <category term="SoC2007"/>
    <category term="eclipse"/>
    <category term="playing-around"/>
    <author>
      <name>Toomas Römer</name>
    </author>
    <source>
      <id>http://tom.jabber.ee/chessblog</id>
      <link href="http://tom.jabber.ee/chessblog/category/soc2007/feed/" rel="self" type="application/atom+xml"/>
      <link href="http://tom.jabber.ee/chessblog" rel="alternate" type="text/html"/>
      <subtitle>About jsPgnView &amp; meme</subtitle>
      <title>jsPgnViewer &amp; stuff » SoC2007</title>
      <updated>2010-04-27T13:57:25Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://dev.eclipse.org/blogs/eclipseptp/2008/01/21/i-am-going-to-attend-eclipsecon-2008-well-probably/</id>
    <link href="http://dev.eclipse.org/blogs/eclipseptp/2008/01/21/i-am-going-to-attend-eclipsecon-2008-well-probably/" rel="alternate" type="text/html"/>
    <title>I am going to attend EclipseCon 2008! Well, probably…</title>
    <summary>My talk has been accepted by EclipseCon 2008. Although the travel has to be approved yet, it is very likely that I will be able to go Santa Clara again this year.
Actually, I attended EclipseCon in 2005 and talked in 2006. That of year 2007 was missed due to the busy status of my project. [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>My <a href="http://www.eclipsecon.org/2008/index.php?page=sub/&amp;id=500">talk</a> has been accepted by <a href="http://www.eclipsecon.org/2008/">EclipseCon 2008</a>. Although the travel has to be approved yet, it is very likely that I will be able to go Santa Clara again this year.</p>
<p>Actually, I attended EclipseCon in 2005 and talked in 2006. That of year 2007 was missed due to the busy status of my project. It was the EclipseCon that brought me the chance to meet all the people working around related things and finally lead to the acquisition of my committer status. So, I am really excited about attending EclipseCon again.</p>
<p>However, I am bored with all the troubles with US visa. The whole process of visa application is rather time consuming and iirational. The first time when I was applying a US visa four years ago, I got a multi entry one valid for one year. It allows me to present at several conferences in the US that year, and I was feeling so good with the US. When I had to renew my visa after that year, they kept me waiting for 3 months. Until one week before the conference, I could no longer wait and send emails, faxes to the consulate and finally get one - but only a single entry valid for three months. Why? Both due to the busy status of my project and the fact that I tried to avoid traveling into the US, I greatly reduced the number of times that I had to attend conferences in the US in the last two years. By the end of last year, there was one important meeting which I had to attend and I stated the whole process again. And this time, after keeping a good record of entering and leaving the US for more than 6 times, I am still kept waiting until I could not wait any more. Again, I get a visa for single entry, although I have submitted documents that I have several conferences to attend in the coming year. Well, if that is all the troubles I met, I would be much happier. The case is that, I was put into a special list of people that are required to go through a second interview, after arriving the Los Angeles airport. And, I have to report to the same office again when I leave the US one week later. The reason - “Tech Match” - what is that? Although I do believe that I am a good developer, but I never thought that I know some special techniques that will threaten the US or any countries. Because I am working on the Eclipse parallel tools platform and I am doing projects on Grid computing? But do those guys really know what they are? All these seem to me is that the US is not welcoming people from other countries as it was before. I really hope this will not happen again this time.</p></div>
    </content>
    <updated>2008-01-21T11:02:19Z</updated>
    <category term="Uncategorized"/>
    <author>
      <name>Tianchao Li</name>
    </author>
    <source>
      <id>http://dev.eclipse.org/blogs/eclipseptp</id>
      <link href="http://dev.eclipse.org/blogs/eclipseptp/feed" rel="self" type="application/atom+xml"/>
      <link href="http://dev.eclipse.org/blogs/eclipseptp" rel="alternate" type="text/html"/>
      <subtitle>Just another Eclipse Committer and Project Blogs weblog</subtitle>
      <title>Tianchao's Blog on Eclipse PTP</title>
      <updated>2008-02-07T08:38:59Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-466034306372559694.post-5831508546202388161</id>
    <link href="http://publicabstractvoid.blogspot.com/feeds/5831508546202388161/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=466034306372559694&amp;postID=5831508546202388161" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/466034306372559694/posts/default/5831508546202388161" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/466034306372559694/posts/default/5831508546202388161" rel="self" type="application/atom+xml"/>
    <link href="http://publicabstractvoid.blogspot.com/2008/01/quick-eclipse-based-xml-editor-using.html" rel="alternate" type="text/html"/>
    <title>A Quick Eclipse-based XML Editor Using EMF, Part I</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><span style="font-weight: bold;">Introduction</span><br/><br/>I've recently been dabbling in <span style="font-weight: bold;">OSGi</span> technology and found <span style="font-weight: bold;">DS</span> (Declarative Services) feature neat for automagically registering and finding/consuming services. Basically, instead of having to call OSGi APIs for registering Java objects(services), you will just need to "declare" these provided services in an XML file and the DS framework will take care of registering it for you. Similarly, if your application needs a service, instead of finding (and tracking) it yourself in code, just declare it in the XML file and DS will take care of "injecting" it into your object and tracking dynamic registration/unregistration. It is very reminiscent of <span style="font-weight: bold;">Spring Dependency Injection</span> and in fact, Spring has a very similar technology called <span style="font-weight: bold;">Spring DM</span> (Dynamic Modules). In the end, these technologies are all about decoupling your business logic from framework/container (e.g.OSGi) APIs, which promotes greater code reusability.<br/><br/>Anyway, like I said, the configuration is XML-based and being the lazy (in a good way ;-)) developer that I am, I wanted an integrated editor in Eclipse to edit these DS files. Nowadays, whenever I see and XML&lt;-&gt;Java binding (plus Eclipse integration) problem my neurons automatically fire "<span style="font-weight: bold;">EMF!</span>", and so I set about trying to use this technology to create my own editor.<br/><br/>Which brings us to our first box-looking thingie:<br/><span style="font-weight: bold;"/><br/><div style="padding: 10px; background-color: rgb(220, 220, 220); font-size: smaller;"><span style="font-weight: bold; width: 80%;">What is EMF?</span><br/><br/><ol><li>A (meta-)modeling language (ecore)</li><li> A Java code generator for your model</li><li>An (extensible) XML&lt;-&gt;Java binding framework</li></ol><br/>In addition to the above, you also get the following:<br/><ul><li>Reflective API (e.g., eGet("sandwich") method in addition to getSandwich() method)</li><li>Change notification</li><li>Base adapter &amp; adapter factory classes for most model editing needs (providing content, labels, etc. for your model)</li><li>Command-based editing, undo/redo support</li><li>A sample Eclipse editor which you can customize or study</li><li>An option to export the editor as a standalone RCP app (cool!)<br/></li></ul></div><br/><br/>As a <span style="font-weight: bold;">modeling </span>technology, EMF is pretty solid and feature-rich. However, for this case, we don't need to create models because there is already a schema available - it's in the OSGi specs. EMF already has the ability to convert any XSD schema to an ecore model, and vice-versa.<br/><br/>The DS schema looks something like this:<br/><br/><a href="http://2.bp.blogspot.com/_JV9_q-dLKr0/R5CHobtuXRI/AAAAAAAAAEk/ZEflI7PYy6k/s1600-h/00_ds_schema.PNG"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5156770702043274514" src="http://2.bp.blogspot.com/_JV9_q-dLKr0/R5CHobtuXRI/AAAAAAAAAEk/ZEflI7PYy6k/s320/00_ds_schema.PNG" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;"/></a><br/>I just copied it from the specs and saved it to a file in my system.<br/><br/>Here, then, is the quick procedure for creating the editor. Are you ready? Don't blink your eyes because this will be <span style="font-weight: bold;">F-A-S-T</span>! :-)<br/><br/>1. From Eclipse, click <span style="font-weight: bold;">New-&gt;Other...</span>, then select <span style="font-weight: bold;">EMF Project</span> as below:<br/><br/><a href="http://3.bp.blogspot.com/_JV9_q-dLKr0/R5CAdrtuXPI/AAAAAAAAAEU/dLWTuEyGYJw/s1600-h/01_new_emf_proj_wiz.PNG"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5156762820778286322" src="http://3.bp.blogspot.com/_JV9_q-dLKr0/R5CAdrtuXPI/AAAAAAAAAEU/dLWTuEyGYJw/s320/01_new_emf_proj_wiz.PNG" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;"/></a><br/>You will be prompted for a project name. Type, e.g., <code>org.example.ds</code>.<br/><br/>2. Select a Model Importer. For now we use <span style="font-weight: bold;">XML Schema</span>:<br/><br/><a href="http://1.bp.blogspot.com/_JV9_q-dLKr0/R5CB1LtuXQI/AAAAAAAAAEc/xAhBMwzuo0M/s1600-h/02_import_schema.PNG"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5156764324016839938" src="http://1.bp.blogspot.com/_JV9_q-dLKr0/R5CB1LtuXQI/AAAAAAAAAEc/xAhBMwzuo0M/s320/02_import_schema.PNG" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;"/></a><br/>Then, browse to where you saved the DS schema file (.xsd).<br/><br/><a href="http://2.bp.blogspot.com/_JV9_q-dLKr0/R5CM2btuXSI/AAAAAAAAAEs/u8QAtEt8Bek/s1600-h/03_schema_import.PNG"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5156776440119581986" src="http://2.bp.blogspot.com/_JV9_q-dLKr0/R5CM2btuXSI/AAAAAAAAAEs/u8QAtEt8Bek/s320/03_schema_import.PNG" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;"/></a><br/><br/>3. In the next page you will be asked what packages to import. EMF tries to generate a model filename from the schema contents but it's sometimes not nice (e.g. <code>_0.ecore</code>). You can rename it if you want, like here I renamed it to <code>ds.ecore</code>.<br/><br/><a href="http://2.bp.blogspot.com/_JV9_q-dLKr0/R5CNgbtuXTI/AAAAAAAAAE0/ZFkjnAlKQow/s1600-h/04_package_select.PNG"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5156777161674087730" src="http://2.bp.blogspot.com/_JV9_q-dLKr0/R5CNgbtuXTI/AAAAAAAAAE0/ZFkjnAlKQow/s320/04_package_select.PNG" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;"/></a><br/>4. When the wizard is finished, you will have a new project in your workspace, with the generated ecore model (<code>ds.ecore</code>). Also, there will be a <code>ds.genmodel</code> file which is a generator model for your model: it tells EMF about code-generator-specific stuff like where to put the generated files, what base package name to use, etc.<br/><br/>You can view and edit these files via the Ecore and GenModel editors already bundled with EMF:<br/><br/><br/><a href="http://4.bp.blogspot.com/_JV9_q-dLKr0/R5CRr7tuXVI/AAAAAAAAAFE/d-LZDIlIUJw/s1600-h/05_project.PNG"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5156781757289094482" src="http://4.bp.blogspot.com/_JV9_q-dLKr0/R5CRr7tuXVI/AAAAAAAAAFE/d-LZDIlIUJw/s320/05_project.PNG" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;"/></a><br/>Again, the package name derived from the schema might not look nice ("_0"), so here we can rename it. In the Ecore editor, select the package _0, and in the Properties View, set the <span style="font-weight: bold;">Name</span> property to "ds".<br/><br/><a href="http://4.bp.blogspot.com/_JV9_q-dLKr0/R5CSg7tuXWI/AAAAAAAAAFM/7mCdroHO_qE/s1600-h/06_package_properties.PNG"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5156782667822161250" src="http://4.bp.blogspot.com/_JV9_q-dLKr0/R5CSg7tuXWI/AAAAAAAAAFM/7mCdroHO_qE/s320/06_package_properties.PNG" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;"/></a><br/>5. Now that that's out of the way, we can configure the code generator. First, double-click the <code>ds.genmodel</code> file. It will open the GenModel editor:<br/><br/><a href="http://1.bp.blogspot.com/_JV9_q-dLKr0/R5CTOLtuXXI/AAAAAAAAAFU/l14sDkffccg/s1600-h/07_genmodel.PNG"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5156783445211241842" src="http://1.bp.blogspot.com/_JV9_q-dLKr0/R5CTOLtuXXI/AAAAAAAAAFU/l14sDkffccg/s320/07_genmodel.PNG" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;"/></a><br/>We can set the <span style="font-weight: bold;">Base Package</span> property to <code>org.example</code> so that the generated package will start with <code>org.example.ds</code>. And also rename the <span style="font-weight: bold;">Prefix </span>property to "Ds" (previously it was "_0").<br/><br/>6. Code generation time!<br/><br/>Select the root genmodel (Ds), right-click, then click the <span style="font-weight: bold;">Generate Model Code</span>, <span style="font-weight: bold;">Generate Edit Code</span>, and <span style="font-weight: bold;">Generate Editor Code</span> commands successively.<br/><br/><a href="http://1.bp.blogspot.com/_JV9_q-dLKr0/R5CU5LtuXYI/AAAAAAAAAFc/Hwyan7mavsQ/s1600-h/08_codegen.PNG"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5156785283457244546" src="http://1.bp.blogspot.com/_JV9_q-dLKr0/R5CU5LtuXYI/AAAAAAAAAFc/Hwyan7mavsQ/s320/08_codegen.PNG" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;"/></a><br/>If successful, it will generate the Java code for your model, as well as 2 new projects: a UI-agnostic <code>.edit</code> project which you can re-use outside of the Eclipse environment, and an Eclipse-specific <code>.editor</code> project which is tightly bound to (you guessed it) the Eclipse environment.<br/><br/>The editor application is complete!<br/><br/>7. You can test it by launching a new Eclipse instance from the workbench:<br/><br/><a href="http://3.bp.blogspot.com/_JV9_q-dLKr0/R5CWCrtuXZI/AAAAAAAAAFk/l3w8wXqc1W8/s1600-h/09_launch.PNG"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5156786546177629586" src="http://3.bp.blogspot.com/_JV9_q-dLKr0/R5CWCrtuXZI/AAAAAAAAAFk/l3w8wXqc1W8/s320/09_launch.PNG" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;"/></a><br/>It will run a new Eclipse environment with your core, edit, and editor plug-ins included. In it you can try to create a new DS file via <span style="font-weight: bold;">New-&gt;Other...-&gt;Example EMF Model Creation Wizards-&gt;Ds Model</span>.<br/><br/><a href="http://4.bp.blogspot.com/_JV9_q-dLKr0/R5CXq7tuXaI/AAAAAAAAAFs/DeuAzv0aXrs/s1600-h/10_dswizard.PNG"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5156788337178992034" src="http://4.bp.blogspot.com/_JV9_q-dLKr0/R5CXq7tuXaI/AAAAAAAAAFs/DeuAzv0aXrs/s320/10_dswizard.PNG" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;"/></a><br/>If you try to double-click this new file, it will invoke the <code>.editor</code> plugin you just created, and show a nice tree-based editor for you!<br/><br/><a href="http://1.bp.blogspot.com/_JV9_q-dLKr0/R5CYNLtuXbI/AAAAAAAAAF0/D_FOJHMKLrQ/s1600-h/11_dseditor.PNG"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5156788925589511602" src="http://1.bp.blogspot.com/_JV9_q-dLKr0/R5CYNLtuXbI/AAAAAAAAAF0/D_FOJHMKLrQ/s320/11_dseditor.PNG" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;"/></a><br/>The great thing is, if you try to look at <code>My.ds</code> using a text editor, you will see the underlying data is fully compliant XML!<br/><br/><span style="font-weight: bold;"/><br/><span style="font-weight: bold;">What's Next</span><br/><br/>We've gone from <span style="font-style: italic;">zero</span> (editing XML by hand) to <span style="font-style: italic;">hero</span> (editing the same XML by a neat, integrated, GUI-based editor) in just a few mouse clicks. But that is not all that EMF can do! I just hope this article has gotten you interested enough to want to have a deeper look. :-)<br/><br/>From here, where can our DS Editor application go? Well, I can see a few things for improvement already:<br/><br/>1. The generated class names are ugly!<br/><br/>Did you have a look at the generated model/Java code? There are classes whose names are <code>Tservice</code>, <code>Tproperties</code>, and so on (fugly!). These are a direct consequence of the <code>&lt;complexType name="xxx"&gt;</code> declarations in the schema. It would be nice if the generated class names were more, hmm... <span style="font-style: italic;">how you say</span>... Java-ish? :-p Like <code>Service</code> and <code>Properties</code>, respectively, for example.<br/><br/>In the next parts I will show how to "coax" EMF to generate (nicer, if you wish) class names, so you won't be forced to use the schema's type names if you don't want to. :-)<br/><br/>2. I want more Eclipse IDE integration!<br/><br/>For example, when I edit the attribute <code>interface</code>, I don't want to type the Java interface name in a text box. I want something similar to those nice <a href="http://www.eclipse.org/jdt/">JDT</a> dialogs where I can search and select for the Java interface:<br/><br/><a href="http://3.bp.blogspot.com/_JV9_q-dLKr0/R5CP0rtuXUI/AAAAAAAAAE8/roox3flh86c/s1600-h/99_jdt_dialog.PNG"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5156779708589694274" src="http://3.bp.blogspot.com/_JV9_q-dLKr0/R5CP0rtuXUI/AAAAAAAAAE8/roox3flh86c/s320/99_jdt_dialog.PNG" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;"/></a><br/>In the next posts, we'll see how this can be done.<br/><br/>3. I want it to make me coffee &amp; toast!<br/><br/>Okay, EMF is cool.. but not <span style="font-style: italic;">that</span> cool :-)<br/><br/><span style="font-style: italic;">Stay tuned!!!</span><div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/466034306372559694-5831508546202388161?l=publicabstractvoid.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2008-01-18T12:43:29Z</updated>
    <published>2008-01-17T02:13:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="eclipse"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="xml"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="emf"/>
    <author>
      <name>Ron</name>
      <email>noreply@blogger.com</email>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-466034306372559694</id>
      <author>
        <name>Ron</name>
        <email>noreply@blogger.com</email>
      </author>
      <link href="http://publicabstractvoid.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/466034306372559694/posts/default/-/eclipse" rel="self" type="application/atom+xml"/>
      <link href="http://publicabstractvoid.blogspot.com/search/label/eclipse" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>Notes of a software developer</subtitle>
      <title>publicabstractvoid</title>
      <updated>2010-06-06T09:26:10Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-676376346581265106.post-512231520557616126</id>
    <link href="https://www.blogger.com/comment.g?blogID=676376346581265106&amp;postID=512231520557616126" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/676376346581265106/posts/default/512231520557616126" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/676376346581265106/posts/default/512231520557616126" rel="self" type="application/atom+xml"/>
    <link href="http://rseworld.blogspot.com/2008/01/target-management-30m4-released.html" rel="alternate" type="text/html"/>
    <title>Target Management 3.0M4 Released</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Target Management 3.0M4 is now available for <a href="http://download.eclipse.org/dsdp/tm/downloads/drops/S-3.0M4-200801071150/index.php">download</a>.  For all the details about what's new check the <a href="http://download.eclipse.org/dsdp/tm/downloads/drops/S-3.0M4-200801071150/buildNotes.php">build notes</a>.   Some of the new changes include <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=160775">Archive operations being cancelable</a>, improved file preference page, and a new <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=143503">Synchronize Cache</a> operation.<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/676376346581265106-512231520557616126?l=rseworld.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2008-01-17T20:57:16Z</updated>
    <published>2008-01-17T20:34:00Z</published>
    <author>
      <name>Kevin Doyle</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/10358310365672717713</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-676376346581265106</id>
      <author>
        <name>Kushal Munir</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/15430219909436214661</uri>
      </author>
      <link href="http://rseworld.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/676376346581265106/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://rseworld.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>All about RSE and the wonderful world that is technology...</subtitle>
      <title>RSE World</title>
      <updated>2010-06-06T17:50:15Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-466034306372559694.post-4557691908832408895</id>
    <link href="http://publicabstractvoid.blogspot.com/feeds/4557691908832408895/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=466034306372559694&amp;postID=4557691908832408895" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/466034306372559694/posts/default/4557691908832408895" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/466034306372559694/posts/default/4557691908832408895" rel="self" type="application/atom+xml"/>
    <link href="http://publicabstractvoid.blogspot.com/2008/01/read-write.html" rel="alternate" type="text/html"/>
    <title>Read...+ Write?</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">In a previous <a href="http://publicabstractvoid.blogspot.com/2007/11/whats-out-and-about-nov-29-2007.html">post</a> I mentioned the possibilities opened up by having access to a C/C++ project's DOM AST within Eclipse. Now there's a new <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=214334">bugzilla</a> in CDT to work on making this AST writable. Aside from the obvious benefit (aka "refactoring"), I can imagine a whole new bunch of neat features that can be made possible by this work: more intelligent C/C++ code generation, quick fix, among others.<div><br/></div><div>Eclipse CDT is becoming more and more like the excellent JDT in terms of features <span class="Apple-style-span" style="font-style: italic;">and</span> API, and this is great news for us C/C++ developers and Eclipse plug-in developers alike.</div><div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/466034306372559694-4557691908832408895?l=publicabstractvoid.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2008-01-10T15:00:25Z</updated>
    <published>2008-01-07T14:55:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="cdt"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="eclipse"/>
    <author>
      <name>Ron</name>
      <email>noreply@blogger.com</email>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-466034306372559694</id>
      <author>
        <name>Ron</name>
        <email>noreply@blogger.com</email>
      </author>
      <link href="http://publicabstractvoid.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/466034306372559694/posts/default/-/eclipse" rel="self" type="application/atom+xml"/>
      <link href="http://publicabstractvoid.blogspot.com/search/label/eclipse" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>Notes of a software developer</subtitle>
      <title>publicabstractvoid</title>
      <updated>2010-06-06T09:26:10Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-23767717.post-8219996104882441614</id>
    <link href="http://ohf-dev.blogspot.com/feeds/8219996104882441614/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=23767717&amp;postID=8219996104882441614" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/23767717/posts/default/8219996104882441614" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/23767717/posts/default/8219996104882441614" rel="self" type="application/atom+xml"/>
    <link href="http://ohf-dev.blogspot.com/2007/12/stem-021-now-available.html" rel="alternate" type="text/html"/>
    <title>STEM 0.2.1 Now Available</title>
    <summary>Version 0.2.1 of STEM is now available!  To get the latest version, please see the OHF Downloads page.  Builds are available for Windows, Linux, and Mac OS X.New for version 0.2.1 are over 100 bug fixes, additional features and additional built-in Scenarios.  The new features include new "Time Series" and "Phase Space" views.  The first view plots graphs of the values of disease variables over</summary>
    <updated>2007-12-20T00:44:39Z</updated>
    <published>2007-12-20T00:24:00Z</published>
    <author>
      <name>Matt Davis</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/00454758764053983536</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-23767717</id>
      <author>
        <name>Grahame Grieve</name>
        <email>noreply@blogger.com</email>
      </author>
      <link href="http://ohf-dev.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/23767717/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://ohf-dev.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://www.blogger.com/feeds/23767717/posts/default?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <subtitle>This is the Eclipse Open Healthcare Framework (OHF) blog.
The OHF project addresses part of an need to improve the levels of interoperability between applications and systems within and across healthcare organizations – corporate and regions.</subtitle>
      <title>Open Healthcare Framework</title>
      <updated>2010-05-20T19:58:08Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-1157206974462930369.post-788337580164247065</id>
    <link href="http://eclipsisms.blogspot.com/feeds/788337580164247065/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=1157206974462930369&amp;postID=788337580164247065" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/1157206974462930369/posts/default/788337580164247065" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/1157206974462930369/posts/default/788337580164247065" rel="self" type="application/atom+xml"/>
    <link href="http://feedproxy.google.com/~r/blogspot/SHVc/~3/blj5DRp0t-Y/making-eclipse-newsgroups-more.html" rel="alternate" type="text/html"/>
    <title>Making Eclipse Newsgroups More Effective</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">As long as I've used Eclipse,  I've found the <a href="http://www.eclipse.org/newsgroups/">newsgroups</a> to be a great source of information and probably <span style="font-style: italic;">the</span> best source of documentation outside the included help docs.  However, I've always found it hard to find information in the platform newsgroup.  The problem is that it has turned into a kind of catch-all for Eclipse users, plugin developers, jface developers, etc.  This makes it really hard when you are searching for something on a topic from a particular point of view.  A few months ago, I filed <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=201448">this bug</a> to request a change.  My proposal is to try to organize the information as follows:<br/><pre id="comment_text_0">platform.users<br/>platform.pluginDev<br/>platform.jface<br/>...<br/></pre>        <span style="font-style: italic;"/>In order to get some support for this change, I meant to post back then (really, I did).  It was brought back to my attention by a comment on the bug, so I thought this would be a good time to see if any other in the community have the same feelings.  If not, I'll just have to get better at searching;)<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/1157206974462930369-788337580164247065?l=eclipsisms.blogspot.com" width="1"/></div><img height="1" src="http://feeds.feedburner.com/~r/blogspot/SHVc/~4/blj5DRp0t-Y" width="1"/></div>
    </content>
    <updated>2007-12-17T21:07:50Z</updated>
    <published>2007-12-18T02:10:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="eclipse"/><feedburner:origlink xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://eclipsisms.blogspot.com/2007/08/making-eclipse-newsgroups-more.html</feedburner:origlink>
    <author>
      <name>Adam Cabler</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/16116068837432398180</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-1157206974462930369</id>
      <author>
        <name>Adam Cabler</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/16116068837432398180</uri>
      </author>
      <link href="http://eclipsisms.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://eclipsisms.blogspot.com/search/label/eclipse" rel="alternate" type="text/html"/>
      <link href="http://feeds.feedburner.com/blogspot/SHVc" rel="self" type="application/atom+xml"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Feedback, rants, and commentary from an Eclipse Application Developer.
<br/><br/>
Please note that these are my own thoughts.  I am not affiliated with IBM or the Eclipse Foundation in any way.</div>
      </subtitle>
      <title>Eclipsisms</title>
      <updated>2010-06-07T13:43:07Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-676376346581265106.post-620503931314560354</id>
    <link href="https://www.blogger.com/comment.g?blogID=676376346581265106&amp;postID=620503931314560354" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/676376346581265106/posts/default/620503931314560354" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/676376346581265106/posts/default/620503931314560354" rel="self" type="application/atom+xml"/>
    <link href="http://rseworld.blogspot.com/2007/12/eclipse-monkey-rse.html" rel="alternate" type="text/html"/>
    <title>Eclipse Monkey &amp; RSE</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Lately I have been trying out <a href="http://www.eclipse.org/dash/">Eclipse Monkey</a>.  The <a href="http://www.eclipse.org/dash/">Dash</a> project website describes Eclipse Monkey best: "Eclipse Monkey is a dynamic scripting tool for the automation of routine programming tasks. Monkey scripts are little JavaScript programs using either the Eclipse APIs or custom Monkey DOMs."  This tool caught my eye as I always wanted to try out <a href="https://addons.mozilla.org/en-US/firefox/addon/748">Greasemonkey</a> for <a href="http://www.mozilla.com/en-US/firefox/">Firefox</a> and it looked like it could do the same for Eclipse.  Reading the wiki for creating scripts showed that it was very easy to do.  Now I just needed an idea for a script.</p><p><a href="http://divby0.blogspot.com/search/label/eclipse">Nick Boldt</a> had an <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=210574">enhancement request</a> to be able to have 2 Remote Systems Views open at once.  Until this is added we came up with a workaround to use the Remote Scratchpad.  You might be thinking Remote Scratchpad?  It is one of the views that comes with RSE, but is hidden behind the Properties view.  Its purpose is to be able to drag and drop any RSE object into it for later use.  It's great for doing copy and paste across connections.  So, if I can drag and drop any RSE object into it I can populate the view to be a secondary Remote Systems View.</p><p>With this bug in mind I decided to make a script that would copy all of my connections to the Scratchpad and display the Scratchpad view.  The script can be found on <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=210574">bug #210574</a>.  If you want to try this out install Eclipse Monkey from the Europa update site and copy the contents of the file attached on bugzilla.  Go to Scripts &gt; Paste inside Eclipse.  You have now installed your first RSE Eclipse Monkey script that will Clone the Remote Systems View inside the Remote Scratchpad.</p><div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/676376346581265106-620503931314560354?l=rseworld.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2007-12-15T21:13:35Z</updated>
    <published>2007-12-13T18:43:00Z</published>
    <author>
      <name>Kevin Doyle</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/10358310365672717713</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-676376346581265106</id>
      <author>
        <name>Kushal Munir</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/15430219909436214661</uri>
      </author>
      <link href="http://rseworld.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/676376346581265106/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://rseworld.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>All about RSE and the wonderful world that is technology...</subtitle>
      <title>RSE World</title>
      <updated>2010-06-06T17:50:15Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://tom.jabber.ee/chessblog/2007/11/14/boosting-eclipse-plugin-development-with-javarebel/</id>
    <link href="http://tom.jabber.ee/chessblog/2007/11/14/boosting-eclipse-plugin-development-with-javarebel/" rel="alternate" type="text/html"/>
    <title>Boosting Eclipse Plugin Development With JavaRebel</title>
    <summary>The latest development snapshots of JavaRebel include support for the Eclipse platform. This means that plugin developers can launch an Eclipse Application to test their plugins and make changes to the source code and see the results in the already opened Eclipse instance. No need to relaunch Eclipse instances to see changes happen.
More information at [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>The latest <a href="http://www.zeroturnaround.com/download/">development snapshots</a> of <a href="http://www.zeroturnaround.com/javarebel">JavaRebel</a> include support for the <a href="http://www.eclipse.org/">Eclipse</a> platform. This means that plugin developers can launch an Eclipse Application to test their plugins and make changes to the source code and see the results in the already opened Eclipse instance. No need to relaunch Eclipse instances to see changes happen.</p>
<p>More information at the <a href="http://www.zeroturnaround.com/blog/javarebel-boosting-eclipse-plugin-development/">ZeroTurnaround blogpost</a> that has a screencast showing off the new integration.</p></div>
    </content>
    <updated>2007-11-14T14:10:29Z</updated>
    <category term="SoC2007"/>
    <category term="eclipse"/>
    <author>
      <name>Toomas Römer</name>
    </author>
    <source>
      <id>http://tom.jabber.ee/chessblog</id>
      <link href="http://tom.jabber.ee/chessblog/category/soc2007/feed/" rel="self" type="application/atom+xml"/>
      <link href="http://tom.jabber.ee/chessblog" rel="alternate" type="text/html"/>
      <subtitle>About jsPgnView &amp; meme</subtitle>
      <title>jsPgnViewer &amp; stuff » SoC2007</title>
      <updated>2010-04-27T13:57:25Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://codecurl.wordpress.com/2007/11/03/automated-eclipse-gui-testing-the-quick-and-simple-way/</id>
    <link href="http://codecurl.wordpress.com/2007/11/03/automated-eclipse-gui-testing-the-quick-and-simple-way/" rel="alternate" type="text/html"/>
    <title>Automated Eclipse GUI testing the quick and simple way</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">We’re very test driven here at Cape Clear, we develop automated tests for everything we do. We’re not strict about writing our tests first, I for one write my tests with my code, iterating between one and the other in the course of realising a story (we follow Scrum, a lightweight wrapper process on agile/XP). [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=codecurl.wordpress.com&amp;blog=412850&amp;post=127&amp;subd=codecurl&amp;ref=&amp;feed=1"/></div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>We’re very test driven here at Cape Clear, we develop automated tests for everything we do. We’re not strict about writing our tests first, I for one write my tests with my code, iterating between one and the other in the course of realising a story (we follow Scrum, a lightweight wrapper process on agile/XP). I wouldn’t dream of writing code without some level of automated test coverage, to me it is meaningless – how do I know the feature code works if I don’t have something that proves it works now, and as I refactor the code base through iterations of the product? Writing tests makes me many orders of magnitude more productive as a developer. I still hear the “lack of time and resources to write automated tests” excuse from developers I know in other companies. Sometimes I argue with them, sometimes I just smile benignly: you don’t need more resources or time to write tests, <em>writing tests gives you more resources and time</em>, and of course results in far superior quality software. But the fly in the ointment for us has been automating the GUI testing of our Eclipse-based tools. We have extensive junit tests for the non-GUI parts of the tools, like our (WTP) facet install delegates, our builders, our models etc. Eighteen months ago we chose Eclipse TPTP, the GUI recorder and playback toolkit, to automate our GUI tests. Maybe others have had more success with TPTP than we have, but our experience was less than satisfactory. In the end we only achieved a tiny amount of coverage with it, and it is difficult to keep these kinds of tests passing and running continuously across multiple branches of the product. In general GUI recorder/playback tests are very brittle to even minor changes in the user interaction. Several things happened recently that made me realise we could and should drop that approach. We started to push our (PDE) junit tests up into the UI, specifically in relation to testing our GMF-based SOA Assembly Editor. We wrote tests that did things like clicking on all the tools in the palette and checking that the edit parts and model elements were created correctly. PDE junit tests run in the UI thread. It struck me that we already had 99% of what we needed to automate our GUI tests from junit. What we did not have was:</p>
<ul>
<li>a test framework, test APIs, which read like a GUI test specification</li>
<li>the ability to automate the testing of blocking UI elements, namely wizards and dialogs</li>
</ul>
<p>The first was easy, I took a couple of our WSDL-to-Java project wizard GUI test cases and prototyped the kind of APIs I wanted, they read just like we write our test specs. Then I implemented the APIs, most of which were very thin (but more test friendly) facades on existing APIs and existing test code. That left me with the wizards and dialog problem. When you launch an SWT wizard or dialog from a PDE junit test, it blocks because its waiting on input from the SWT event queue. The blocking happens in the <code>open()</code> method of <code>org.eclipse.jface.window.Window</code>, from which <code>WizardDialog</code> is derived. In an automated test, we want the input to come from the junit test code, not from the SWT event queue. Fortunatly, <code>open()</code> is public. I will resist going off on a tangent here about one of my pet gripes: the excessive marking of methods as private and classes as final etc. – let me decide how I want to specialise your code, you cannot see all ends and mostly I know what I’m doing. Anyway, back on topic, so now we have our own <code>CcWizardDialog</code> (which extends <code>WizardDialog</code>), and the code looks like this:</p>
<pre>public int open() {
  if (this.cctest == null) {
    return super.open();
  }
  else {
    return doTestOpen();
  }
}
protected int doTestOpen() {
  Shell shell = getShell();
  if (shell == null || shell.isDisposed()) {
    shell = null;
    create();
  }
  shell = getShell();
  constrainShellSize();
  shell.open();
  ICcWizard ccWizard = new CcWizardImpl(getWizard(), this);
  cctest.testWizard(ccWizard);
  return getReturnCode();
}</pre>
<p>The <code>cctest</code> member is an object that implements a simple callback interface, typically its the junit test itself. There is no difference in adding these kinds of test hooks to code and doing test-driven development. <em>We write our code to be testable by code</em>. Remember that we’re not trying to test SWT or core Eclipse platform components, we know they are well covered, stable, mature – basically: <em>we know they work</em>. And of course we do manually test and use our tools too. The <code>ICcWizard</code> interface looks like this:</p>
<pre>public interface ICcWizard {
  ICcWizardPage getCurrentPage();
  ICcWizardPage next();
  ICcWizardPage back();
  void finish();
  void cancel();
  IWizard getWizard();
  boolean isNextEnabled();
  boolean isFinishEnabled();
}</pre>
<p>And (an abbreviated) <code>ICcWizardPage</code> interface looks like this:</p>
<pre>public interface ICcWizardPage {
  void setTextValue(...);
  void selectComboValue(...);
  void setCheckBox(...);
  void setRadioButton(...);
  ...
}</pre>
<p>Now you can start to see how the junit test reads, just like you’d write a GUI test spec: launch the wizard, set a value in a text box, select a value in a combobox, go to the next page in the wizard, select a radio button, press finish. After which the call stack unwinds back to the junit test, which can then use project APIs to verify the results. I’ve been deliberately vague about <code>ICcWizardPage</code>. How that works is also quite interesting, and very simple. I will detail this and more in another posting. What I really like about the whole approach is that the tests are quick to write and simple to maintain.</p>
<br/><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/codecurl.wordpress.com/127/"/> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/codecurl.wordpress.com/127/"/> <a href="http://feeds.wordpress.com/1.0/gocomments/codecurl.wordpress.com/127/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/codecurl.wordpress.com/127/"/></a> <a href="http://feeds.wordpress.com/1.0/godelicious/codecurl.wordpress.com/127/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/codecurl.wordpress.com/127/"/></a> <a href="http://feeds.wordpress.com/1.0/gostumble/codecurl.wordpress.com/127/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/codecurl.wordpress.com/127/"/></a> <a href="http://feeds.wordpress.com/1.0/godigg/codecurl.wordpress.com/127/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/codecurl.wordpress.com/127/"/></a> <a href="http://feeds.wordpress.com/1.0/goreddit/codecurl.wordpress.com/127/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/codecurl.wordpress.com/127/"/></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=codecurl.wordpress.com&amp;blog=412850&amp;post=127&amp;subd=codecurl&amp;ref=&amp;feed=1"/></div>
    </content>
    <updated>2007-11-03T13:18:40Z</updated>
    <category term="CapeDeveloper"/>
    <category term="Eclipse"/>
    <category term="Java"/>
    <category term="Uncategorized"/>
    <author>
      <name>codecurl</name>
    </author>
    <source>
      <id>http://codecurl.wordpress.com</id>
      <logo>http://www.gravatar.com/blavatar/376e72e8689bf093eebd02df32c8a4ef?s=96&amp;d=http://s2.wp.com/i/buttonw-com.png</logo>
      <link href="http://codecurl.wordpress.com/category/eclipse/feed/" rel="self" type="application/atom+xml"/>
      <link href="http://codecurl.wordpress.com" rel="alternate" type="text/html"/>
      <link href="http://codecurl.wordpress.com/osd.xml" rel="search" type="application/opensearchdescription+xml"/>
      <link href="http://codecurl.wordpress.com/?pushpress=hub" rel="hub" type="text/html"/>
      <subtitle>Software, architecture, tools and technology</subtitle>
      <title>Codecurl - David Black » Eclipse</title>
      <updated>2010-06-09T06:16:33Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://dev.eclipse.org/blogs/wonk/2007/10/17/2nd-and-last-round-of-voting-for-the-eclipse-ajax-toolkit-framework-project-name-change/</id>
    <link href="http://dev.eclipse.org/blogs/wonk/2007/10/17/2nd-and-last-round-of-voting-for-the-eclipse-ajax-toolkit-framework-project-name-change/" rel="alternate" type="text/html"/>
    <title>2nd and Last round of voting for the Eclipse Ajax Toolkit Framework project name change</title>
    <summary>After a first pass and over 50 responses to the survey, we have a crop of good potential names for a final ballot. I am making a new survey to select the winners: click to vote
Note that this is not a normal vote. The committers WILL HAVE final say and their votes count much more [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>After a first pass and over 50 responses to the survey, we have a crop of good potential names for a final ballot. I am making a new survey to select the winners: <a href="http://www.surveymonkey.com/s.aspx?sm=ZJf2JR8oQGk3R0yLdbrRzQ_3d_3d">click to vote</a></p>
<p>Note that this is not a normal vote. The committers WILL HAVE final say and their votes count much more than those of common mortals.<br/>
This is what I call algebraic democracy <img alt=":-)" class="wp-smiley" src="http://dev.eclipse.org/blogs/wonk/wp-includes/images/smilies/icon_smile.gif"/> And the Eclipse foundation has also its word in the game as they like to have names that can be trademarked or are clear of trademarks.</p>
<p><strong>I personally like JADE, TOAD, WBT, and Salamis, with Toad and Salamis yielding obviously fun project logos.</strong></p>
<p>I thought for sec about the (meta style) Ajax Tools Tools (ATT) but that might be trademarked and no one picked it.</p>
<p>The names that made the final round are:<br/>
<code>ADT = Ajax development Tools<br/>
AIDE = Ajax IDE<br/>
ASIF = Ajax and Scripting Integration Framework<br/>
ATF = keep it . it is better than any of the others<br/>
ATP = AJAX Tools Platform<br/>
AWDT = Ajax, Web and DHTML toolsW2T = web 2.0 tools<br/>
CAFE = Common Ajax Framework for Eclipse<br/>
CAT = Common Ajax Toolkit<br/>
EJAX = Eclipse aJAX<br/>
FAT = Framework for Ajax Tooling<br/>
JADE = JavaScript Ajax DHTML Environment<br/>
JSDDT = JavaScript and Dom Development Tools<br/>
RIAF = Rich Internet Application Framework<br/>
RWAF - Rich Web Application Framework<br/>
Salamis = The kingdom of Ajax<br/>
TAD = Tools for Ajax Development<br/>
TOAD = Tools Of Ajax Development<br/>
WBT = Web browser tools<br/>
WCDT = Web Client Development Tools.<br/>
WCT = Web Client Tools<br/>
YAAP = Yet Another Ajax Project</code></p></div>
    </content>
    <updated>2007-10-17T14:30:00Z</updated>
    <category term="ajax"/>
    <category term="atf"/>
    <category term="community"/>
    <category term="eclipse"/>
    <author>
      <name>Philippe Ombredanne</name>
    </author>
    <source>
      <id>http://dev.eclipse.org/blogs/wonk</id>
      <link href="http://dev.eclipse.org/blogs/wonk/feed" rel="self" type="application/atom+xml"/>
      <link href="http://dev.eclipse.org/blogs/wonk" rel="alternate" type="text/html"/>
      <subtitle>Blogging open source Eclipse</subtitle>
      <title>Eclipse Wonk Winks</title>
      <updated>2007-10-17T16:44:40Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://dev.eclipse.org/blogs/wonk/2007/10/12/fighting-aids-with-open-source/</id>
    <link href="http://dev.eclipse.org/blogs/wonk/2007/10/12/fighting-aids-with-open-source/" rel="alternate" type="text/html"/>
    <title>Fighting AIDS with open source</title>
    <summary>I met last week-end with folks (Paul and Burke) from the OpenMRS project during the Google Summer of Code mentor summit. Their project is important as it tries to provide an open source platform for managing medical records for economically dis-advantaged countries — such as African countries — and to bring their modest contributions to [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>I met last week-end with folks (Paul and Burke) from the <a href="http://openmrs.org">OpenMRS</a> project during the Google Summer of Code mentor summit. Their project is important as it tries to provide an open source platform for managing medical records for economically dis-advantaged countries — such as African countries — and to bring their modest contributions to fight serious diseases such as AIDS.</p>
<p>It makes all of our work as software developers –open source or closed source– look futile and misplaced.</p>
<p>I found out they used a lot Eclipse BIRT and are on the lookout for a visual XForms editor to create new forms for medical records.</p>
<p>I thought it would be awesome if we could do some collaboration together around a visual XForms editor.</p>
<p>Such an editor would be open source –of course– , fit within the Visual Editor project charter and even better it would be coding for a good cause. </p>
<p>I am calling out for volunteers that could be interested to make something like that happen.<br/>
If member companies would want to contribute in kind or resources to help (resources are always better, unless you have a visual XForms editor for Eclipse to contribute), that would be awesome.</p>
<p>If you are interested, please join the <a href="http://eclipse.org/mail">ve-dev</a> mailing list @ Eclipse.</p></div>
    </content>
    <updated>2007-10-13T05:57:46Z</updated>
    <category term="community"/>
    <category term="eclipse"/>
    <category term="good"/>
    <category term="google soc"/>
    <category term="openmrs"/>
    <category term="visual editor"/>
    <author>
      <name>Philippe Ombredanne</name>
    </author>
    <source>
      <id>http://dev.eclipse.org/blogs/wonk</id>
      <link href="http://dev.eclipse.org/blogs/wonk/feed" rel="self" type="application/atom+xml"/>
      <link href="http://dev.eclipse.org/blogs/wonk" rel="alternate" type="text/html"/>
      <subtitle>Blogging open source Eclipse</subtitle>
      <title>Eclipse Wonk Winks</title>
      <updated>2007-10-17T16:44:40Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://donkeysha.de/2007/10/10/diversity-distributed-copyrights-resilience-and-version-control/</id>
    <link href="http://donkeysha.de/2007/10/10/diversity-distributed-copyrights-resilience-and-version-control/" rel="alternate" type="text/html"/>
    <title>Diversity, distributed copyrights, resilience and version control</title>
    <summary>Bjorn’s discussion on diversity made me think seriously about the ideal structure of copyright ownership and version control for an open source project.
First point: distributed copyright ownership makes a project stronger, more resilient.
When there is a single copyright owner (a person or a company) the dude can go broke, die in a plane crash, or [...]</summary>
    <updated>2007-10-10T20:10:11Z</updated>
    <category term="git"/>
    <category term="version control"/>
    <category term="license"/>
    <category term="open source"/>
    <category term="eclipse"/>
    <author>
      <name>admin</name>
    </author>
    <source>
      <id>http://donkeysha.de</id>
      <link href="http://donkeysha.de" rel="alternate" type="text/html"/>
      <link href="http://donkeysha.de/tags/eclipse/feed/" rel="self" type="application/rss+xml"/>
      <subtitle>Bien braire et laisser dire...    Bray well and let say...</subtitle>
      <title>Donkey Shade » eclipse</title>
      <updated>2007-10-10T23:02:27Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://donkeysha.de/2007/10/10/hibernate-is-72-crap/</id>
    <link href="http://donkeysha.de/2007/10/10/hibernate-is-72-crap/" rel="alternate" type="text/html"/>
    <title>Hibernate is 72% crap</title>
    <summary>During a chat with Marshall, a JBoss Eclipse dev, we started talking about pack200, the (not new anymore) Java 5 Jar compressor.  I was making the point that the Red Hat Developer Studio could loose a little fat now that it peaks at 500+Mb, or soon it would be as big as some Eclipse-based [...]</summary>
    <updated>2007-10-10T18:13:48Z</updated>
    <category term="osgi"/>
    <category term="save the planet"/>
    <category term="hibernate"/>
    <category term="jboss"/>
    <category term="open source"/>
    <category term="fun"/>
    <category term="eclipse"/>
    <author>
      <name>admin</name>
    </author>
    <source>
      <id>http://donkeysha.de</id>
      <link href="http://donkeysha.de" rel="alternate" type="text/html"/>
      <link href="http://donkeysha.de/tags/eclipse/feed/" rel="self" type="application/rss+xml"/>
      <subtitle>Bien braire et laisser dire...    Bray well and let say...</subtitle>
      <title>Donkey Shade » eclipse</title>
      <updated>2007-10-10T23:02:27Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-26266347.post-9203546866623694387</id>
    <link href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=205732" rel="related" type="text/html"/>
    <link href="http://shinych.blogspot.com/feeds/9203546866623694387/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=26266347&amp;postID=9203546866623694387" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/26266347/posts/default/9203546866623694387" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/26266347/posts/default/9203546866623694387" rel="self" type="application/atom+xml"/>
    <link href="http://shinych.blogspot.com/2007/10/language-packs.html" rel="alternate" type="text/html"/>
    <title>Language pack for Eclipse 3.3</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Kai Tödter has recently opened a bug about missing language packs for Eclipse 3.3. I can only encourage everybody to vote for <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=205732">the bug #205732</a>.<br/><br/><br/>Is that true? Can somebody explain this strange strategy?<br/><i><a href="http://dev.eclipse.org/newslists/news.eclipse.platform/msg64806.html">IBM tried to get folks to help with starting a translation project, but no one is<br/>willing to step up to the plate and IBM isn't planning on simply donating the translations again for this release, so I don't think there will be any available this time around.  :-(</a></i><div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/26266347-9203546866623694387?l=shinych.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2007-10-08T20:59:09Z</updated>
    <published>2007-10-08T20:51:00Z</published>
    <author>
      <name>Ilya Shinkarenko</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/11667601571204987473</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-26266347</id>
      <author>
        <name>Ilya Shinkarenko</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/11667601571204987473</uri>
      </author>
      <link href="http://shinych.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/26266347/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://shinych.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>Eclipse tips and tricks</subtitle>
      <title>Ilya Shinkarenko Eclipse Blog</title>
      <updated>2010-06-08T13:14:02Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://dev.eclipse.org/blogs/jsdt/2007/10/03/projects-and-type-resolution-the-global-scope/</id>
    <link href="http://dev.eclipse.org/blogs/jsdt/2007/10/03/projects-and-type-resolution-the-global-scope/" rel="alternate" type="text/html"/>
    <title>Projects and Type Resolution - The Global Scope</title>
    <summary>JSDT manages type resolution and browser compatibility by allowing users to customize a projects Global Scope.
The Global Scope (as it applies to JavaScript) is the super scope which holds all the objects, types and fields accessible to all methods.  Its honestly one of the horrible inefficiencies of JavaScript as just about everything gets pushed [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>JSDT manages type resolution and browser compatibility by allowing users to customize a projects Global Scope.</p>
<p>The Global Scope (as it applies to JavaScript) is the super scope which holds all the objects, types and fields accessible to all methods.  Its honestly one of the horrible inefficiencies of JavaScript as just about everything gets pushed into the Global Scope.</p>
<p>JSDT users can customize a projects Global Scope throughout the ‘JavaScript Include Path’ page.  Each library is a collection of JavaScript files that prototypes all objects within that library.  (Additional information can be attached to objects with JsDoc. ).  When a library is added to a project, all of the prototype code in each libraries JavaScript files is modeled and placed in the projects Global Scope.  The types, fields and methods are then available for resolution and content completion in <strong>every JavaScript file within the project</strong>  Matter of fact, every JavaScript file sees the Global members of every other JavaScript file within a project (unless you’ve done some careful tweaking in the Include Path page).</p>
<p>A piece of JS code running in a browser has access to many of the objects, fields and methods provided by the browser.  The browsers ‘Window’ object is an extension of ‘Global’ which extends ‘Object’.  Each browser provides different types, fields and methods to almost all of the common objects (and additionally handles these types, fields and methods differently across browsers).  Hence the cross browser compatibility pain points that arise when developing JavaScript.</p>
<p>The JSDT forces browser compatibility by defining and extending ECMA 3 objects through the libraries.  By adding and removing libraries you can nail down the types, functions and fields available in code completion and resolution.  This will help ensure your project supports the objects in specific browsers.</p>
<p>Libraries aren’t just useful for browsers. They work well for toolkits, or common utility scripts across a site.</p></div>
    </content>
    <updated>2007-10-03T16:52:21Z</updated>
    <category term="JSDT Usage"/>
    <author>
      <name>Bradley Childs</name>
    </author>
    <source>
      <id>http://dev.eclipse.org/blogs/jsdt</id>
      <link href="http://dev.eclipse.org/blogs/jsdt/feed" rel="self" type="application/atom+xml"/>
      <link href="http://dev.eclipse.org/blogs/jsdt" rel="alternate" type="text/html"/>
      <subtitle>Just another Eclipse Committer and Project Blogs weblog</subtitle>
      <title>JavaScript Development Toolkit</title>
      <updated>2007-10-09T19:23:06Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://dev.eclipse.org/blogs/jsdt/2007/09/28/hello-world/</id>
    <link href="http://dev.eclipse.org/blogs/jsdt/2007/09/28/hello-world/" rel="alternate" type="text/html"/>
    <title>Hello Everyone</title>
    <summary>First post!
I’m a developer on the JavaScript Development Toolkit
(http://wiki.eclipse.org/JSDT).
If your unfamiliar, the JSDT is a rewrite of the JDT in Eclipse to make it work with JavaScript. This means you get most of the Java language features in Eclipse, but for JavaScript instead of Java.
As many of you are aware, the available JavaScript tooling is [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>First post!</p>
<p>I’m a developer on the JavaScript Development Toolkit<br/>
(http://wiki.eclipse.org/JSDT).</p>
<p>If your unfamiliar, the JSDT is a rewrite of the JDT in Eclipse to make it work with JavaScript. This means you get most of the Java language features in Eclipse, but for JavaScript instead of Java.</p>
<p>As many of you are aware, the available JavaScript tooling is small, and frankly SUCKS.  Our goal is to add professional tools, that treat JavaScript like a real language.  I’ll be posting comments and changes as time progresses.</p></div>
    </content>
    <updated>2007-09-28T21:25:30Z</updated>
    <category term="Uncategorized"/>
    <author>
      <name>Bradley Childs</name>
    </author>
    <source>
      <id>http://dev.eclipse.org/blogs/jsdt</id>
      <link href="http://dev.eclipse.org/blogs/jsdt/feed" rel="self" type="application/atom+xml"/>
      <link href="http://dev.eclipse.org/blogs/jsdt" rel="alternate" type="text/html"/>
      <subtitle>Just another Eclipse Committer and Project Blogs weblog</subtitle>
      <title>JavaScript Development Toolkit</title>
      <updated>2007-10-09T19:23:06Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-9301976.post-7825266144545874133</id>
    <link href="http://birtreporting.blogspot.com/feeds/7825266144545874133/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=9301976&amp;postID=7825266144545874133" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/9301976/posts/default/7825266144545874133" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/9301976/posts/default/7825266144545874133" rel="self" type="application/atom+xml"/>
    <link href="http://birtreporting.blogspot.com/2007/09/community-site-for-report-developer.html" rel="alternate" type="text/html"/>
    <title>A Community Site For Report Developer</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">We launched a new community site <a href="http://www.birt-exchange.com/">http://www.birt-exchange.com/</a> for report developers today. It provides typical "community" features such as forums and wiki. One unique feature on the site is a <span class="blsp-spelling-error" id="SPELLING_ERROR_0">DevX</span> listing, where anyone can post code example, report design tips, tutorial, product downloads, consulting service, or any cool things that one wants to share. <span class="blsp-spelling-error" id="SPELLING_ERROR_1">DevX</span> items has rating, review comments, visit count that will help me find out which of them are really good to pick up. I can search for items by keywords using  the filtering tool.<br/><br/>Today, contents on the site mostly are about Eclipse <span class="blsp-spelling-error" id="SPELLING_ERROR_2">BIRT</span>, and Actuate <span class="blsp-spelling-error" id="SPELLING_ERROR_3">iServer</span> and <span class="blsp-spelling-error" id="SPELLING_ERROR_4">iPortal</span> products. But the site is built in a way that it can be used to serve other technology communities too, what we need to do is set up different interests areas and forums for that community. Well, the first step is to find out what works on <span class="blsp-spelling-error" id="SPELLING_ERROR_5">birt</span>-exchange.com and add features to make it an useful place for report developers.<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/9301976-7825266144545874133?l=birtreporting.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2007-09-25T07:41:30Z</updated>
    <published>2007-09-25T07:12:00Z</published>
    <author>
      <name>wenfeng</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/17687161265451095891</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-9301976</id>
      <author>
        <name>wenfeng</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/17687161265451095891</uri>
      </author>
      <link href="http://birtreporting.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/9301976/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://birtreporting.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <title>Eclipse BIRT</title>
      <updated>2010-05-22T05:41:45Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-23435833.post-7724153763844750429</id>
    <link href="http://eclipse-modeling.blogspot.com/feeds/7724153763844750429/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=23435833&amp;postID=7724153763844750429" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/23435833/posts/default/7724153763844750429" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/23435833/posts/default/7724153763844750429" rel="self" type="application/atom+xml"/>
    <link href="http://eclipse-modeling.blogspot.com/2007/09/time-to-write-book.html" rel="alternate" type="text/html"/>
    <title>Time to Write a Book</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">It seems the time has arrived for me to write a book on the Modeling project.  More specifically, now that things have settled down on <a href="http://www.eclipse.org/gmf">GMF</a> and the QVT contribution is available in <a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.m2m/org.eclipse.m2m.qvt.oml/?root=Modeling_Project">CVS</a>, it's time to write a book on using the Modeling project as a DSL Toolkit.<br/><br/>Designed to complement the "<a href="http://www.aw-bc.com/catalog/academic/product/0,1144,0321331885,00.html">EMF book</a>" (version 2.0 is out soon!) in the same Addison-Wesley series, the book is scheduled to be completed at the end of March, 2008 and be some 500 pages long.  So far, I have just about 100 pages written in draft form, so hopefully it will be a long cold winter indoors.<br/><br/>The book will utilize a series of DSL projects to cover in detail the development of graphical concrete syntaxes (using GMF), model-to-model transformations (using QVT Operational Mapping Language), and model-to-text transformations (using Xpand).  In the future, perhaps be extended to cover concrete textual syntaxes, if and when the proposed Textual Modeling Framework project becomes a reality.<br/><br/>At this point, I'd be interested in the community's feedback on this book and its scope.  To me, a DSL Toolkit should include all aspects of model-driven software development as they relate to a domain (semantic) model.  And since the world already has an excellent book on EMF itself, it's about time we had one to cover these other important capabilities in the Modeling project.<br/><br/>For those attending <a href="http://www.eclipsecon.org/summiteurope2007/">Eclipse Summit Europe</a> this year, Ed and I will be <a href="http://www.eclipsecon.org/summiteurope2007/index.php?page=detail/&amp;id=32">demoing</a> part of the book's sample projects.  In November, I'll be delivering a similar <a href="http://www.eclipseworld.net/thu_am.htm">presentation</a> at <a href="http://www.eclipseworld.net/">EclipseWorld</a>. Hope to see you there!<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/23435833-7724153763844750429?l=eclipse-modeling.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2007-09-24T14:39:25Z</updated>
    <published>2007-09-24T13:21:00Z</published>
    <author>
      <name>Richard C. Gronback</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/13134434976434460882</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-23435833</id>
      <author>
        <name>Richard C. Gronback</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/13134434976434460882</uri>
      </author>
      <link href="http://eclipse-modeling.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/23435833/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://eclipse-modeling.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>Topics related to modeling projects at Eclipse</subtitle>
      <title>Modeling Eclipse</title>
      <updated>2010-06-08T05:45:16Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-23435833.post-179984633695035746</id>
    <link href="http://eclipse-modeling.blogspot.com/feeds/179984633695035746/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=23435833&amp;postID=179984633695035746" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/23435833/posts/default/179984633695035746" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/23435833/posts/default/179984633695035746" rel="self" type="application/atom+xml"/>
    <link href="http://eclipse-modeling.blogspot.com/2007/09/modeling-is-very-model-of-modern.html" rel="alternate" type="text/html"/>
    <title>Modeling is the Very Model of a Modern Majorly General and Diverse Community</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">By any measure of diversity the Modeling project is most certainly that.  It stands out among the top level Eclipse projects as model of diversity.  Variety is the spice of life!<br/><br/><a href="http://3.bp.blogspot.com/_H4Kr0LHNMcQ/RvZ6mmxcIfI/AAAAAAAAAOg/TF61pjfQ-AE/s1600-h/BoxFish.JPG"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5113409230587306482" src="http://3.bp.blogspot.com/_H4Kr0LHNMcQ/RvZ6mmxcIfI/AAAAAAAAAOg/TF61pjfQ-AE/s400/BoxFish.JPG" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;"/></a><br/>Of course there are some big corporations involved<br/><br/><a href="http://1.bp.blogspot.com/_H4Kr0LHNMcQ/RvZ7JGxcIgI/AAAAAAAAAOo/dXLY3_WwCL0/s1600-h/SeaTurtle.JPG"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5113409823292793346" src="http://1.bp.blogspot.com/_H4Kr0LHNMcQ/RvZ7JGxcIgI/AAAAAAAAAOo/dXLY3_WwCL0/s400/SeaTurtle.JPG" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;"/></a><br/>but also smaller companies<br/><br/><a href="http://4.bp.blogspot.com/_H4Kr0LHNMcQ/RvZ7y2xcIhI/AAAAAAAAAOw/VSg7X-iVhSo/s1600-h/CoralBandedShrimp.JPG"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5113410540552331794" src="http://4.bp.blogspot.com/_H4Kr0LHNMcQ/RvZ7y2xcIhI/AAAAAAAAAOw/VSg7X-iVhSo/s400/CoralBandedShrimp.JPG" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;"/></a><br/>as well as academics and some unique very unique individuals<br/><br/><a href="http://1.bp.blogspot.com/_H4Kr0LHNMcQ/RvZ8zGxcIiI/AAAAAAAAAO4/6TOmhzOobs8/s1600-h/PurpleAndYellowFish.JPG"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5113411644358926882" src="http://1.bp.blogspot.com/_H4Kr0LHNMcQ/RvZ8zGxcIiI/AAAAAAAAAO4/6TOmhzOobs8/s400/PurpleAndYellowFish.JPG" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;"/></a><br/>including more than a few you might easily over look because they blend in so well.<br/><br/><a href="http://4.bp.blogspot.com/_H4Kr0LHNMcQ/RvZ9g2xcIjI/AAAAAAAAAPA/FHVQg5G5Tkc/s1600-h/HiddenFish.JPG"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5113412430337942066" src="http://4.bp.blogspot.com/_H4Kr0LHNMcQ/RvZ9g2xcIjI/AAAAAAAAAPA/FHVQg5G5Tkc/s400/HiddenFish.JPG" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;"/></a><br/>With the call for EclipseCon talks coming out this week, it's time to start thinking about emerging from your little hidy hole to share a bit of yourself with others.<br/><br/><a href="http://3.bp.blogspot.com/_H4Kr0LHNMcQ/RvZ-wmxcIkI/AAAAAAAAAPI/OW32BQ1UBf8/s1600-h/Eel.JPG"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5113413800432509506" src="http://3.bp.blogspot.com/_H4Kr0LHNMcQ/RvZ-wmxcIkI/AAAAAAAAAPI/OW32BQ1UBf8/s400/Eel.JPG" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;"/></a><br/>I'll bet you have a unique story to tell.<br/><br/><a href="http://1.bp.blogspot.com/_H4Kr0LHNMcQ/RvZ_nGxcIlI/AAAAAAAAAPQ/ugumm3BSrw8/s1600-h/PinkSponge.JPG"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5113414736735380050" src="http://1.bp.blogspot.com/_H4Kr0LHNMcQ/RvZ_nGxcIlI/AAAAAAAAAPQ/ugumm3BSrw8/s400/PinkSponge.JPG" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;"/></a><br/>In any case, come to Eclipse Summit Europe and come to EclipseCon to sponge up some knowledge.<br/><br/><a href="http://3.bp.blogspot.com/_H4Kr0LHNMcQ/RvaANmxcImI/AAAAAAAAAPY/8Gw9KBVaiAU/s1600-h/PurpleSponge.JPG"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5113415398160343650" src="http://3.bp.blogspot.com/_H4Kr0LHNMcQ/RvaANmxcImI/AAAAAAAAAPY/8Gw9KBVaiAU/s400/PurpleSponge.JPG" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;"/></a><br/>Bring a friend.<br/><br/><a href="http://3.bp.blogspot.com/_H4Kr0LHNMcQ/RvaAsmxcInI/AAAAAAAAAPg/JBpO-VObCuk/s1600-h/SeaHorses.JPG"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5113415930736288370" src="http://3.bp.blogspot.com/_H4Kr0LHNMcQ/RvaAsmxcInI/AAAAAAAAAPg/JBpO-VObCuk/s400/SeaHorses.JPG" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;"/></a><br/>Hope to see you there!<br/><br/><a href="http://2.bp.blogspot.com/_H4Kr0LHNMcQ/RvaBSWxcIoI/AAAAAAAAAPo/747U_v5Wwm4/s1600-h/EdDiving.JPG"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5113416579276350082" src="http://2.bp.blogspot.com/_H4Kr0LHNMcQ/RvaBSWxcIoI/AAAAAAAAAPo/747U_v5Wwm4/s400/EdDiving.JPG" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;"/></a><div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/23435833-179984633695035746?l=eclipse-modeling.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2007-09-23T15:25:50Z</updated>
    <published>2007-09-23T14:08:00Z</published>
    <author>
      <name>Ed Merks</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/08767888750692843294</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-23435833</id>
      <author>
        <name>Richard C. Gronback</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/13134434976434460882</uri>
      </author>
      <link href="http://eclipse-modeling.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/23435833/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://eclipse-modeling.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>Topics related to modeling projects at Eclipse</subtitle>
      <title>Modeling Eclipse</title>
      <updated>2010-06-08T05:45:16Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-2852931951046210811.post-6602816133968706511</id>
    <link href="http://markphip.blogspot.com/feeds/6602816133968706511/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=2852931951046210811&amp;postID=6602816133968706511" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/2852931951046210811/posts/default/6602816133968706511" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/2852931951046210811/posts/default/6602816133968706511" rel="self" type="application/atom+xml"/>
    <link href="http://markphip.blogspot.com/2007/09/new-subclipse-build-posted-dialog.html" rel="alternate" type="text/html"/>
    <title>New Subclipse Build Posted -- Dialog Improvements</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">I just posted a new development build of Subclipse - 1.3.3.  You can currently only get these builds as part of the <a href="http://merge-tracking.open.collab.net/">CollabNet Merge Tracking Early Adopter</a> program.  The reason being that these builds require development build of Subversion 1.5 and I am coordinating these builds so that they use the same Subversion binaries (to make it easier to test).<br/><br/>This new build includes some dialog UI improvements I have been wanting to make for a long time.  I have really grown to like the simplicity of the CVS commit dialog and have heard comments many times about the general usability difference between the CVS plug-in and Subclipse.  So the intent here is to close the gap some more and incorporate some of the same UI while maintaining the Subclipse features that we can.  Here is a fairly complicated example that shows most of the features:<br/><br/><div style="text-align: center;"><a href="http://4.bp.blogspot.com/_kJkoNF_3MnM/RvPsj6erzKI/AAAAAAAAAE8/0zHZV2rTIGU/s1600/commit-1.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5112690103733177506" src="http://4.bp.blogspot.com/_kJkoNF_3MnM/RvPsj6erzKI/AAAAAAAAAE8/0zHZV2rTIGU/s400/commit-1.png" style="cursor: pointer;"/></a><br/></div><br/>There are a few of major changes.<br/><ol id=""><li>The dialog uses a wizard-style UI which is pretty common in Eclipse.  This gives us a chance to include a graphic and just generally make the dialog look better.<br/></li><li>The presentation of files has changed from a table with checkboxes to the more friendly and graphical mode that CVS uses.  There are three presentation models to choose from.<br/></li><li>Because we no longer have a table to show data and text we needed a way to show when there are Subversion property changes.  We are using a second decorator to do this.  Currently we only use this in these dialogs, there are no plans to do this in Eclipse views.<br/></li><li>The biggest change is that you now have to right-click and use Remove from view to not commit something.  You used to be able to uncheck a check-box.</li></ol><div>Earlier this year I wrote a post that detailed the <a href="http://markphip.blogspot.com/2007/01/features-of-subclipse-commit-dialog.html">Features of the Subclipse Commit dialog</a>.  You can review that post if you want to compare the differences in the UI.  Here is another screenshot that is a little simpler to give another taste of the changes.<br/><br/><div style="text-align: center;"><a href="http://4.bp.blogspot.com/_kJkoNF_3MnM/RvPtv6erzLI/AAAAAAAAAFE/BzBY4Tou_d4/s1600/commit-2.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5112691409403235506" src="http://4.bp.blogspot.com/_kJkoNF_3MnM/RvPtv6erzLI/AAAAAAAAAFE/BzBY4Tou_d4/s400/commit-2.png" style="cursor: pointer;"/></a><br/></div><br/>I think everyone will agree the dialog looks better.  I think where there might be some controversy is in how you decide to not commit a certain file.  This new approach is definitely optimizing for the scenario where you typically commit everything in the dialog.  Users that work mostly from the Synchronize view, as an example, should really like this better.<br/><br/>Personally, I find this approach more usable.  Even though it is a little more difficult to right-click and remove something than it was to uncheck it, the fact that the item no longer shows up in the view makes it more obvious what is going to be committed.<br/><br/>The Revert and Lock dialogs got the same treatment:<br/><div style="text-align: center;"><a href="http://4.bp.blogspot.com/_kJkoNF_3MnM/RvPvQ6erzMI/AAAAAAAAAFM/oxFv50qhH3Y/s1600/revert.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5112693075850546370" src="http://4.bp.blogspot.com/_kJkoNF_3MnM/RvPvQ6erzMI/AAAAAAAAAFM/oxFv50qhH3Y/s400/revert.png" style="cursor: pointer;"/></a><br/></div><br/>Other dialogs like Switch and Create Branch/Tag also received the new wizard look.  Please give these builds a try and let me know what you think.  The best places to reply would be the Subclipse users@ mailing list or in the issue tracker for this <a href="http://subclipse.tigris.org/issues/show_bug.cgi?id=682">issue 682</a>.</div><div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/2852931951046210811-6602816133968706511?l=markphip.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2007-09-21T16:46:53Z</updated>
    <published>2007-09-21T16:03:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="subclipse"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="Eclipse"/>
    <author>
      <name>Mark Phippard</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/16905022252385982106</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-2852931951046210811</id>
      <author>
        <name>Mark Phippard</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/16905022252385982106</uri>
      </author>
      <link href="http://markphip.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/2852931951046210811/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://markphip.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://www.blogger.com/feeds/2852931951046210811/posts/default?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <subtitle>Useful information about using Subversion and Subclipse</subtitle>
      <title>svn commit ./me</title>
      <updated>2010-06-08T14:34:58Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-6751948175809658974.post-7494309119095606315</id>
    <link href="http://eclipse-soc-mariot.blogspot.com/feeds/7494309119095606315/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=6751948175809658974&amp;postID=7494309119095606315" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/6751948175809658974/posts/default/7494309119095606315" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/6751948175809658974/posts/default/7494309119095606315" rel="self" type="application/atom+xml"/>
    <link href="http://eclipse-soc-mariot.blogspot.com/2007/09/end-of-gsoc-show-must-go-on.html" rel="alternate" type="text/html"/>
    <title>End of gsoc : the show must go on !</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Today is the end of google summer of code 2007 edition. <br/>First I would like to thank Philippe and mentors from Eclipse, the others students (check their projects, they achieved great results !), and google of course.<br/>Thanks also to people who followed and commented this irregular diary of my work :).<br/>I would, too, to provide some feedback. From a student point of view, it was a awesome experience ! I learned a lot, both technical skills and communication skills. Eclipse is divided in a large number of projects, and thus a continuing source of knowledge, for people people "curious" like me.<br/>About what gsoc brings to eclipse, I think it helps to integrate students into the eclipse community, and that a point where in my opinion some progress can be made. For instance I remarked that for the next <a href="http://eclipsesummit.org/">eclipse summit</a> there is no "registration fees" or invitation for students.<br/><br/>I know there is <a href="http://dev.eclipse.org/mhonarc/lists/soc-dev/msg00219.html">some reflection</a>, and I think that is the good way.<br/><br/>If you are interested to hear another gsoc feedback, I recommend to you the <a href="http://googlesummerofcode.blogspot.com/2007/08/updates-from-eclipse.html">podcast of Philippe answering questions from Leslie Hawtorne of google</a>.<br/><br/>Regarding my plug-in I will provide soon new screencasts with some comments, and detail what are the next plans.<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/6751948175809658974-7494309119095606315?l=eclipse-soc-mariot.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2007-09-01T21:11:48Z</updated>
    <published>2007-09-01T21:05:00Z</published>
    <author>
      <name>Mariot Chauvin</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/06363398743120781633</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-6751948175809658974</id>
      <author>
        <name>Mariot Chauvin</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/06363398743120781633</uri>
      </author>
      <link href="http://eclipse-soc-mariot.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/6751948175809658974/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://eclipse-soc-mariot.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>This blog presents progress in my work to support seamless debugging between JDT and CDT.</subtitle>
      <title>My summer of code for the Eclipse project</title>
      <updated>2010-03-26T15:43:03Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://codecurl.wordpress.com/2007/08/22/impressed-by-gmf-but-a-hefty-dose-of-patience-is-required/</id>
    <link href="http://codecurl.wordpress.com/2007/08/22/impressed-by-gmf-but-a-hefty-dose-of-patience-is-required/" rel="alternate" type="text/html"/>
    <title>Impressed by GMF, but a hefty dose of patience is required</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Over the last couple of months we’ve been developing (should I say “modeling”?) a GMF-based graphical editor to support the new assembly and multi-channel, multi-tenant mediation features of Cape Clear 7.5. Actually, I’ve had pretty much no hands on involvement with it myself, a colleague of mine championed its use and has become quite expert [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=codecurl.wordpress.com&amp;blog=412850&amp;post=123&amp;subd=codecurl&amp;ref=&amp;feed=1"/></div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Over the last couple of months we’ve been developing (should I say “modeling”?) a <a href="http://www.eclipse.org/gmf/">GMF</a>-based graphical editor to support the new assembly and multi-channel, multi-tenant mediation features of <a href="http://www.capeclear.com/products/capeclear75/index.shtml">Cape Clear 7.5</a>. Actually, I’ve had pretty much no hands on involvement with it myself, a colleague of mine championed its use and has become quite expert with it, but I thought I’d pass on some of <em>our</em> experience. We are using GMF 1.0.3 as we are shipping with Eclipse 3.2.2 (we plan to move to 3.3 later in the year). The promise of GMF is rapidly rolled graphical editors with lots of eye candy and neat features for free, achieved with near zero code, or at least approaching zero when compared with GEF-coded editors. Our BPEL editor is GEF-coded, so we have something very substantial to compare our Assembly Editor with. Generally, I am very impressed by GMF, but much patience is required to get the best out of it. See pretty picture (a high-res version is viewable <a href="http://www.codecurl.org/images/assembly1_big.jpg">here</a>).</p>
<p><a href="http://www.codecurl.org/images/assembly1_big.jpg"><img alt="GMF coded editor" height="286" src="http://www.codecurl.org/images/assembly1.jpg" width="400"/></a></p>
<p>Our core model is described in XML Schema and we generate our EMF model from that. A few points then:</p>
<ul>
<li><a href="http://eclipsezilla.eclipsecon.org/php/attachment.php?bugid=3739">This</a> is an excellent getting started presentation.</li>
<li>It can seem like there is a huge gap between an initially generated editor (based on your model/schema) and where you know it needs to be. There may well be, but it is not necessarily a code-gap. The temptation is to jump in and start extending and modifying generated code, patience is required to do the right thing. Doing the right thing means trawling through examples and forums, posting questions to newsgroups and waiting on answers.</li>
<li>Go back to your source schema, modify and constrain it appropriately to help get the end feature the way you want in the generated editor.</li>
<li>If you have a schema that contains a lot of similar things, start with a subset of the schema which contains just one example of all the distinct elements, and get a working editor for that. Then add back in the other stuff – which is hopefully just repetition. In other words, reduce the problem space to something manageable to start with.</li>
<li>Make one model change then re-generate. The error reporting in the generation process is not very clear and diagnosing one cause and effect at once is by far the easiest way to work. Read all the error information reported and watch for compilation errors in the generated code too.</li>
<li>Make small changes to the model, regenerate and test them. When you are happy, commit those distinct changes to source control. Move on to the next task.</li>
<li>Keep step-by-step instructions for regenerating your EMF and GMF models when your schema changes, there will probably be a few manual fix-ups required (e.g. GMF 1.x doesn’t merge plugin.xml changes – 2.0 does apparently)</li>
</ul>
<p>GMF has made it possible for us to have a great graphical editor for our Assemblies in a timeframe we would not have been able to GEF-code one in – or at least, nothing this polished and (almost) ready to ship! Hats off to the folks behind it.</p>
<br/><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/codecurl.wordpress.com/123/"/> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/codecurl.wordpress.com/123/"/> <a href="http://feeds.wordpress.com/1.0/gocomments/codecurl.wordpress.com/123/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/codecurl.wordpress.com/123/"/></a> <a href="http://feeds.wordpress.com/1.0/godelicious/codecurl.wordpress.com/123/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/codecurl.wordpress.com/123/"/></a> <a href="http://feeds.wordpress.com/1.0/gostumble/codecurl.wordpress.com/123/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/codecurl.wordpress.com/123/"/></a> <a href="http://feeds.wordpress.com/1.0/godigg/codecurl.wordpress.com/123/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/codecurl.wordpress.com/123/"/></a> <a href="http://feeds.wordpress.com/1.0/goreddit/codecurl.wordpress.com/123/" rel="nofollow"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/codecurl.wordpress.com/123/"/></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=codecurl.wordpress.com&amp;blog=412850&amp;post=123&amp;subd=codecurl&amp;ref=&amp;feed=1"/></div>
    </content>
    <updated>2007-08-22T12:55:21Z</updated>
    <category term="CapeDeveloper"/>
    <category term="Eclipse"/>
    <category term="Java"/>
    <author>
      <name>codecurl</name>
    </author>
    <source>
      <id>http://codecurl.wordpress.com</id>
      <logo>http://www.gravatar.com/blavatar/376e72e8689bf093eebd02df32c8a4ef?s=96&amp;d=http://s2.wp.com/i/buttonw-com.png</logo>
      <link href="http://codecurl.wordpress.com/category/eclipse/feed/" rel="self" type="application/atom+xml"/>
      <link href="http://codecurl.wordpress.com" rel="alternate" type="text/html"/>
      <link href="http://codecurl.wordpress.com/osd.xml" rel="search" type="application/opensearchdescription+xml"/>
      <link href="http://codecurl.wordpress.com/?pushpress=hub" rel="hub" type="text/html"/>
      <subtitle>Software, architecture, tools and technology</subtitle>
      <title>Codecurl - David Black » Eclipse</title>
      <updated>2010-06-09T06:16:34Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-5327676148450680309.post-3573829463465354884</id>
    <link href="http://perilsofeclipse.blogspot.com/feeds/3573829463465354884/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=5327676148450680309&amp;postID=3573829463465354884" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/5327676148450680309/posts/default/3573829463465354884" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/5327676148450680309/posts/default/3573829463465354884" rel="self" type="application/atom+xml"/>
    <link href="http://perilsofeclipse.blogspot.com/2007/08/auto-configuration-plug-in-for-eclipse.html" rel="alternate" type="text/html"/>
    <title>An Auto-configuration Plug-in for Eclipse</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><pre id="comment_text_1" style="font-family: trebuchet ms;"><span style="font-size: 85%;">Have you ever written a plug-in and thought it would be neat if you could automatically<br/>detect the programs the plug-in needs, so you can make life a bit easier for your users?<br/>If so, the auto-configuration plug-in for Eclipse, <a href="http://wiki.eclipse.org/An_auto-configuration_plugin_for_Eclipse">Discovery</a>, is just what you need.<br/><br/>Once you've installed the plug-in, you simply extend two extension points to get the<br/>functionality you need. The first extension is for finders; you specify a class that finds the<br/>program that you want discovered for your users. The other extension is for consumers; in<br/>this extension, you specify a class that inserts the services (the term we use for programs,<br/>or any other thing found by the finder) into your plug-in. And that's pretty much it. You can<br/>check out our <a href="http://wiki.eclipse.org/An_auto-configuration_plugin_for_Eclipse">wiki site</a> to read the documentation and download a few source examples.<br/><br/>Note that Discovery is built on top of ECF and so if you're used ECF's API, you will have<br/>no trouble working with Discovery.</span></pre><div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/5327676148450680309-3573829463465354884?l=perilsofeclipse.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2007-08-19T23:07:35Z</updated>
    <published>2007-08-19T22:57:00Z</published>
    <author>
      <name>Oge</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/14698772542424467413</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-5327676148450680309</id>
      <author>
        <name>Oge</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/14698772542424467413</uri>
      </author>
      <link href="http://perilsofeclipse.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/5327676148450680309/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://perilsofeclipse.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <title>The perils of hacking Eclipse</title>
      <updated>2010-06-01T22:11:20Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-5577293131810394364.post-6111258687379281283</id>
    <link href="http://dejan-glozic.blogspot.com/feeds/6111258687379281283/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=5577293131810394364&amp;postID=6111258687379281283" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/5577293131810394364/posts/default/6111258687379281283" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/5577293131810394364/posts/default/6111258687379281283" rel="self" type="application/atom+xml"/>
    <link href="http://dejan-glozic.blogspot.com/2007/08/as-you-vacation-travel-had-stopover-in.html" rel="alternate" type="text/html"/>
    <title>Hotel Europe in Amsterdam!</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><a href="http://bp2.blogger.com/_s10K2dc7I4Y/RsegPhoD_QI/AAAAAAAAAAM/d4pd8yjTscw/s1600-h/DSC_0124.JPG"/>As my vacation trip had a stopover in Amsterdam, I was pleased to notice that they named a hotel after Eclipse's latest and <span class="blsp-spelling-corrected" id="SPELLING_ERROR_0">greatest</span> release :-):<br/><br/><br/><br/><br/><a href="http://bp2.blogger.com/_s10K2dc7I4Y/RsegnhoD_RI/AAAAAAAAAAU/vxYlYj-RKBs/s1600-h/DSC_0124.JPG"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5100221703922122002" src="http://bp2.blogger.com/_s10K2dc7I4Y/RsegnhoD_RI/AAAAAAAAAAU/vxYlYj-RKBs/s400/DSC_0124.JPG" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center;"/></a><div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/5577293131810394364-6111258687379281283?l=dejan-glozic.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2007-08-19T01:50:21Z</updated>
    <published>2007-08-19T01:39:00Z</published>
    <author>
      <name>Dejan Glozic</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/11075719175925605734</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-5577293131810394364</id>
      <author>
        <name>Dejan Glozic</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/11075719175925605734</uri>
      </author>
      <link href="http://dejan-glozic.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/5577293131810394364/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://dejan-glozic.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <title>Pixelization effect</title>
      <updated>2010-06-05T12:42:22Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-5327676148450680309.post-7611783748121757181</id>
    <link href="http://perilsofeclipse.blogspot.com/feeds/7611783748121757181/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=5327676148450680309&amp;postID=7611783748121757181" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/5327676148450680309/posts/default/7611783748121757181" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/5327676148450680309/posts/default/7611783748121757181" rel="self" type="application/atom+xml"/>
    <link href="http://perilsofeclipse.blogspot.com/2007/08/beginning-of-end.html" rel="alternate" type="text/html"/>
    <title>The beginning of the end</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Oh man, the Summer of Code will be ending on Friday. I've spent all of today writing a user manual for my Auto-discovery project. I'll also write an article  and try to get that published as widely as possible; nothing like publicity to get your code into the hands of users, I say.  I didn't expect the Summer to end so soon...<br/><br/>In other news, I spent most of last week creating a Web site. In the process, I read the <a href="http://www.w3.org/TR/REC-CSS1">CSS 1.0 specification</a> from beginning to end. Compared to the CSS 2.0 spec, CSS 1.0 is simple, small, and darn elegant. Of course, things like absolute positioning become a bit of a pain, but you really wonder if they couldn't have made CSS more powerful without adding so much more stuff to it.<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/5327676148450680309-7611783748121757181?l=perilsofeclipse.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2007-08-15T18:53:03Z</updated>
    <published>2007-08-15T18:47:00Z</published>
    <author>
      <name>Oge</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/14698772542424467413</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-5327676148450680309</id>
      <author>
        <name>Oge</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/14698772542424467413</uri>
      </author>
      <link href="http://perilsofeclipse.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/5327676148450680309/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://perilsofeclipse.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <title>The perils of hacking Eclipse</title>
      <updated>2010-06-01T22:11:20Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://dingfelder.wordpress.com/2007/07/25/compiling-windows-apps-on-linux/</id>
    <link href="http://dingfelder.wordpress.com/2007/07/25/compiling-windows-apps-on-linux/" rel="alternate" type="text/html"/>
    <title>compiling windows apps on linux</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">now that we successfully used cmake to compile a linux app (in the last article), we will now try and compile it for windows. I am doing this on Gentoo linux, so your mileage may vary if you used a different distribution. I am starting with http://gentoo-wiki.com/HOWTO_MinGW as a rough guide. # emerge -va sys-devel/crossdev [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dingfelder.wordpress.com&amp;blog=793874&amp;post=29&amp;subd=dingfelder&amp;ref=&amp;feed=1"/></div>
    </summary>
    <updated>2007-07-24T23:37:35Z</updated>
    <category term="C++"/>
    <category term="CDT"/>
    <category term="cmake"/>
    <category term="gentoo"/>
    <category term="linux"/>
    <category term="windows"/>
    <author>
      <name>dingfelder</name>
    </author>
    <source>
      <id>http://dingfelder.wordpress.com</id>
      <logo>http://www.gravatar.com/blavatar/a81e8e9feb3fdadf80af67984f9bf65e?s=96&amp;d=http://s2.wp.com/i/buttonw-com.png</logo>
      <link href="http://dingfelder.wordpress.com/category/software-development/ides/eclipse/feed/" rel="self" type="application/atom+xml"/>
      <link href="http://dingfelder.wordpress.com" rel="alternate" type="text/html"/>
      <link href="http://dingfelder.wordpress.com/osd.xml" rel="search" type="application/opensearchdescription+xml"/>
      <link href="http://dingfelder.wordpress.com/?pushpress=hub" rel="hub" type="text/html"/>
      <subtitle>software thoughts from the land of ding...</subtitle>
      <title>software thoughts from the land of ding... » Eclipse</title>
      <updated>2010-06-09T06:18:42Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://dingfelder.wordpress.com/2007/07/24/cross-platform-development-with-the-eclipse-cdt/</id>
    <link href="http://dingfelder.wordpress.com/2007/07/24/cross-platform-development-with-the-eclipse-cdt/" rel="alternate" type="text/html"/>
    <title>Cross platform development with the Eclipse CDT</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">So, you want to create an application that can un under both Linux and Windows? This is my experiment trying to do just that… Lets see if the Eclipse CDT is robust to do cross platform development! Step 1: Install the Eclipse 3.3 SDK if you have not already done so. Make sure to get [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dingfelder.wordpress.com&amp;blog=793874&amp;post=28&amp;subd=dingfelder&amp;ref=&amp;feed=1"/></div>
    </summary>
    <updated>2007-07-24T03:58:53Z</updated>
    <category term="C++"/>
    <category term="CDT"/>
    <category term="Eclipse"/>
    <category term="cmake"/>
    <category term="linux"/>
    <category term="windows"/>
    <author>
      <name>dingfelder</name>
    </author>
    <source>
      <id>http://dingfelder.wordpress.com</id>
      <logo>http://www.gravatar.com/blavatar/a81e8e9feb3fdadf80af67984f9bf65e?s=96&amp;d=http://s2.wp.com/i/buttonw-com.png</logo>
      <link href="http://dingfelder.wordpress.com/category/software-development/ides/eclipse/feed/" rel="self" type="application/atom+xml"/>
      <link href="http://dingfelder.wordpress.com" rel="alternate" type="text/html"/>
      <link href="http://dingfelder.wordpress.com/osd.xml" rel="search" type="application/opensearchdescription+xml"/>
      <link href="http://dingfelder.wordpress.com/?pushpress=hub" rel="hub" type="text/html"/>
      <subtitle>software thoughts from the land of ding...</subtitle>
      <title>software thoughts from the land of ding... » Eclipse</title>
      <updated>2010-06-09T06:18:42Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-23767717.post-3569622332489444891</id>
    <link href="http://www.eclipse.org/ohf/components/ihe/index.php#pools" rel="related" type="text/html"/>
    <link href="http://ohf-dev.blogspot.com/feeds/3569622332489444891/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=23767717&amp;postID=3569622332489444891" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/23767717/posts/default/3569622332489444891" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/23767717/posts/default/3569622332489444891" rel="self" type="application/atom+xml"/>
    <link href="http://ohf-dev.blogspot.com/2007/07/few-questions-if-we-may.html" rel="alternate" type="text/html"/>
    <title>Few questions if we may...</title>
    <summary>In the lines of the last post, we would like to get some community feedback in order to help us better decide on our future plans. We will start to post some polls and post them in the OHF site. We'll publish a note about new polls in the OHF newsgroup, so please pay attention if you wish to influence.The first poll will be about the ultimate question:To be or not to be?    That is XDS.b ...</summary>
    <updated>2007-07-13T23:01:42Z</updated>
    <published>2007-07-13T21:17:00Z</published>
    <author>
      <name>Eishay Smith</name>
      <email>noreply@blogger.com</email>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-23767717</id>
      <author>
        <name>Grahame Grieve</name>
        <email>noreply@blogger.com</email>
      </author>
      <link href="http://ohf-dev.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/23767717/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://ohf-dev.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://www.blogger.com/feeds/23767717/posts/default?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <subtitle>This is the Eclipse Open Healthcare Framework (OHF) blog.
The OHF project addresses part of an need to improve the levels of interoperability between applications and systems within and across healthcare organizations – corporate and regions.</subtitle>
      <title>Open Healthcare Framework</title>
      <updated>2010-05-20T19:58:08Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-30582414.post-2149911543005072417</id>
    <link href="http://mpermar.blogspot.com/feeds/2149911543005072417/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=30582414&amp;postID=2149911543005072417" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/30582414/posts/default/2149911543005072417" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/30582414/posts/default/2149911543005072417" rel="self" type="application/atom+xml"/>
    <link href="http://mpermar.blogspot.com/2007/07/jlibrary-11-has-been-released.html" rel="alternate" type="text/html"/>
    <title>jLibrary 1.1 has been released</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><a href="http://jlibrary.sourceforge.net">jLibrary</a> 1.1 has been released. jLibrary 1.1. jLibrary is a very easy to use Document Management System that can be used from the desktop using the provide Eclipse RCP based application and that is built on top of <a href="http://jackrabbit.apache.org">Apache Jackrabbit</a> the <a href="http://jcp.org/en/jsr/detail?id=170">JSR-170</a> reference implementation. You can take a look to the <a href="http://jlibrary.sourceforge.net/4/whatsnew.html">changes summary</a> to see all the changes, short summary is below though.  <br/><br/>The server has been improved with a new HTTP tunnelling layer replacing the old web services one, improving scalability and lowering memory usage. Web Services layer is now an optional add-in. Documents can also have custom properties that you can add, remove, search in, etc. Other important changes are the migration to Maven 2, a more easy to use build system and the addition of plenty of unit tests to help developers start coding with jLibrary. <br/><br/>In the client side many bugs have been fixed, the core system has been migrated to Eclipse 3.2, the build system is now also much easier and the stability has been improved. <br/><br/>And finally, thanks to the Eclipse Maven PDE plug-in and the new deployment system, there is now stable versions available for Linux 32 and 64 bits and a Mac OS X. <br/><br/>Hope you like it!<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/30582414-2149911543005072417?l=mpermar.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2007-07-01T07:59:40Z</updated>
    <published>2007-07-01T07:53:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="jlibrary"/>
    <author>
      <name>Martín</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/04196591517428959128</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-30582414</id>
      <author>
        <name>Martín</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/04196591517428959128</uri>
      </author>
      <link href="http://mpermar.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/30582414/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://mpermar.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://www.blogger.com/feeds/30582414/posts/default?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <title>Martin Perez's weblog</title>
      <updated>2010-03-26T17:54:08Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://jmesnil.net/weblog/2007/05/23/jmx-scripts-with-eclipse-monkey/</id>
    <link href="http://jmesnil.net/weblog/2007/05/23/jmx-scripts-with-eclipse-monkey/" rel="alternate" type="text/html"/>
    <title>JMX Scripts with Eclipse Monkey</title>
    <summary>Continuing the series about “writing JMX scripts in a dynamic language”, after Ruby (part I &amp; II), let’s do that in JavaScript.

Aside of the use of a different scripting language, this example differs completely from the Ruby one by its context of execution: it will be integrated into Eclipse and called directly from its user [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Continuing the series about “writing JMX scripts in a dynamic language”, after Ruby (<a href="http://jmesnil.net/weblog/2007/03/23/jmx-scripts-using-jruby/">part I</a> &amp; <a href="http://jmesnil.net/weblog/2007/04/03/jmx-scripts-using-jruby-part-ii/">II</a>), let’s do that in JavaScript.</p>

<p>Aside of the use of a different scripting language, this example differs completely from the Ruby one by its context of execution: it will be integrated into Eclipse and called directly from its user interface (using <a href="http://www.eclipse.org/dash/monkey-help.php?key=installing">Eclipse Monkey</a> as the glue).</p>

<p>The example will:</p>

<ol>
<li>ask graphically the user for a logging level</li>
<li>update all the JVM’s loggers with this level</li>
<li>display all the loggers of the JVM</li>
</ol>

<p>in 50 lines of code.</p>

<p>This example is simple but it implies several interesting steps:</p>

<ul>
<li>connect to a JMX Server</li>
<li>retrieve a MBean</li>
<li>retrieve value of MBean attributes</li>
<li>invoke operations on the MBean</li>
</ul>

<p>There are many use cases where you have to perform theses steps in repetition. It’s tedious to do that in a JMX console (e.g. <a href="http://java.sun.com/j2se/1.5.0/docs/guide/management/jconsole.html">jconsole</a> or <a href="http://code.google.com/p/eclipse-jmx/">eclipse-jmx</a>) and most of the time, it is not worth writing a Java application.</p>

<p>These use cases beg to be scripted.</p>

<p><span id="more-151"/>
We will again use jconsole as our managed java application (see <a href="http://jmesnil.net/weblog/2007/04/03/jmx-scripts-using-jruby-part-ii/">this previous post</a> to start jconsole with all System properties required to manage it remotely).</p>

<p>To run the example:</p>

<ol>
<li>install <a href="http://www.eclipse.org/dash/monkey-help.php?key=installing">Eclipse Monkey</a></li>
<li>Make sure that Eclipse is running on Java 1.5 or above</li>
<li>copy the script just below and save it as <code>logging_change_level.js</code> in the <code>scripts</code> directory of an Eclipse project</li>
<li>click on <code>Scripts &gt; Logging &gt; Change level</code> in Eclipse menu</li>
<li>follow the instruction to install the required DOM

<ul>
<li>only the <code>JMX Monkey</code> feature is required</li>
</ul></li>
<li>restart Eclipse</li>
<li>click on <code>Scripts &gt; Logging &gt; Change level</code></li>
<li>in the dialog, input the logging level
<img alt="Dialog to input the logging level" src="http://jmesnil.net/img/logging_level_input.png"/></li>
<li>all the loggers have been updated with the given level
<img alt="Dialog to display the loggers" src="http://jmesnil.net/img/logging_results.png"/></li>
</ol>

<h3>logging__change__level.js</h3>


<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family: monospace;"><span style="color: #006600; font-style: italic;">/*
 * Menu: Logging &gt; Change level
 * DOM: http://eclipse-jmx.googlecode.com/svn/trunk/net.jmesnil.jmx.update/net.jmesnil.jmx.monkey.doms
 */</span>
 
<span style="color: #003366; font-weight: bold;">function</span> main<span style="color: #009900;">(</span><span style="color: #009900;">)</span> <span style="color: #009900;">{</span>
   mbsc <span style="color: #339933;">=</span> jmx.<span style="color: #660066;">connect</span><span style="color: #009900;">(</span><span style="color: #3366CC;">"localhost"</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">3000</span><span style="color: #009900;">)</span>
   logging <span style="color: #339933;">=</span> mbsc.<span style="color: #660066;">getMBean</span><span style="color: #009900;">(</span><span style="color: #3366CC;">"java.util.logging:type=Logging"</span><span style="color: #009900;">)</span>
 
   level <span style="color: #339933;">=</span> ask_level<span style="color: #009900;">(</span><span style="color: #009900;">)</span>
   set_all<span style="color: #009900;">(</span>mbsc<span style="color: #339933;">,</span> logging<span style="color: #339933;">,</span> level<span style="color: #009900;">)</span>
   text <span style="color: #339933;">=</span> <span style="color: #3366CC;">"All loggers are set to "</span> <span style="color: #339933;">+</span> level <span style="color: #339933;">+</span> <span style="color: #3366CC;">"<span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\n</span>"</span>
   text <span style="color: #339933;">+=</span> logger_levels<span style="color: #009900;">(</span>mbsc<span style="color: #339933;">,</span> logging<span style="color: #009900;">)</span>
   show<span style="color: #009900;">(</span>text<span style="color: #009900;">)</span>
<span style="color: #009900;">}</span>
 
<span style="color: #003366; font-weight: bold;">function</span> logger_levels<span style="color: #009900;">(</span>mbsc<span style="color: #339933;">,</span> logging<span style="color: #009900;">)</span> <span style="color: #009900;">{</span>
   <span style="color: #003366; font-weight: bold;">var</span> out <span style="color: #339933;">=</span> <span style="color: #3366CC;">""</span>
   <span style="color: #000066; font-weight: bold;">for</span> each<span style="color: #009900;">(</span>loggerName <span style="color: #000066; font-weight: bold;">in</span> logging.<span style="color: #660066;">LoggerNames</span><span style="color: #009900;">)</span> <span style="color: #009900;">{</span>
       lvl <span style="color: #339933;">=</span> mbsc.<span style="color: #660066;">invoke</span><span style="color: #009900;">(</span>logging<span style="color: #339933;">,</span> <span style="color: #3366CC;">"getLoggerLevel"</span><span style="color: #339933;">,</span>
            <span style="color: #009900;">[</span>loggerName<span style="color: #009900;">]</span><span style="color: #339933;">,</span>
            <span style="color: #009900;">[</span><span style="color: #3366CC;">"java.lang.String"</span><span style="color: #009900;">]</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span>
       out <span style="color: #339933;">+=</span> loggerName <span style="color: #339933;">+</span> <span style="color: #3366CC;">" is at "</span> <span style="color: #339933;">+</span> lvl <span style="color: #339933;">+</span> <span style="color: #3366CC;">"<span style="color: #000099; font-weight: bold;">\n</span>"</span>
   <span style="color: #009900;">}</span>
   <span style="color: #000066; font-weight: bold;">return</span> out
<span style="color: #009900;">}</span>
 
<span style="color: #003366; font-weight: bold;">function</span> set_all<span style="color: #009900;">(</span>mbsc<span style="color: #339933;">,</span> logging<span style="color: #339933;">,</span> level<span style="color: #009900;">)</span> <span style="color: #009900;">{</span>
   <span style="color: #000066; font-weight: bold;">for</span> each<span style="color: #009900;">(</span>loggerName <span style="color: #000066; font-weight: bold;">in</span> logging.<span style="color: #660066;">LoggerNames</span><span style="color: #009900;">)</span> <span style="color: #009900;">{</span>
       mbsc.<span style="color: #660066;">invoke</span><span style="color: #009900;">(</span>logging<span style="color: #339933;">,</span> <span style="color: #3366CC;">"setLoggerLevel"</span><span style="color: #339933;">,</span>
            <span style="color: #009900;">[</span>loggerName<span style="color: #339933;">,</span> level<span style="color: #009900;">]</span><span style="color: #339933;">,</span>
            <span style="color: #009900;">[</span><span style="color: #3366CC;">"java.lang.String"</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">"java.lang.String"</span><span style="color: #009900;">]</span><span style="color: #009900;">)</span>
   <span style="color: #009900;">}</span>
<span style="color: #009900;">}</span>
 
<span style="color: #003366; font-weight: bold;">function</span> ask_level<span style="color: #009900;">(</span><span style="color: #009900;">)</span> <span style="color: #009900;">{</span>
   dialog <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">new</span> Packages.<span style="color: #660066;">org</span>.<span style="color: #660066;">eclipse</span>.<span style="color: #660066;">jface</span>.<span style="color: #660066;">dialogs</span>.<span style="color: #660066;">InputDialog</span><span style="color: #009900;">(</span>
          window.<span style="color: #660066;">getShell</span><span style="color: #009900;">(</span><span style="color: #009900;">)</span><span style="color: #339933;">,</span> 
          <span style="color: #3366CC;">"Logging Level"</span><span style="color: #339933;">,</span>
          <span style="color: #3366CC;">"Which level? (SEVERE, WARNING, INFO, CONFIG, FINE, FINER, FINEST)"</span><span style="color: #339933;">,</span>
          <span style="color: #3366CC;">"INFO"</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">null</span><span style="color: #009900;">)</span>
   result <span style="color: #339933;">=</span> dialog.<span style="color: #000066;">open</span><span style="color: #009900;">(</span><span style="color: #009900;">)</span>
   <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">(</span>result <span style="color: #339933;">==</span> Packages.<span style="color: #660066;">org</span>.<span style="color: #660066;">eclipse</span>.<span style="color: #660066;">jface</span>.<span style="color: #660066;">window</span>.<span style="color: #660066;">Window</span>.<span style="color: #660066;">OK</span><span style="color: #009900;">)</span> <span style="color: #009900;">{</span>
       <span style="color: #000066; font-weight: bold;">return</span> dialog.<span style="color: #660066;">getValue</span><span style="color: #009900;">(</span><span style="color: #009900;">)</span>
   <span style="color: #009900;">}</span>
<span style="color: #009900;">}</span>
 
<span style="color: #003366; font-weight: bold;">function</span> show<span style="color: #009900;">(</span>text<span style="color: #009900;">)</span> <span style="color: #009900;">{</span>
   Packages.<span style="color: #660066;">org</span>.<span style="color: #660066;">eclipse</span>.<span style="color: #660066;">jface</span>.<span style="color: #660066;">dialogs</span>.<span style="color: #660066;">MessageDialog</span>.<span style="color: #660066;">openInformation</span><span style="color: #009900;">(</span>
           window.<span style="color: #660066;">getShell</span><span style="color: #009900;">(</span><span style="color: #009900;">)</span><span style="color: #339933;">,</span>
           <span style="color: #3366CC;">"Update Logging"</span><span style="color: #339933;">,</span>
           text
       <span style="color: #009900;">)</span>
<span style="color: #009900;">}</span></pre></div></div>


<h3>code walkthrough</h3>

<p>The <code>main()</code> function of the script is:</p>


<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family: monospace;"><span style="color: #003366; font-weight: bold;">function</span> main<span style="color: #009900;">(</span><span style="color: #009900;">)</span> <span style="color: #009900;">{</span>
  mbsc <span style="color: #339933;">=</span> jmx.<span style="color: #660066;">connect</span><span style="color: #009900;">(</span><span style="color: #3366CC;">"localhost"</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">3000</span><span style="color: #009900;">)</span>
  logging <span style="color: #339933;">=</span> mbsc.<span style="color: #660066;">getMBean</span><span style="color: #009900;">(</span><span style="color: #3366CC;">"java.util.logging:type=Logging"</span><span style="color: #009900;">)</span>
 
   level <span style="color: #339933;">=</span> ask_level<span style="color: #009900;">(</span><span style="color: #009900;">)</span>
   set_all<span style="color: #009900;">(</span>mbsc<span style="color: #339933;">,</span> logging<span style="color: #339933;">,</span> level<span style="color: #009900;">)</span>
   text <span style="color: #339933;">=</span> <span style="color: #3366CC;">"All loggers are set to "</span> <span style="color: #339933;">+</span> level <span style="color: #339933;">+</span> <span style="color: #3366CC;">"<span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\n</span>"</span>
   text <span style="color: #339933;">+=</span> logger_levels<span style="color: #009900;">(</span>mbsc<span style="color: #339933;">,</span> logging<span style="color: #009900;">)</span>
   show<span style="color: #009900;">(</span>text<span style="color: #009900;">)</span>
<span style="color: #009900;">}</span></pre></div></div>


<p>where</p>

<ul>
<li><code>mbsc = jmx.connect("localhost", 3000)</code> creates a <code>mbsc</code> object connected to a local JMX server using the <a href="http://java.sun.com/j2se/1.5.0/docs/guide/management/agent.html#connecting">standard JMX Service URL</a>.</li>
<li><code>logging = mbsc.getMBean("java.util.logging:type=Logging")</code> creates a <code>logging</code> object representing the <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/logging/LoggingMXBean.html">LoggingMXBean</a> used to manage the JVM logging.</li>
<li><code>level = ask_level()</code> opens an Eclipse input dialog where you can input the logging level and returns it as a String.</li>
<li><code>set_all(mbsc, logging, level)</code> sets all the loggers at the given level</li>
<li><code>text += logger_levels(mbsc, logging)</code> returns a String representation of all the loggers and their level</li>
<li><code>show(text)</code> opens an Eclipse message dialog</li>
</ul>

<p>The interesting methods are <code>logger_levels()</code> and <code>set_all()</code>. In both methods, we retrieve an attribute of a MBean and invoke an operation.</p>

<p>Let’s focus on <code>set_all()</code>:</p>


<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family: monospace;"><span style="color: #003366; font-weight: bold;">function</span> set_all<span style="color: #009900;">(</span>mbsc<span style="color: #339933;">,</span> logging<span style="color: #339933;">,</span> level<span style="color: #009900;">)</span> <span style="color: #009900;">{</span>
   <span style="color: #000066; font-weight: bold;">for</span> each<span style="color: #009900;">(</span>loggerName <span style="color: #000066; font-weight: bold;">in</span> logging.<span style="color: #660066;">LoggerNames</span><span style="color: #009900;">)</span> <span style="color: #009900;">{</span>
      mbsc.<span style="color: #660066;">invoke</span><span style="color: #009900;">(</span>logging<span style="color: #339933;">,</span> <span style="color: #3366CC;">"setLoggerLevel"</span><span style="color: #339933;">,</span>
            <span style="color: #009900;">[</span>loggerName<span style="color: #339933;">,</span> level<span style="color: #009900;">]</span><span style="color: #339933;">,</span>
            <span style="color: #009900;">[</span><span style="color: #3366CC;">"java.lang.String"</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">"java.lang.String"</span><span style="color: #009900;">]</span><span style="color: #009900;">)</span>
   <span style="color: #009900;">}</span>
<span style="color: #009900;">}</span></pre></div></div>


<p><code>logging</code> represents a MBean (it is not a “real” MBean, more on that later) and <code>mbsc</code> represents a <a href="http://java.sun.com/j2se/1.5.0/docs/api/javax/management/MBeanServerConnection.html"><code>MBeanServerConnection</code></a> (but it is not a “real” <code>MBeanServerConnection</code>, more on that later).<br/>
<code>logging.LoggerNames</code> returns the value of the <code>LoggerNames</code> attribute of the MBean (<em>note that the <em>first letter</em> must be in <em>upper case</em></em>) which is an array of strings.<br/>
For each element of this array, we invoke the <code>setLoggerLevel</code> operation using <code>mbsc.invoke()</code>.<br/>
This method is very similar to the “real” <a href="http://java.sun.com/j2se/1.5.0/docs/api/javax/management/MBeanServerConnection.html#invoke(javax.management.ObjectName,%20java.lang.String,%20java.lang.Object[],%20java.lang.String[])"><code>MBeanServerConnection.invoke()</code></a> method:</p>

<ol>
<li>something representing a MBean (instead of an ObjectName)</li>
<li>the MBean operation name</li>
<li>the parameters of the operation</li>
<li>the types of the parameters</li>
</ol>

<h3>jmx: an Eclipse Monkey DOM</h3>

<p>What do I mean when I write that <code>logging</code> is not the “real” <code>LogginMXBean</code> and that <code>mbsc</code> is not the real <code>MBeanServerConnection</code>?</p>

<p>This 2 types of objects are created by the <code>jmx</code> object in the <code>main()</code> method. This <code>jmx</code> object is in fact an <a href="http://www.eclipse.org/dash/monkey-help.php?key=writing-doms">Eclipse Monkey DOM</a> that is contributed by the plug-in listed in the <code>DOM</code> directive at the top of the script:</p>


<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family: monospace;">DOM<span style="color: #339933;">:</span> http<span style="color: #339933;">:</span><span style="color: #006600; font-style: italic;">//eclipse-jmx.googlecode.com/svn/trunk/net.jmesnil.jmx.update/net.jmesnil.jmx.monkey.doms</span></pre></div></div>


<p>This plug-in was included in the “JMX Monkey” feature which was installed the first time you ran this script.</p>

<p>The <code>jmx</code> DOM has a single method <code>connect(host, port)</code> which connects to a JMX Server using the <a href="http://java.sun.com/j2se/1.5.0/docs/guide/management/agent.html#connecting">standard JMX Service URL</a>.<br/>
The object returned by this method is a <a href="http://eclipse-jmx.googlecode.com/svn/trunk/net.jmesnil.jmx.monkey.doms/src/net/jmesnil/jmx/monkey/doms/ScriptableMBeanServerConnection.java"><code>ScriptableMBeanServerConnection</code></a>. This class encapsulates the “real” <code>MBeanServerConnection</code> (still available using the <code>getObject()</code> method) but only exposes its <code>invoke()</code>.</p>

<p>It also exposes a <code>getMBean()</code> method which returns a <a href="http://eclipse-jmx.googlecode.com/svn/trunk/net.jmesnil.jmx.monkey.doms/src/net/jmesnil/jmx/monkey/doms/ScriptableMBean.java"><code>ScriptableMBean</code></a>. In turn this class exposes the attributes of the MBean as JavaScript attributes.</p>

<p>To sum up, these are the operations you can perform using the <code>jmx</code> DOM:</p>

<ul>
<li>connect to a JMX server: <code>mbsc = jmx.connect(host, port)</code></li>
<li>get a mbean: <code>mbean = mbsc.getMBean(objectName)</code></li>
<li>get the value of a mbean attribute: <code>val = mbean.AttributeName</code></li>
<li>get the “real” mbean server connection and use it: <code>objectNames = mbsc.getObject().queryNames(name, query)</code></li>
<li>invoke an operation on a mbean: <code>mbsc.invoke(mbean, operation, params, param_types)</code></li>
</ul>

<h3>Conclusion</h3>

<p>This script example is simple but quite interesting thanks to its integration with Eclipse.</p>

<p>I believe there is an use for such scripts: repeatable management operations that needs to be tweaked from time to time.
It’s tedious to do that with a GUI and it’s even more tedious to write Java applications to do so.</p>

<p>Last year, during EclipseCon’06, I blogged about an <a href="http://jmesnil.net/weblog/2006/03/22/use-case-for-scripting-a-rcp-application">use case for scripting a RCP application</a> using Eclipse Monkey.
This is a concrete example: I’m using <a href="http://code.google.com/p/eclipse-jmx/">eclipse-jmx</a> to manage Java applications that I develop. When I realize that I perform the same kind of management task, I write a monkey script which automates it.</p>

<p>Next time, you have to perform the same operation on many MBeans or many operations on the same MBean but you think it is not worth to write a Java application to automate it, ask yourselves if it can not be simply automated by a script such as the one in this post.</p></div>
    </content>
    <updated>2007-05-23T19:53:03Z</updated>
    <category term="eclipse"/>
    <category term="java"/>
    <category term="jmx"/>
    <author>
      <name>Jeff Mesnil</name>
    </author>
    <source>
      <id>http://jmesnil.net/weblog</id>
      <link href="http://jmesnil.net/weblog/category/eclipse/feed/" rel="self" type="application/atom+xml"/>
      <link href="http://jmesnil.net/weblog" rel="alternate" type="text/html"/>
      <subtitle>Thoughts about Java, Web and Software Development</subtitle>
      <title>Jeff Mesnil » eclipse</title>
      <updated>2010-06-09T06:14:51Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-5577293131810394364.post-8111661652863463542</id>
    <link href="http://dejan-glozic.blogspot.com/feeds/8111661652863463542/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=5577293131810394364&amp;postID=8111661652863463542" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/5577293131810394364/posts/default/8111661652863463542" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/5577293131810394364/posts/default/8111661652863463542" rel="self" type="application/atom+xml"/>
    <link href="http://dejan-glozic.blogspot.com/2007/04/i-need-you-to-help-installupdate.html" rel="alternate" type="text/html"/>
    <title>I need YOU to help Install/Update!</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">When it comes to Install/Update, I have seen the future and the future is rosy. At least that's what <a href="http://lenettoyeur-on-eclipse.blogspot.com/index.html">Pascal '<span class="blsp-spelling-error" id="SPELLING_ERROR_0"><span class="blsp-spelling-error" id="SPELLING_ERROR_0">LeNettoyeur</span></span>' </a>led me to believe in the shuttle from Santa Clara to San Francisco airport after this year's <span class="blsp-spelling-error" id="SPELLING_ERROR_1"><span class="blsp-spelling-error" id="SPELLING_ERROR_1">Eclispecon</span></span>. I am still not convinced that 'features suck' as Ed <span class="blsp-spelling-error" id="SPELLING_ERROR_2"><span class="blsp-spelling-error" id="SPELLING_ERROR_2">Merks</span></span> likes to yell when protected by the <span class="blsp-spelling-error" id="SPELLING_ERROR_3"><span class="blsp-spelling-error" id="SPELLING_ERROR_3">Eclipsecon</span></span> crowd (even he expressed concern that they may end up with the same '<span class="blsp-spelling-error" id="SPELLING_ERROR_4"><span class="blsp-spelling-error" id="SPELLING_ERROR_4">sucky</span></span>' thing with a different name :-). Nevertheless, I am sure that our Equinox friends will come up with something new and shiny and that it will catch the world by storm almost as much as <span class="blsp-spelling-error" id="SPELLING_ERROR_5"><span class="blsp-spelling-error" id="SPELLING_ERROR_5">OSGi</span></span> did.<br/><br/>But let's take our eyes off the future and focus on the here and now. While we are dreaming (or should I say 'provisioning') new Update dreams, the old Update still needs to work and tie us over, or the new Update will be crushed by the unrealistic expectations before the birth pangs subside. There is Europa to ship, new features to post, patches to publish for all that brilliant software that was bug-free when you unleashed it on the unsuspecting public. <span class="blsp-spelling-corrected" id="SPELLING_ERROR_6">Unfortunately</span>, Install/Update is down to one active <span class="blsp-spelling-error" id="SPELLING_ERROR_7"><span class="blsp-spelling-error" id="SPELLING_ERROR_6">committer</span></span> (yours <span class="blsp-spelling-corrected" id="SPELLING_ERROR_8">truly</span>), and he is a manager with a full plate. That's as if we are down to 0.1 <span class="blsp-spelling-error" id="SPELLING_ERROR_9"><span class="blsp-spelling-error" id="SPELLING_ERROR_7">committer</span></span> with a short attention span :-).<br/><br/>As I am typing this, Alex <span class="blsp-spelling-error" id="SPELLING_ERROR_10"><span class="blsp-spelling-error" id="SPELLING_ERROR_8">Blewitt</span></span> ran away with the prize by <a href="http://www.eclipsezone.com/eclipse/forums/t93087.html">blogging about this first</a>. I am not going to out-Alex him but here is the plan for a few good men (or women - we are equal opportunity here :-):<br/><br/><ol><li>Take a look at the Update inbox (using <a href="https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced&amp;short_desc_type=allwordssubstr&amp;short_desc=&amp;classification=Eclipse&amp;amp;amp;amp;product=Platform&amp;component=Update&amp;long_desc_type=allwordssubstr&amp;long_desc=&amp;bug_file_loc_type=allwordssubstr&amp;bug_file_loc=&amp;status_whiteboard_type=allwordssubstr&amp;status_whiteboard=&amp;keywords_type=allwords&amp;keywords=&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;emailtype1=substring&amp;email1=&amp;emailtype2=substring&amp;amp;amp;amp;email2=&amp;bugidtype=include&amp;bug_id=&amp;votes=&amp;amp;amp;amp;chfieldfrom=&amp;chfieldto=Now&amp;chfieldvalue=&amp;cmdtype=doit&amp;order=Reuse+same+sort+as+last+time&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0=">this query </a>will help)</li><li>Pick a bug that you would really like to see fixed and that has enough steps to be reproducible (but call it first so that others don't investigate the same problem)</li><li>Pick a fairly recent build (M6+) and set it up for Update development using <a href="http://help.eclipse.org/help32/topic/org.eclipse.pde.doc.user/tips/pde_tips.htm">these instructions</a> (read under 'Feature-based self-hosting')</li><li>Try to pinpoint the problem; if you feel confident, try to fix it</li><li>If it seems to work, post a patch to the bug report, but be diligent - we want to fix existing problems, not create the new ones, right?</li></ol><p>What's in it for me, you ask? You can make your code a proud part of Eclipse Platform (names and emails of contributors will be prominently displayed in file copyright notices). You can get a high from fixing a hard problem. At the end of 3.3, we will create an 'Update Hall of Fame" with pictures and short bios of top Update contributors. Finally, you will get to help yourselves by fixing problems that affect your own projects and components (he is looking at you, Mylar :-).</p><p>Last but not least, you will learn the whole problem domain of installing and updating bundles. When the time comes to switch to the new and shiny Equinox Provisioning, you will know what works, what doesn't, what you like and what is, to use Ed's immortal words, <span class="blsp-spelling-error" id="SPELLING_ERROR_11"><span class="blsp-spelling-error" id="SPELLING_ERROR_9">sucky</span></span>.</p><div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/5577293131810394364-8111661652863463542?l=dejan-glozic.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2007-04-16T21:03:48Z</updated>
    <published>2007-04-11T20:03:00Z</published>
    <author>
      <name>Dejan Glozic</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/11075719175925605734</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-5577293131810394364</id>
      <author>
        <name>Dejan Glozic</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/11075719175925605734</uri>
      </author>
      <link href="http://dejan-glozic.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/5577293131810394364/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://dejan-glozic.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <title>Pixelization effect</title>
      <updated>2010-06-05T12:42:22Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://www.xlml.com/aehso/2007/04/05/the-dreaded-javalangoutofmemoryerror-permgen-space-exception/</id>
    <link href="http://www.xlml.com/aehso/2007/04/05/the-dreaded-javalangoutofmemoryerror-permgen-space-exception/" rel="alternate" type="text/html"/>
    <title>The dreaded “java.lang.OutOfMemoryError: PermGen space” exception.</title>
    <summary>Frank Kieviet has two excellent posts that explain the dreaded “java.lang.OutOfMemoryError: PermGen space” error and more importantly how to use some new Java 6 tools to diagnose the source of the problem.  The first post in particular highlights a very subtle issue with classloader/reference handling that anyone developing code for multiple-classloader environments needs to [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Frank Kieviet has two excellent posts that explain the <a href="http://blogs.sun.com/fkieviet/entry/classloader_leaks_the_dreaded_java">dreaded “java.lang.OutOfMemoryError: PermGen space” error</a> and more importantly <a href="http://blogs.sun.com/fkieviet/entry/how_to_fix_the_dreaded">how to use some new Java 6 tools to diagnose the source of the problem</a>.  The first post in particular highlights a very subtle issue with classloader/reference handling that anyone developing code for multiple-classloader environments needs to be aware of.  </p>
<p>Alessandro Ribeiro also has an interesting <a href="http://www.alessandroribeiro.com/?q=en/node/33">three</a> <a href="http://www.alessandroribeiro.com/?q=en/node/39">post</a> <a href="http://www.alessandroribeiro.com/?q=en/node/41">piece</a> where he shows how to use the JDK 1.5 ‘jps’ and ‘jstat’ tools to help diagnose the same problem (hint: “jstat -gcpermcapacity
” will give you a nice summary of the status of the VM with the target PID). </p>
<p>Users have been running into this when running Eclipse-based products on Sun’s JDK 1.5 for some time and <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=92250">Eclipse Bug 92250</a> has been quietly collating lots of feedback and suggestions from the Eclipse community along the way.  A lot of people have been lurking/waiting/hoping that someone would identify the source(s) of the issue and produce a fix so it is good to see increased activity there.  However, the recent debate about whether this is a <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=92250#c120">Sun</a> or <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=92250#c125">Eclipse</a> (where I found links to the above blog posts – thanks Karsten!) issue might be a little discouraging but it appears there is acknowledgement that some responsibility lies within the Eclipse community to help diagnose the problem.</p>
<p>I’d imagine many adapters would be willing to lend a hand in diagnosing this since it is a potential stability issue for all Eclipse based products when run on what is the de-facto Java VM.  However, I suspect any such analysis effort would need to be done in coordination with some platform/WTP folks since they would need a good insight into the expected behaviour of all of the active bundles to be able to determine which are at fault (or if indeed the fault lies with the VM)</p>
<p>What intrigues me about this issue is that Eclipse/Equinox doesn’t normally destroy classloaders so classloaders not getting garbage collected can’t be the source of the problem.  But with that assertion, how can any application be hitting a <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=92250#c79">512Mb permGen limit</a>?  It does smell of a VM bug but then why doesn’t it happen with other Java based applications?  Clearly some feature common to many Eclipse applications is rubbing the Sun VM up the wrong way.</p>
<p>I guess the only way to find out is to do a very deep analysis but a pre-requisite for that is to find a simple use case that can reliably and repeatedly reproduce the problem.  We don’t seem to have one with our product but perhaps someone else out there does.</p></div>
    </content>
    <updated>2007-04-05T13:57:17Z</updated>
    <category term="eclipse"/>
    <category term="java"/>
    <author>
      <name>aehso</name>
    </author>
    <source>
      <id>http://www.xlml.com/aehso</id>
      <link href="http://www.xlml.com/aehso/category/eclipse/feed/" rel="self" type="application/atom+xml"/>
      <link href="http://www.xlml.com/aehso" rel="alternate" type="text/html"/>
      <subtitle>John O'Shea's musings, observations and opinions on anything and everything.</subtitle>
      <title>Aehso's Output » eclipse</title>
      <updated>2010-04-27T13:55:40Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-13303249.post-117510711405146024</id>
    <link href="http://todcreaseyeclipse.blogspot.com/feeds/117510711405146024/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=13303249&amp;postID=117510711405146024" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/13303249/posts/default/117510711405146024" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/13303249/posts/default/117510711405146024" rel="self" type="application/atom+xml"/>
    <link href="http://todcreaseyeclipse.blogspot.com/2007/03/textprocessor-and-bidi.html" rel="alternate" type="text/html"/>
    <title>TextProcessor and BIDI</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">As a follow on from my post a couple of days ago I thought I would dive a bit deeper in when to use the Text Processor.<br/><br/>Lets start from the javadoc:<br/><br/>"This class is used to process strings that have special semantic meaning (such as file paths) in RTL-oriented locales so that they render in a way that does not corrupt the semantic meaning of the string but also maintains compliance with the Unicode BiDi algorithm of rendering Bidirectional text.<br/><br/>Processing of the string is done by breaking it down into segments that are specified by a set of user provided delimiters. Directional punctuation characters are injected into the string in order to ensure the string retains its semantic meaning and conforms with the Unicode BiDi algorithm within each segment."<br/><br/><span style="font-weight: bold;">So where do I use it?</span><br/>Anywhere where the string you are displaying has a series of segments where the ordering of the segments is the same no matter what language you are displaying. The most common examples are file associations, file paths, URLS and URIs.<br/><br/><span style="font-weight: bold;">When is it processing Strings?</span><br/>The TextProcessor will do bidirectional String processing anytime you are running with your Locale set to one of the four bidirectional languages (Arabic, Farsi, Hebrew or Urdu).<br/><br/><span style="font-weight: bold;">Will it process if my layout is right to left?</span><br/>Only if your Locale is one of the languages mentioned above.<br/><br/><span style="font-weight: bold;">Do these extra characters get picked up if I copy the String?</span><br/>Yes. In some applications that do not try and interpret these characters (such as Notepad) they will show up as control characters.<br/><br/><span style="font-weight: bold;">How do I strip the extra directional characters out?</span><br/><span style="font-family: courier new;">TextProcessor#deprocess(String)</span>will allow you to remove them.<br/><br/><span style="font-weight: bold;">What should I do about input fields for these Strings?</span><br/>The Eclipse Platform tries to avoid creating behaviour that is inconsistent with the operating system as much as possible. As a result we do not process the input String - the user gets whatever the operating system wants to show them.<br/><br/>Once again we would love to hear from anyone who is using our bidirectional support day to day to give us more feedback.<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/13303249-117510711405146024?l=todcreaseyeclipse.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2007-03-28T19:48:24Z</updated>
    <published>2007-03-28T19:24:00Z</published>
    <author>
      <name>Tod Creasey</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/07656530357132016605</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-13303249</id>
      <author>
        <name>Tod Creasey</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/07656530357132016605</uri>
      </author>
      <link href="http://todcreaseyeclipse.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/13303249/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://todcreaseyeclipse.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>This is the Eclipse blog for Tod Creasey. I am a committer on the Platform UI team here in Ottawa Canada.</subtitle>
      <title>Tod Creasey's Eclipse Blog</title>
      <updated>2009-02-21T08:53:28Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-13303249.post-117492991058938030</id>
    <link href="http://todcreaseyeclipse.blogspot.com/feeds/117492991058938030/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=13303249&amp;postID=117492991058938030" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/13303249/posts/default/117492991058938030" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/13303249/posts/default/117492991058938030" rel="self" type="application/atom+xml"/>
    <link href="http://todcreaseyeclipse.blogspot.com/2007/03/bidirectional-support-faq.html" rel="alternate" type="text/html"/>
    <title>Bidirectional Support  FAQ</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Here on the Platform team we have had a series of questions about how the bidirectional support in Eclipse works and I thought it was time I blogged about it. Here are some commonly asked questions:<br/><br/><span style="font-weight: bold;">1) What is the difference between using -dir rtl and -nl iw?</span><br/><br/>-dir rtl was a command line parameter that Help was using before the workbench added it's general BIDI support in 3.1. When we added the BIDI support ourselves we continued to support the old flag but we also felt that the -nl command line parameter made more sense. If you are using a Arabic, Farsi, Hebrew or Urdu locale as the argument to the -nl parameter you will get right to left support.<br/><br/>The <span style="font-family: courier new;">TextProcessor </span>does not support the -dir rtl parameter so it is recommended that you use the -nl parameter to get all of the bidi support. Note that <span style="font-family: courier new;">TextProcessor </span>will process BIDI strings whenever the Locale is bidirectional whether or not the Locale was set by -nl or taken from the OS.<br/><br/>So if you use -dir rtl your orientation will be set to right to left but your paths etc. will not use the text processing.<br/><br/><span style="font-weight: bold;">2) What is the difference between </span><span style="font-weight: bold; font-family: courier new;">TextProcessor </span><span style="font-weight: bold;">and </span><span style="font-weight: bold; font-family: courier new;">Window#getDefaultOrientation </span><span style="font-weight: bold;">?</span><br/><br/><span style="font-family: courier new;">TextProcessor </span>is a class supplied by OSGi to used to process strings that have special semantic meaning (such as file paths) in RTL-oriented locales so that they render in a way that does not corrupt the semantic meaning of the string but also maintains compliance with the Unicode BiDi algorithm of rendering Bidirectional text. (from the javadoc).<br/><br/>So for instance http://www.eclipse.org/ will render the entire String in left to right order but will process each segment right to left.<br/><br/><span style="font-family: courier new;">org.eclipse.jface.Window#getDefaultOrientation </span>is a method used to determine the default orientation for windows. If it is not set the default value will be unspecified (SWT#NONE) (also from the javadoc)<span style="font-family: courier new;">.<br/><br/>Dialogs, Windows, IWorkbenchParts</span> and <span style="font-family: courier new;">FormToolkits </span>use this value to determine their default orientation. All of these classes allow the orientation to be overridden.<br/><br/><span style="font-weight: bold;">3) Why do I not get bidirectional text processing in left to right orientations?<br/><br/></span>Using the <span style="font-family: courier new;">TextProcessor</span> to evaluate paths is slower than not processing them at all (of course). For performance reasons we do not use <span style="font-family: courier new;">TextProcessor</span> unless you are in a bidirectional Locale.<br/><br/><span style="font-weight: bold;">4) How do I set my inputs to use bidirectional support?</span><br/><br/>All input processing is done using the platform widgets. Eclipse generally does not try and work differently than the OS so we use the OS input methods.<br/><br/><span style="font-weight: bold;">5) What happens if I use multiple direction parameters?</span><br/><br/>There is a precedence of these parameters. As document in the help at org.eclipse.platform.doc.isv/reference/misc/bidi.html:<br/><br/><p>The orientation of the workbench is determined in one of the following ways  (in order of priority):</p> <ul><li><strong>-dir command line parameter</strong>. If the -dir command line  option is used this will be the default orientation. Valid values are -dir rtl  or -dir ltr.  </li><li><strong>system properties</strong>. If the system property  <tt>eclipse.orientation</tt> is set this will be used. The recognized values of  this property are the same as the -dir command line argument.  </li><li><strong>-nl command line parameter</strong>. If the -nl option is used and  the language is Arabic, Farsi, Hebrew or Urdu the orientation will be right to  left.  </li><li>Failing all of the above, the platform defaults to a left to right  orientation. </li></ul>The <span style="font-family: courier new;">TextProcessor </span>is only checking Locale and does not use this precedence.<br/><br/>So...<br/><ul><li><span style="font-weight: bold;">-dir rtl </span>will give you right to left windows but no text processing</li><li><span style="font-weight: bold;">-nl fa </span>will give you right to left windows and text processing</li><li><span style="font-weight: bold;">-nl ur -dir ltr </span>will give you left to right windows and text processing<br/></li><li><span style="font-weight: bold;">Starting Eclipse in a bidirectional Locale</span> <span style="font-weight: bold;">with no arguments</span> will give you left to right windows and text processing </li></ul><br/><span style="font-weight: bold;">6) Is right to left ever the default?</span><br/>No. When we initially did this work we made right to left the default for users in the right to left locales but the overwhelming response was that they developed in left to right and then we should only switch orientation if explicitly asked to.<br/><br/>So if you start Eclipse on an Urdu machine with no command line arguments you will get left to right orientation. If you start Eclipse using the command line argument -nl ur on the same machine you will get right to left orientation.<br/><br/><span style="font-weight: bold;">7) Who uses this support?</span><br/>This is actually a question for you. We know there are lots of users who use Eclipse left to right in a right to left locale but we are interesting in hearing from<br/><ul><li>Users who use right to left for their Eclipse development - especially if they want some right to left support changes in JDT or EMF.</li><li>Users who use left to right but frequently have to deal with right to left strings and find the lack of bidirectional text support problematic</li></ul>If you are one of these people please log a bug to Bugzilla or add a comment to this blog.<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/13303249-117492991058938030?l=todcreaseyeclipse.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2007-03-27T17:39:19Z</updated>
    <published>2007-03-26T16:39:00Z</published>
    <author>
      <name>Tod Creasey</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/07656530357132016605</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-13303249</id>
      <author>
        <name>Tod Creasey</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/07656530357132016605</uri>
      </author>
      <link href="http://todcreaseyeclipse.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/13303249/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://todcreaseyeclipse.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>This is the Eclipse blog for Tod Creasey. I am a committer on the Platform UI team here in Ottawa Canada.</subtitle>
      <title>Tod Creasey's Eclipse Blog</title>
      <updated>2009-02-21T08:53:28Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-27387829.post-4933056236675949037</id>
    <link href="http://eclipselowdown.blogspot.com/feeds/4933056236675949037/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=27387829&amp;postID=4933056236675949037" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/27387829/posts/default/4933056236675949037" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/27387829/posts/default/4933056236675949037" rel="self" type="application/atom+xml"/>
    <link href="http://eclipselowdown.blogspot.com/2007/03/my-first-and-second-osgi-service.html" rel="alternate" type="text/html"/>
    <title>My first (and second) OSGi Service</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">It seems everywhere I look these days, I see OSGi mentioned. So in an attempt to be fashionable (and because I think it was the right thing to do) I have made a couple of new features that have been added the Eclipse Platform available as OSGI services (I should note that these features will appear in the next integration build). The new services are:<br/><ul><li>IProxyService: a service that allows clients to access and modify the proxy settings for HTTP, HTTPS (or SSL) and SOCKS and ensures that the values specified are put into the corresponding Java system properties. This service is located in the org.eclipse.core.net plug-in and there is an associated preference page for setting the proxies.</li><li>IJSchService: a service that complements the JSch SSH2 client by ensuring that  JSch is properly configured (using settings from the SSH2 preference page) when clients attempt to make SSH2 connections. The service also uses the proxy service to configure JSch proxies. The JSch service is found in the org.eclipse.jsch.core plug-in while a generic prompter can be found in the org.eclipse.jsch.ui plug-in.</li></ul>In order to use these services, you need to obtain them using OSGi. Niel provides some general articles on working with <a href="http://neilbartlett.name/blog/osgi-articles/">OSGi services</a>. To illustrate, here's an example of how you can use the JSch service (and, indirectly, the proxy service) to make a connection using a proxy.<br/><br/>The first thing you need to do is add a service tracker in you bundle activator (or, in the old world lingo, add a tracker to your plug-in class). Here's the code I needed to add to my Activator class.<br/><pre><br/>private ServiceTracker tracker;<br/><br/>public void start(BundleContext context) throws Exception {<br/>   super.start(context);<br/>   tracker = new ServiceTracker(<br/>      getBundle().getBundleContext(),<br/>      IJSchService.class.getName(),<br/>       null);<br/>   tracker.open();<br/>}<br/><br/>public void stop(BundleContext context) throws Exception {<br/>   tracker.close();<br/>   super.stop(context);<br/>}<br/><br/>public org.eclipse.jsch.core.IJSchService getJSchService() {<br/>   return (IJSchService)tracker.getService();<br/>}<br/></pre><br/>Once you have that, you can make an SSH2 connection in the following way:<br/><pre><br/>IJSchService service = CVSProviderPlugin.getPlugin().getJSchService();<br/>if (service == null)<br/>   // Service is not available<br/>Session session = service.createSession(hostname, port, username);<br/>int timeout = 60000;<br/>session.setTimeout(timeout);<br/>if (password != null)<br/>   session.setPassword(password);<br/>session.setUserInfo(new org.eclipse.jsch.ui.UserInfoPrompter(session));<br/>service.connect(session, timeout, monitor);<br/></pre><br/>The above connection methods will use any proxies that are specified in the proxy service. However, with the JSch service, you can also use proxies with other types of connections (e.g. CVS pserver). Here's how:<br/><pre><br/>private Proxy getProxy() {<br/>   IJSchService service = Activator.getInstance().getJSchService();<br/>   if (service == null)<br/>      return null;<br/>   Proxy proxy = service.getProxyForHost(<br/>      hostName,<br/>      IProxyData.HTTPS_PROXY_TYPE);<br/>   if (proxy == null)<br/>      proxy = service.getProxyForHost(<br/>         hostName,<br/>         IProxyData.SOCKS_PROXY_TYPE);<br/>   return proxy;<br/>}<br/></pre><br/>If the returned proxy is null, you can make a direct connection. Otherwise, you can use the Proxy#connect method to connect to a specific host. There's a helper method on the JSch service to connect to a proxy in a responsive fashion (i.e. respond to cancellation) that you can use as well.<br/><pre><br/>service.connect(proxy, hostName, port, timeout, monitor)<br/></pre>So, there you have it. No more need to define static classes for accessing singleton services. Initially, I found accessing the OSGi services a bit more cumbersome than the static class approach but I think the added flexibility is worth it.<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/27387829-4933056236675949037?l=eclipselowdown.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2007-03-05T17:26:39Z</updated>
    <published>2007-03-05T17:08:00Z</published>
    <author>
      <name>Michael Valenta</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/06492420263178417384</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-27387829</id>
      <author>
        <name>Michael Valenta</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/06492420263178417384</uri>
      </author>
      <link href="http://eclipselowdown.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/27387829/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://eclipselowdown.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>The view of the Eclipse world from the bottom of the stack</subtitle>
      <title>Eclipse from the bottom up</title>
      <updated>2010-02-15T11:54:49Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-21204014.post-3141471524350164754</id>
    <link href="http://eburnette.blogspot.com/feeds/3141471524350164754/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=21204014&amp;postID=3141471524350164754" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/21204014/posts/default/3141471524350164754" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/21204014/posts/default/3141471524350164754" rel="self" type="application/atom+xml"/>
    <link href="http://eburnette.blogspot.com/2007/03/have-fun-at-eclipsecon.html" rel="alternate" type="text/html"/>
    <title>Have fun at EclipseCon!</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">It's chilly this morning in North Carolina (28 degrees F) so I'm a bit envious of all of you folks out in California for EclipseCon 2007 this week. I expect you all to keep the rest of us informed with lots of blogs and pictures of your experiences!<br/><br/>I have three special requests:<br/><ol><li>If you take any pictures be sure to upload them to flickr and tag them with '<a href="http://www.flickr.com/photos/tags/eclipsecon2007/">EclipseCon 2007</a>'. Please indicate whether or not it's ok to use the pictures elsewhere (for example I might put together a gallery for ZDNet if there are enough pics). Here are the <a href="http://www.flickr.com/photos/tags/eclipsecon2006/">pics for last year</a> if you'd like to reminisce.<br/></li><li>I'm a huge Dilbert fan so if somebody could get Adams' autograph for me I'd be eternally grateful.<br/></li><li>If the new Ambassador has a party this year, be sure to go and get to know a few new people. Last year's party <a href="http://blogs.zdnet.com/Burnette/?p=56">was a blast</a>. The best thing about Eclipse is its community, and that means <span style="font-style: italic;">you</span>. (Just be careful not to stand between Steve and the beer cart, that could be hazardous to your health. :) )<br/></li></ol>Have fun!<br/>--Ed<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/21204014-3141471524350164754?l=eburnette.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2007-03-05T13:27:36Z</updated>
    <published>2007-03-05T13:02:00Z</published>
    <author>
      <name>Ed Burnette</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/00602922769425368599</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-21204014</id>
      <author>
        <name>Ed Burnette</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/00602922769425368599</uri>
      </author>
      <link href="http://eburnette.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/21204014/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://eburnette.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <title>Ed Burnette's view from the asylum</title>
      <updated>2010-06-04T19:09:57Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://www.xlml.com/aehso/2007/03/05/eclipse-in-a-browser-eclipse-rich-ajax-platform-rap/</id>
    <link href="http://www.xlml.com/aehso/2007/03/05/eclipse-in-a-browser-eclipse-rich-ajax-platform-rap/" rel="alternate" type="text/html"/>
    <title>Eclipse in a browser – Eclipse Rich Ajax Platform (RAP)</title>
    <summary>I’ll not be at EclipseCon this year (it conflicts with polishing our next major product release this week) but if I was there I’d be going to any sessions related to the new Rich Ajax Platform (RAP) incubator project.  Think the Eclipse UI running in your browser, with the Eclipse application, developed as plugins, [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>I’ll not be at <a href="http://www.eclipsecon.org/2007/">EclipseCon</a> this year (it conflicts with polishing our next major product release this week) but if I was there I’d be going to any sessions related to the new <a href="http://www.eclipse.org/rap/">Rich Ajax Platform (RAP)</a> incubator project.  Think the Eclipse UI running in your browser, with the Eclipse application, developed as plugins, running remotely on a web server.   </p>
<p>The <a href="http://ondemand.yoxos.com/geteclipse/W4TDelegate">Yoxos Eclipse On Demand</a> online Eclipse distribution builder is a good example of the types of applications this framework could support.  In fact, given that Yoxos is run by <a href="http://www.innoopract.com/">Innopract</a>, the folks who are driving the RAP project, it is probably the best example out there.  It’d be interesting to find out how far along they are with their <a href="http://wiki.eclipse.org/index.php/RWTOverview">RWT API implementation</a> – attempting to build a remote client framework based on a local client framework like <a href="http://www.eclipse.org/swt/">SWT</a> is perhaps a dangerous thing to attempt to do but we’ll see how they fare.  </p>
<p> (Not to be confused with the <a href="http://www.eclipse.org/atf/">WTP 2.0 AJAX Tooklit Framework (ATF)</a> incubator project or the <a href="http://code.google.com/webtoolkit/">Google Web Toolkit (GWT)</a> which are designed to also support development of AJAX applications, albeit using other frameworks and user interfaces…)</p></div>
    </content>
    <updated>2007-03-05T10:10:52Z</updated>
    <category term="eclipse"/>
    <category term="java"/>
    <category term="osgi"/>
    <category term="web2.0"/>
    <author>
      <name>aehso</name>
    </author>
    <source>
      <id>http://www.xlml.com/aehso</id>
      <link href="http://www.xlml.com/aehso/category/eclipse/feed/" rel="self" type="application/atom+xml"/>
      <link href="http://www.xlml.com/aehso" rel="alternate" type="text/html"/>
      <subtitle>John O'Shea's musings, observations and opinions on anything and everything.</subtitle>
      <title>Aehso's Output » eclipse</title>
      <updated>2010-04-27T13:55:39Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-21204014.post-155303339307179162</id>
    <link href="http://eburnette.blogspot.com/feeds/155303339307179162/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=21204014&amp;postID=155303339307179162" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/21204014/posts/default/155303339307179162" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/21204014/posts/default/155303339307179162" rel="self" type="application/atom+xml"/>
    <link href="http://eburnette.blogspot.com/2007/03/if-im-going-to-screw-up-why-does-it.html" rel="alternate" type="text/html"/>
    <title>If I'm going to screw up, why does it have to be so public?</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Grrr. And... Yargh. That's my reaction to seeing a story I wrote get picked up not only by Digg but by ZDNet's "Must Read News Alerts".<br/><br/>Normally that would be a good thing, except the title used for the story was "How to get 66.6 TeraFlops for $600". If you go to <a href="http://blogs.zdnet.com/Burnette/?p=270">the link</a>, it says "How to get 520 GigaFlops for $600". Just a tiny difference.<br/><br/>While the original title was much cooler, it was wrong. I didn't discover the error until about a half hour after hitting the 'Publish' button. The 66.6 TFlops number was based on two sentences in the <a href="http://www.nvidia.com/object/IO_37100.html">GeForce 8800 Architecture Technical Brief</a>. The first says:<br/><blockquote>Teraflops of raw floating-point processing power are combined to deliver unmatched gaming performance, graphics realism, and real-time, film-quality effects.</blockquote>Teraflops, plural. Later it says that the card has 128 stream processors and that:<br/><blockquote>Each stream processor on a GeForce 8800 GTX operates at 1.35 GHz and supports the dual issue of a scalar MAD and a scalar MUL operation, for a total of roughly 520 gigaflops of raw shader horsepower.</blockquote> Hmm, so if each stream processor gets 520 GFlops and there are 128 stream processors that works out to 66.6TFlops, right? Well, that's what it looked like to me. But if you look closely, 1.35 GHz times 3 flops per cycle = 4.05 GFlops per processor, not 520. The 520 number was for the whole card (128 * 4.05 = 518.4).<br/><br/>Doh!<br/><br/>Since ZDNet's blogging system doesn't let me preview my articles, I do my final editing pass after clicking 'Publish' so I can see the article in context. It was during this pass that I saw the numbers didn't add up and I went back to double-check the figures. I corrected the article, but by then the damage was done. People were starting to comment on it, and it had been dugg. One poster said that a card that delivered 66.6 TFlops "gives new meaning to 'fast as Hell'". Heh.<br/><br/>To make matters worse, when I got the ZDNet email alert several hours later it also had the wrong title. It's really too bad because it would still have been noteworthy with the smaller number. I sent a note to digg's feedback address to see if they could fix it there, but got no response.<br/><br/>Mea culpa. Sometimes, the internet is a little *too* fast.<br/><br/>All I can say is, "The devil made me do it".<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/21204014-155303339307179162?l=eburnette.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2007-03-01T21:31:46Z</updated>
    <published>2007-03-01T20:52:00Z</published>
    <author>
      <name>Ed Burnette</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/00602922769425368599</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-21204014</id>
      <author>
        <name>Ed Burnette</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/00602922769425368599</uri>
      </author>
      <link href="http://eburnette.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/21204014/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://eburnette.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <title>Ed Burnette's view from the asylum</title>
      <updated>2010-06-04T19:09:57Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://jmesnil.net/weblog/2007/02/21/filter-a-tree-and-search-widget/</id>
    <link href="http://jmesnil.net/weblog/2007/02/26/add-a-filter-to-a-treeviewer/" rel="alternate" type="text/html"/>
    <title>Add a filter to a TreeViewer</title>
    <summary>In eclipse-jmx, a plug-in to manage Java applications through JMX, I have a view which displays registered MBeans using a TreeViewer.
Since there can be many MBeans to display (e.g. more than 200 just for Tomcat), it is tedious to navigate in the Tree by expanding many nodes before finding the MBeans I want to manage.
To [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>In <a href="http://code.google.com/p/eclipse-jmx/">eclipse-jmx</a>, a plug-in to manage Java applications through JMX, I have a view which displays registered MBeans using a TreeViewer.<br/>
Since there can be many MBeans to display (e.g. more than 200 just for Tomcat), it is tedious to navigate in the Tree by expanding many nodes before finding the MBeans I want to manage.
To make it more usable, I wanted to add a filter text to the view to show only the MBeans which are interesting to me.
<span id="more-144"/>
UI-wise, I wanted something like the Filtered Extensions of the PDE Editor:</p>

<p><img alt="Filtered Extensions in the PDE Editor" src="http://download.eclipse.org/eclipse/downloads/drops/S-3.3M1-200608101230/images/filtered_extensions.png"/></p>

<p>It shows only the extensions matching the filter text (and also displays the extensions categories).</p>

<p>Since this screenshot was from <a href="http://download.eclipse.org/eclipse/downloads/drops/S-3.3M1-200608101230/eclipse-news-M1.html">Eclipse 3.3M1 New &amp; Noteworthy</a>, I thought that this filter was not available for Eclipse 3.2 (or that it was specific to PDE).<br/>
It turns out that I was wrong, it works on Eclipse 3.2, and it takes only 2 lines to add such behavior to any TreeViewer  using a <a href="http://help.eclipse.org/help32/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/ui/dialogs/PatternFilter.html">PatternFilter</a> and a <a href="http://help.eclipse.org/help32/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/ui/dialogs/FilteredTree.html">FilteredTree</a> (which are from the <code>org.eclipse.ui.workbench</code> plug-in).</p>

<h2>Plain Old TreeViewer</h2>

<p>The code to create the TreeViewer is straightforward:</p>

<pre><code>public void createPartControl(Composite parent) {
    ...
    viewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
    ...
}
</code></pre>

<p>which, in eclipse-jmx, gives:</p>

<p><img alt="MBean Explorer from eclipse-jmx 0.1.1" src="http://jmesnil.net/img/e-jmx/mbean-explorer-hierarchical_0.1.0.png"/></p>

<h2>PatternFilter &amp; FilteredTree</h2>

<p>To filter the tree’s nodes, the code to change is minimal:</p>

<pre><code>public void createPartControl(Composite parent) {
    ...
    PatternFilter patternFilter = new PatternFilter();
    final FilteredTree filter = new FilteredTree(parent, SWT.MULTI
            | SWT.H_SCROLL | SWT.V_SCROLL, patternFilter);
    viewer = filter.getViewer();
    ...
}
</code></pre>

<p>With these 2 lines, a filter widget is displayed on top of the tree and the tree’s nodes are automatically filtered based on the filter text:</p>

<p><img alt="MBean Explorer from eclipse-jmx 0.1.2 with filter" src="http://jmesnil.net/img/e-jmx/mbean-explorer-filter_0.1.2.png"/></p>

<p>Screenshot has been taken on Eclipse 3.3M5 which uses native search widgets (if one is available) to display the filter control.
It works also on Eclipse 3.2 but does not look so good.</p>

<p>By default, PatternFilter will display any nodes of the Tree whose label matches the filter text. By extending it, it is very simple to have more complex filter matching algorithm.<br/>
It is the case in <a href="http://code.google.com/p/eclipse-jmx/">eclipse-jmx</a>: it displays any node whose descendant’s leaves have an ObjectName which matches the filter text.</p>

<p>Kudos to the workbench team for this little UI nugget!</p></div>
    </content>
    <updated>2007-02-26T21:57:57Z</updated>
    <category term="eclipse"/>
    <category term="java"/>
    <category term="jmx"/>
    <author>
      <name>Jeff Mesnil</name>
    </author>
    <source>
      <id>http://jmesnil.net/weblog</id>
      <link href="http://jmesnil.net/weblog/category/eclipse/feed/" rel="self" type="application/atom+xml"/>
      <link href="http://jmesnil.net/weblog" rel="alternate" type="text/html"/>
      <subtitle>Thoughts about Java, Web and Software Development</subtitle>
      <title>Jeff Mesnil » eclipse</title>
      <updated>2010-06-09T06:14:51Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-22488470.post-117086438132107279</id>
    <link href="http://philipptiedt.blogspot.com/feeds/117086438132107279/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=22488470&amp;postID=117086438132107279" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/22488470/posts/default/117086438132107279" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/22488470/posts/default/117086438132107279" rel="self" type="application/atom+xml"/>
    <link href="http://philipptiedt.blogspot.com/2007/02/jax-innovation-award-2007.html" rel="alternate" type="text/html"/>
    <title>JAX Innovation Award 2007</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">The <a href="http://jax-award.de/jax_award/index_eng.php">JAX Innvotion Award 2007</a> is calling for submissions.<br/><br/><blockquote>The JAX Innovation Award is focused on the European market and<br/>honours the most remarkable and outstanding contributions in the world<br/>of Java, Eclipse and - new - SOA. The prize money, a whopping 20.000<br/>Euro, is up for grabs.</blockquote><br/><br/>Pretty much anyone can hand in a contribution by March 19th 2007 as long as it lives in the world of Java, Eclipse or SOA.<br/><br/><a href="http://jax-award.de/jax_award/index_eng.php"><img alt="" border="0" src="http://jax-award.de/jax_award/images/viewport.png" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px;"/></a><div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/22488470-117086438132107279?l=philipptiedt.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2007-02-07T16:06:21Z</updated>
    <published>2007-02-07T15:56:00Z</published>
    <author>
      <name>Philipp</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/16971943472403434091</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-22488470</id>
      <author>
        <name>Philipp</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/16971943472403434091</uri>
      </author>
      <link href="http://philipptiedt.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/22488470/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://philipptiedt.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <title>Philipp's Eclipse and Java blog</title>
      <updated>2010-04-08T01:33:30Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://www.jacoozi.com/blog/?p=9</id>
    <link href="http://www.redblack3.com/blog/?p=9" rel="alternate" type="text/html"/>
    <title xml:lang="en">Code Quality in Eclipse</title>
    <summary xml:lang="en">Paul Duvall published a new article in developerWorks where he talks about a set of Eclipse plugins focussed on helping developers in key areas such as coding standards, code duplication, code coverage, dependency analysis and complexity monitoring. He outlines steps to download and install the plugins and provides visual step-by-step instructions on how to use [...]</summary>
    <content type="xhtml" xml:lang="en"><div xmlns="http://www.w3.org/1999/xhtml"><p><a href="http://www.testearly.com/category/duvall/" target="_blank" title="Paul's Blog">Paul Duvall</a> published a new <a href="http://www-128.ibm.com/developerworks/java/library/j-ap01117/index.html" target="_blank" title="developerWorks Article">article</a> in developerWorks where he talks about a set of Eclipse plugins focussed on helping developers in key areas such as coding standards, code duplication, code coverage, dependency analysis and complexity monitoring. He outlines steps to download and install the plugins and provides visual step-by-step instructions on how to use them.</p>
<p>Paul writes, “Using Eclipse plugins shouldn’t preclude you from using these inspection tools as part of the build process. In fact, you want to ensure that the rules followed using the Eclipse plugins are the same rules applied to your build process.” I would add to this that each Eclipse project file should be checked-in to your code repository and special care should be taken to make the project file machine and platform independent. The classpath in the project should reflect the same set of JARs as the ones used by your build system. This is not that difficult to maintain, but it is crucial that each developer uses both Eclipse and the build system before checking-in his/her changes.</p>
<p>One more note. In addition to the plugins outlined in Paul’s article there are a few more interesting plugins that can help you get a different view of your code. One such plugins is <a href="http://www.integility.com/simian_ui" target="_blank" title="Simian">Simian</a>. You can follow the following steps to download and install Simian:</p>
<ol>
<li>
<div>From the Help menu in Eclipse, select Software Updates | Find and Install.</div>
</li>
<li>
<div>Select Search for new features to install and click Next</div>
</li>
<li>
<div>Click New Remote Site. In the dialog enter the name Integility and the URL <a href="http://www.integility.com/eclipse">http://www.integility.com/eclipse</a> then click OK</div>
</li>
<li>
<div>Ensure that the Integility entry in the list is ticked then click Next.</div>
</li>
<li>
<div>Select the latest version of the Simian UI feature and click Next.</div>
</li>
<li>
<div>Review the license agreement and (if you agree to) accept it and click Next.</div>
</li>
<li>
<div>Choose the install location, this will usually be your main Eclipse directory. Click Finish.</div>
</li>
<li>
<div>After downloading, Eclipse will show a warning about unsigned code. Click Install if you wish to proceed with installation.</div>
</li>
<li>
<div>Restart the workbench when prompted.</div>
</li>
</ol>
<p>Another interesting plugin is the <a href="http://sourceforge.net/projects/cap4e/" target="_blank" title="CAP">Code Analysis Plugin</a> (CAP). It features:<img align="left" alt="statsChart small" height="251" hspace="15" src="http://www.jacoozi.com/blog/wp-content/uploads/2007/01/statschart_small.gif" vspace="5" width="161"/></p>
<div dir="ltr" style="margin-left: 8em;">
<ul>
<ul>
<ul>
<li>
<div style="margin-right: 0px;">Data visualization</div>
</li>
<li>
<div>Package and class dependency analysis</div>
</li>
<li>
<div>Look and try to identifies weakness in the architecture</div>
</li>
<li>
<div>Analyze OO attributes such as:</div>
<ul>
<li>
<div>Encapsulation</div>
</li>
<li>
<div>Architecture</div>
</li>
<li>
<div>Package structure</div>
</li>
<li>
<div>Reusability</div>
</li>
<li>
<div>Maintainability</div>
</li>
</ul>
</li>
<li>
<div>Extendable (extend with your own plugins)</div>
</li>
</ul>
</ul>
</ul>
</div></div>
    </content>
    <updated>2007-01-11T22:03:54Z</updated>
    <published>2007-01-11T22:03:54Z</published>
    <category term="Eclipse"/>
    <author>
      <name>levent.gurses</name>
    </author>
    <source>
      <id>http://www.redblack3.com/blog</id>
      <link href="http://www.redblack3.com/blog" rel="alternate" type="text/html"/>
      <link href="http://www.jacoozi.com/blog/?feed=atom&amp;cat=3" rel="self" type="application/atom+xml"/>
      <rights xml:lang="en">Copyright 2010</rights>
      <subtitle xml:lang="en">Optimizing Software Development</subtitle>
      <title xml:lang="en">The Software Management Blog</title>
      <updated>2010-02-21T01:58:34Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-8961244137441386311.post-9036973092486982132</id>
    <link href="http://amha-en.blogspot.com/feeds/9036973092486982132/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=8961244137441386311&amp;postID=9036973092486982132" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/8961244137441386311/posts/default/9036973092486982132" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/8961244137441386311/posts/default/9036973092486982132" rel="self" type="application/atom+xml"/>
    <link href="http://amha-en.blogspot.com/2007/01/swt-picture-reflect.html" rel="alternate" type="text/html"/>
    <title>Swt picture reflect</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">I am  a big fan of Romain Guy and i  really like the swing demo he provides.<br/>So today i tried to write the SWT equivalent to its <a href="http://jroller.com/page/gfx/?anchor=cool_utility_classes_for_swingx">swing reflection.</a><br/>Since the SWT GC is not as advanced then the swing/java2d i could not use the alpha gradient like him.<br/>Anyway using tips described in the <a href="http://www.eclipse.org/articles/Article-SWT-images/graphics-resources.html#Different%20alpha%20value%20per%20pixel">SWT image article</a> it was quite easy.<br/><br/><div style="text-align: center;"><a href="http://3.bp.blogspot.com/_gMDsSNM_1h8/RaI6uKBS28I/AAAAAAAAAAM/7sR05I1V70E/s1600-h/reflect.jpg"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5017637499482332098" src="http://3.bp.blogspot.com/_gMDsSNM_1h8/RaI6uKBS28I/AAAAAAAAAAM/7sR05I1V70E/s320/reflect.jpg" style="cursor: pointer;"/></a><div style="text-align: left;"><br/></div></div>In fact it work with black background but if i change background color the result is buggy.<br/><br/><a href="http://2.bp.blogspot.com/_gMDsSNM_1h8/RaI8t6BS29I/AAAAAAAAAAU/sNdlQ5-LH1M/s1600-h/reflect_bug.jpg"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5017639694210620370" src="http://2.bp.blogspot.com/_gMDsSNM_1h8/RaI8t6BS29I/AAAAAAAAAAU/sNdlQ5-LH1M/s320/reflect_bug.jpg" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;"/></a><br/>If there is an SWT image expert in the room, help will be appreciated.<br/><br/>Source code is <a href="http://m.muller.free.fr/blog/reflect/PictureReflect.java">here</a>, webstart demo is on its way...<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/8961244137441386311-9036973092486982132?l=amha-en.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2007-01-08T13:04:32Z</updated>
    <published>2007-01-08T12:22:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="SWT"/>
    <author>
      <name>Mathias Muller</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/12978769259909209659</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-8961244137441386311</id>
      <author>
        <name>Mathias Muller</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/12978769259909209659</uri>
      </author>
      <link href="http://amha-en.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/8961244137441386311/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://amha-en.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>Java, Eclipse, Swt musing</subtitle>
      <title>AMHA</title>
      <updated>2010-06-07T20:04:07Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-9096908760122896389.post-150187068393345429</id>
    <link href="http://mistralzonline.blogspot.com/feeds/150187068393345429/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=9096908760122896389&amp;postID=150187068393345429" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/9096908760122896389/posts/default/150187068393345429" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/9096908760122896389/posts/default/150187068393345429" rel="self" type="application/atom+xml"/>
    <link href="http://mistralzonline.blogspot.com/2006/12/update-manager-and-rcp.html" rel="alternate" type="text/html"/>
    <title>The Update Manager and the RCP</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Two days ago I needed to create a small demo of updating an RCP application using the Update Manager as a part of the presentation I was doing on Eclipse technology. The point was to show how easy it is to update an existing application by downloading a new feature from the update site.<br/><br/>Since the point of the demo was the update process, I chose a simple plugin example called the "Intro". For a "new feature" that will be added, I wrote a small plugin that contributes a single menu item that would appear after the update is performed. When clicked, it displays a message box that declares that the demo has succeeded. Nothing fancy, but it illustrates the point.<br/><br/>All went well for a while. I used a nice <a href="http://www.eclipse.org/articles/Article-Update/keeping-up-to-date.html">tutorial</a> to create an update site, at this point as a local directory, and published there my new feature. I also manually contributed a "Software Updates" submenu (the "Help" menu already existed in the example) and delegated the operation to the UpdateManager class as demonstrated in this <a href="http://www.eclipsecon.org/2005/presentations/EclipseCon2005_Tutorial8.pdf">article</a> (.pdf).<br/><br/>And then the problem began. I would not install my feature. Whenever I checked my feature on the update site, and error status would float up declaring that "Resulting configuration does not contain the platform." Mmm, that's strange. Last time I checked the platform was alright...<br/><br/>Not having a clue what that meant, I tried to Google my way out of it, but it did not work out very well. A first search discovered that this specific error is either very rare, or extremely unpopular. In any case I did not find a quick fix, nor after hours of playing with configuration, adding and removing plugins from features and dependencies. It just would not install my feature.<br/><br/>I will make the long story short. I really should have read my tutorials thoroughly. In the <a href="http://www.eclipse.org/articles/Article-RCP-1/tutorial1.html">RCP tutorial</a> is clearly says that "If your product needs automatic update, then eventually you should convert it to use features." And I didn't even look in this tutorial since I thought <a href="http://www.eclipse.net/~srudy/flw/flw0250.html">I know what I'm doing</a>.<br/><br/>Well, when I converted my RCP to use features instead of plugins the update finally succeeded. As an extra "bonus", since I included platform and RCP features, I have received the "Search" and "Run" menus, as well as another "Software Updates" submenu. Now I had two update menus when I only needed one and two additional menus I did not need at all! I was able to get rid of the search menu by removing the search plugin and I also removed my "update" menu contribution. I have decided to leave the "Run" menu and not waste time on removing it programmatically. I hope <a href="http://wiki.eclipse.org/index.php/Menu_Item_Placement_Examples#Product_removes_the_Project_menu">it will be easier in 3.3</a> :)<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/9096908760122896389-150187068393345429?l=mistralzonline.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2006-12-20T19:45:52Z</updated>
    <published>2006-12-20T14:51:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="RCP"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="eclipse"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="feature"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="update"/>
    <author>
      <name>Alex Romanov</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/12199225198996163813</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-9096908760122896389</id>
      <author>
        <name>Alex Romanov</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/12199225198996163813</uri>
      </author>
      <link href="http://mistralzonline.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/9096908760122896389/posts/default/-/eclipse" rel="self" type="application/atom+xml"/>
      <link href="http://mistralzonline.blogspot.com/search/label/eclipse" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>featuring Eclipse And Usability</subtitle>
      <title>On Everything And Nothing In Particular</title>
      <updated>2010-05-21T00:09:01Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-22488470.post-116306459468985891</id>
    <link href="http://philipptiedt.blogspot.com/feeds/116306459468985891/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=22488470&amp;postID=116306459468985891" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/22488470/posts/default/116306459468985891" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/22488470/posts/default/116306459468985891" rel="self" type="application/atom+xml"/>
    <link href="http://philipptiedt.blogspot.com/2006/11/eclipse-history-podcasts.html" rel="alternate" type="text/html"/>
    <title>Eclipse History Podcasts</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">During the last couple of days I have learned a lot about the history of the Eclipse Project. There is actually more on the web then I expected to find.<br/><br/>Now, John Kellerman pointed me to 2 really interesting Podcasts on Eclipse history. Check them out at IBM developerworks.<br/><br/><a href="http://www-128.ibm.com/developerworks/podcast/dwi/cm-int052406.html">Part 1</a><br/><a href="http://www-128.ibm.com/developerworks/podcast/dwi/cm-int053106.html">Part 2</a><div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/22488470-116306459468985891?l=philipptiedt.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2006-11-09T09:29:54Z</updated>
    <published>2006-11-09T09:21:00Z</published>
    <author>
      <name>Philipp</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/16971943472403434091</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-22488470</id>
      <author>
        <name>Philipp</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/16971943472403434091</uri>
      </author>
      <link href="http://philipptiedt.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/22488470/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://philipptiedt.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <title>Philipp's Eclipse and Java blog</title>
      <updated>2010-04-08T01:33:30Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-19277826.post-113658336670720676</id>
    <link href="http://eclipse-desudation.blogspot.com/feeds/113658336670720676/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=19277826&amp;postID=113658336670720676" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/19277826/posts/default/113658336670720676" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/19277826/posts/default/113658336670720676" rel="self" type="application/atom+xml"/>
    <link href="http://eclipse-desudation.blogspot.com/2006/01/my-key-bindings-dont-work.html" rel="alternate" type="text/html"/>
    <title>My Key Bindings Don't Work</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">In 3.2 M4, some of you may have noticed that some of your key bindings weren't working as you would expected.  This was entirely my fault.  I was fiddling with converting the old action-based extension points into a pure command representation.  So now, even actions without an action definition id will get a command automatically generated.  This is great fun, but it led to some conflicts between handlers.  This should be fixed in I20060110-0800 and later.<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/19277826-113658336670720676?l=eclipse-desudation.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2006-10-18T12:40:47Z</updated>
    <published>2006-01-06T21:28:00Z</published>
    <author>
      <name>desudation</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/13194961248414387789</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-19277826</id>
      <author>
        <name>desudation</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/13194961248414387789</uri>
      </author>
      <link href="http://eclipse-desudation.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/19277826/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://eclipse-desudation.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Eclipse, Platform/UI<br/>
commands, contexts, contributions, editor management, key bindings, builds</div>
      </subtitle>
      <title>desudation - eclipse</title>
      <updated>2010-06-06T14:36:59Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-19277826.post-113416444756448159</id>
    <link href="http://eclipse-desudation.blogspot.com/feeds/113416444756448159/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=19277826&amp;postID=113416444756448159" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/19277826/posts/default/113416444756448159" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/19277826/posts/default/113416444756448159" rel="self" type="application/atom+xml"/>
    <link href="http://eclipse-desudation.blogspot.com/2005/12/linkability-and-commands.html" rel="alternate" type="text/html"/>
    <title>Linkability and Commands</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">I've spent a fair amount of time in the past few weeks talking with Christopher Daly in Beaverton.  We're working on a way to integrate the cheatsheet linking mechanism with commands.  It looks like we will expand how parameterized commands work.  Currently, a parameter is just a string.  Our proposal is to provide a typing mechanism on parameters that allows us to convert the strings into objects (and vice versa).  This would allow someone, for example, to create handlers that work on domain-specific objects, rather than every handler needing to do some conversion on their own<span style="font-style: italic;"/>.  It would also allow someone to find all commands that work on a particular object type (e.g., all commands that take a java element as a parameter).<br/><br/>Commands and parameters are becoming remarkably similar to Java methods and parameters, except specified in XML.  The command definition becomes like an interface, which the handlers all must implement.  Then the binding is done dynamically at run-time based on the <span style="font-style: italic;">activeWhen</span> expression.  It's interesting because we can make our language different (i.e., more powerful) than the Java language.  Should we allow the type look-up to be more flexible (e.g., allow things like <span style="font-style: italic;">or</span> or <span style="font-style: italic;">adapt</span>)?<br/><br/>It also highlights some of the weaknesses of extensions as API.  As it stands right now, most ids defined in extensions become equivalent to API (e.g., view id, command id, editor id, etc.).  But there is no real means to provide documentation.  So, if the parameters for a command define an API contract, where does one put the documentation?<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/19277826-113416444756448159?l=eclipse-desudation.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2006-10-18T12:40:47Z</updated>
    <published>2005-12-09T21:19:00Z</published>
    <author>
      <name>desudation</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/13194961248414387789</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-19277826</id>
      <author>
        <name>desudation</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/13194961248414387789</uri>
      </author>
      <link href="http://eclipse-desudation.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/19277826/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://eclipse-desudation.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Eclipse, Platform/UI<br/>
commands, contexts, contributions, editor management, key bindings, builds</div>
      </subtitle>
      <title>desudation - eclipse</title>
      <updated>2010-06-06T14:36:59Z</updated>
    </source>
  </entry>

  <entry xml:lang="en-us">
    <id>http://www.ryanlowe.ca/blog/archives/001583_radrails_speeds_web_app_development.php</id>
    <link href="http://www.ryanlowe.ca/blog/archives/001583_radrails_speeds_web_app_development.php" rel="alternate" type="text/html"/>
    <title>"RadRails Speeds Web App Development"</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Martin Heller has written a product review on <a href="http://www.linuxinsider.com">LinuxInsider</a> about RadRails titled <a href="http://www.linuxinsider.com/story/8twHUvIcOv943V/RadRails-Speeds-Web-App-Development.xhtml">RadRails Speeds Web App Development</a>.  He goes over a lot of the features of RadRails that speed up development time on an already fast webapp development framework: <a href="http://www.rubyonrails.org">Ruby on Rails</a>.</p>

<p>What's most interesting is the audience: Linux programmers.  The <a href="http://www.eclipse.org">Eclipse</a> Rich Client Platform lets us simultaneously release RadRails for Windows, Linux and Mac OS X.  Ruby on Rails could end up being very big with webapp developers that use Linux -- and RadRails will be there waiting for them, with very little additional work from our team.</p></div>
    </summary>
    <updated>2006-10-02T18:42:50Z</updated>
    <category term="Eclipse"/>
    <source>
      <id>http://www.ryanlowe.ca/blog/</id>
      <author>
        <name>Ryan Lowe</name>
      </author>
      <link href="http://www.ryanlowe.ca/blog/" rel="alternate" type="text/html"/>
      <link href="http://www.ryanlowe.ca/blog/eclipse.xml" rel="self" type="application/rss+xml"/>
      <rights>Copyright 2010</rights>
      <title>~ryanlowe/blog: Eclipse</title>
      <updated>2010-03-19T13:22:02Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-32555248.post-115529187439201172</id>
    <link href="http://flo-eclipse.blogspot.com/feeds/115529187439201172/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=32555248&amp;postID=115529187439201172" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/32555248/posts/default/115529187439201172" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/32555248/posts/default/115529187439201172" rel="self" type="application/atom+xml"/>
    <link href="http://flo-eclipse.blogspot.com/2006/08/callisto-is-saving-our-world.html" rel="alternate" type="text/html"/>
    <title>Callisto is saving our world...</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Recently read an interesting post from Donald Smith <a href="http://eclipse-ecosystem.blogspot.com/2006/08/ecstasy-of-commons.html">here</a>.<br/><br/>"Ecstasy for the commons" ? Hmm... I'm note quite convinced.<br/><br/>Call me a bit pessimistic, but the idea of "Every time you caught a fish it magically created two more somewhere else" will not automagically lead to a better world.<br/>It will possibly lead to a world full of stinkin' fish ;-)<br/><br/>Think wikipedia: As long as there are more individuals that behave "ethical" (e.g. contribute), than those that only follow their own interests, it works.<br/>As soon as there's a "critical mass" of vandals (in a very broad manner) reached, quality will drop (hope this will never happen to wikipedia btw...).<br/><br/>Don't get me wrong, I'm a great supporter of the "open" ideas.<br/>I just want to say that I don't think we should think that open source software will automatically converge to high quality software because it's free, modifiable and<br/>many people use it.<br/><br/>That's why I love Callisto - it's saving our (eclipse) world ! :)<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/32555248-115529187439201172?l=flo-eclipse.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2006-08-11T10:25:11Z</updated>
    <published>2006-08-11T10:20:00Z</published>
    <author>
      <name>Florian</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/05086960241661002741</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-32555248</id>
      <author>
        <name>Florian</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/05086960241661002741</uri>
      </author>
      <link href="http://flo-eclipse.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/32555248/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://flo-eclipse.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <title>Some musings about eclipse, java and the whole rest...</title>
      <updated>2009-02-21T01:49:47Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-32555248.post-115528830434774091</id>
    <link href="http://flo-eclipse.blogspot.com/feeds/115528830434774091/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=32555248&amp;postID=115528830434774091" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/32555248/posts/default/115528830434774091" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/32555248/posts/default/115528830434774091" rel="self" type="application/atom+xml"/>
    <link href="http://flo-eclipse.blogspot.com/2006/08/welcome.html" rel="alternate" type="text/html"/>
    <title>Welcome...</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">While being a regular blog reader, I finally decided to step out of passivity and become active by myself.<br/><br/>I intend to write at irregular intervals about topics concerning Eclipse technologies, Java and other software related stuff that comes into my mind.<br/><br/>So please stop by from time to time and comment about my musings if you like.<br/><br/>cheers<br/>Florian<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/32555248-115528830434774091?l=flo-eclipse.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2006-08-11T09:25:04Z</updated>
    <published>2006-08-11T09:15:00Z</published>
    <author>
      <name>Florian</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/05086960241661002741</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-32555248</id>
      <author>
        <name>Florian</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/05086960241661002741</uri>
      </author>
      <link href="http://flo-eclipse.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/32555248/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://flo-eclipse.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <title>Some musings about eclipse, java and the whole rest...</title>
      <updated>2009-02-21T01:49:47Z</updated>
    </source>
  </entry>

  <entry xml:lang="en-us">
    <id>http://www.aspectprogrammer.org/blogs/adrian/2006/08/simplifying_ent.html</id>
    <link href="http://www.aspectprogrammer.org/blogs/adrian/2006/08/simplifying_ent.html" rel="alternate" type="text/html"/>
    <title>Simplifying Enterprise Applications with Spring 2.0 and AspectJ</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Some of you may not have caught up with <a href="http://www.infoq.com">InfoQ</a> yet :- it's a great site for community news and articles concerning enterprise development (it's not restricted to just Java: I like seeing ideas from other communities too). Anyway, I wrote an article for the site which has just gone live:  <a href="http://www.infoq.com/news/Spring-AspectJ-AOP">Simplifying Enterprise Applications With Spring 2.0 and AspectJ</a>. So far the feedback has been very positive so thanks to all who have responded.</p>

<p>I've heard a number of people saying that "AOP is too hard", or "AOP makes things too complex". In a way this article was written as a rebuttal of those views (hence the title, "<b>Simplifying</b> Enterprise Application Development"). I mean, the whole point of AOP is that you take software that was getting complex and tangled up, and you simplify the implementation by giving each module a single responsiblity again by introducing aspects. And then of course for some requirements that are naturally expressed in a crosscutting way, it's much simpler and easier just to implement them with an aspect in the first place. The article shows how this process works, and lays out an adoption roadmap that counters the "AOP is too hard" argument - at each step along the way you can get a lot of value without having to become an AOP guru.</p> 

<p>It's also a good introduction to the facilities offered by Spring AOP in the Spring 2.0 release.</p></div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Some of you may not have caught up with <a href="http://www.infoq.com">InfoQ</a> yet :- it's a great site for community news and articles concerning enterprise development (it's not restricted to just Java: I like seeing ideas from other communities too). Anyway, I wrote an article for the site which has just gone live:  <a href="http://www.infoq.com/news/Spring-AspectJ-AOP">Simplifying Enterprise Applications With Spring 2.0 and AspectJ</a>. So far the feedback has been very positive so thanks to all who have responded.</p>

<p>I've heard a number of people saying that "AOP is too hard", or "AOP makes things too complex". In a way this article was written as a rebuttal of those views (hence the title, "<b>Simplifying</b> Enterprise Application Development"). I mean, the whole point of AOP is that you take software that was getting complex and tangled up, and you simplify the implementation by giving each module a single responsiblity again by introducing aspects. And then of course for some requirements that are naturally expressed in a crosscutting way, it's much simpler and easier just to implement them with an aspect in the first place. The article shows how this process works, and lays out an adoption roadmap that counters the "AOP is too hard" argument - at each step along the way you can get a lot of value without having to become an AOP guru.</p> 

<p>It's also a good introduction to the facilities offered by Spring AOP in the Spring 2.0 release.</p></div>
    </content>
    <updated>2006-08-10T08:24:53Z</updated>
    <source>
      <id>http://www.aspectprogrammer.org/blogs/adrian/</id>
      <author>
        <name>Adrian Colyer</name>
      </author>
      <link href="http://www.aspectprogrammer.org/blogs/adrian/" rel="alternate" type="text/html"/>
      <link href="http://www.aspectprogrammer.org/blogs/adrian/index.xml" rel="self" type="application/rss+xml"/>
      <rights>Copyright 2010</rights>
      <subtitle>Adrian Colyer's Weblog - a general discussion on all things related to aspects, aspect-oriented programming, AspectJ, and AJDT.</subtitle>
      <title>The Aspects Blog</title>
      <updated>2010-05-31T17:01:38Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-30582414.post-115503962392021120</id>
    <link href="http://mpermar.blogspot.com/feeds/115503962392021120/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=30582414&amp;postID=115503962392021120" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/30582414/posts/default/115503962392021120" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/30582414/posts/default/115503962392021120" rel="self" type="application/atom+xml"/>
    <link href="http://mpermar.blogspot.com/2006/08/changing-job-home-country-everything.html" rel="alternate" type="text/html"/>
    <title>Changing job, home, country, everything...</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">I'm a bit unactive right now. Until now my excuse was my recently taken vacations in Belgium and Holland. But now I have an excuse even better!!<br/><br/>I have a new job. From the August 21 I will be working in Dublin, Ireland for a top vendor financial company. The job is with J2EE and seems really exciting. I'm really looking forward to start this new career. Since five years ago I didn't have that feeling when you are desiring to go to your job, meet new colleagues, learn new technologies, business models, etc. In summary, I think that for me this is like a rebirth. <br/><br/>BTW, it would be great to meet any reader from this blog, or any other people interested in Java, J2EE, Eclipse, jLibrary :-), web services, etc. I will have to start looking for Java and Eclipse communities near the surrounding area. Now that I'm going to live in a big city I want to take this opportunity to learn as much as possible. <br/><br/>In the next weeks I will be looking for a home and settling in my new job, so this blog would be probably a bit innactive.<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/30582414-115503962392021120?l=mpermar.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2006-08-08T12:20:23Z</updated>
    <published>2006-08-08T12:11:00Z</published>
    <author>
      <name>Martín</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/04196591517428959128</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-30582414</id>
      <author>
        <name>Martín</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/04196591517428959128</uri>
      </author>
      <link href="http://mpermar.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/30582414/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://mpermar.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://www.blogger.com/feeds/30582414/posts/default?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <title>Martin Perez's weblog</title>
      <updated>2010-03-26T17:54:08Z</updated>
    </source>
  </entry>

  <entry xml:lang="en-us">
    <id>http://www.ryanlowe.ca/blog/archives/001570_radrails_07_is_out.php</id>
    <link href="http://www.ryanlowe.ca/blog/archives/001570_radrails_07_is_out.php" rel="alternate" type="text/html"/>
    <title>RadRails 0.7 is out</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>We released <a href="http://www.radrails.org">RadRails</a> 0.7.0 this week and it's the first version of RadRails we built with the <a href="http://ant.apache.org">Ant</a> scripts I contributed.  RadRails is an <a href="http://www.eclipse.org">Eclipse</a>-based <a href="http://www.rubyonrails.org">Ruby on Rails</a> IDE.</p>

<p>Apparently Eclipse 3.2 couldn't export RadRails any more (the old deployment method) so the scripts were rushed into action and I managed to get up to speed relatively quickly with only a few minor errors to fix in the scripts.</p>

<p>The next step is to get RadRails building nightly on a build machine and then running a test suite as well.  My main priority is making sure RadRails' deployment story is solid so that we can deliver a solid product.  Then I'm going to be contributing new features and bugfixes.</p>

<p>One thing that people seem to forget: RadRails isn't even 1.0 yet.  It's still under heavy development, new features are added all the time and it's probably about beta quality.  We want to keep it usable so people can use it to do work, of course, but bugs are going to happen and they'll be fixed in the following releases if you let us know about them.  :)  Please report any bugs you find either on <a href="http://trac.radrails.org/trac">our trac database</a> or on IRC (freenode <code>#radrails</code>).</p>

<p>When a regression test suite is in place the number of bugs in releases will probably be reduced.  We also want to post integration builds so that people can test them before we make an official release.  All of these things will help make RadRails an even better Ruby on Rails IDE than it is now.</p>

<p>For more details on the release <a href="http://www.radrails.org/blog/show/82">see the RadRails blog</a> and listen to the <a href="http://feeds.feedburner.com/RadRails">podcast</a>.</p>

<p>For more information on the RadRails build scripts I created, see my post <a href="http://www.ryanlowe.ca/blog/archives/001549_building_radrails_with_ant.php">Building RadRails with Ant</a>.</p></div>
    </summary>
    <updated>2006-07-28T23:08:23Z</updated>
    <category term="Eclipse"/>
    <source>
      <id>http://www.ryanlowe.ca/blog/</id>
      <author>
        <name>Ryan Lowe</name>
      </author>
      <link href="http://www.ryanlowe.ca/blog/" rel="alternate" type="text/html"/>
      <link href="http://www.ryanlowe.ca/blog/eclipse.xml" rel="self" type="application/rss+xml"/>
      <rights>Copyright 2010</rights>
      <title>~ryanlowe/blog: Eclipse</title>
      <updated>2010-03-19T13:22:02Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-28446986.post-115331528240250836</id>
    <link href="http://www.blogger.com/feeds/28446986/posts/default/115331528240250836" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/28446986/posts/default/115331528240250836" rel="self" type="application/atom+xml"/>
    <link href="http://scribbledideas.blogspot.com/2006/07/label-decorators-in-common-navigator.html" rel="alternate" type="text/html"/>
    <title>Label Decorators in a Common Navigator Framework viewer</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><span style="font-family: verdana;">I just posted these comments elsewhere on label decorators, and thought they might be useful to the general audience for the Common Navigator Framework.</span><br/><br/><span style="font-family: verdana;">If you check out</span><span style="font-family: verdana;"> the <a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.ui.tests.navigator/">org.eclipse.ui.tests.navigator</a> plugin </span><span style="font-family: verdana;">from </span><span style="font-family: verdana;">Eclipse CVS <a href="http://dev.eclipse.org/viewcvs/index.cgi/">repository</a>, </span><span style="font-family: verdana;"> there's a simple example of using a lightweight decorator there.</span><span style="font-family: verdana;"> (There are <a href="http://wiki.eclipse.org/index.php/CVS_Howto">instructions</a> on using Eclipse with CVS, which also <a href="http://wiki.eclipse.org/index.php/CVS_Howto#CVS_Repository_Paths">documents</a> the repository paths.)</span><br/><br/><span style="font-family: verdana;">The extension looks like:</span><br/><table border="1"><tbody><tr><td><pre>&lt;!-- Verify decorator extension: Adds "&gt;&gt;" to Test Items that end in "3" --&gt;<br/>&lt;extension point="<span style="font-weight: bold;">org.eclipse.ui.decorators</span>"&gt;<br/>&lt;decorator <span style="font-weight: bold;">class="org.eclipse.ui.tests.navigator.extension.TestLabelDecorator"</span><br/> id="org.eclipse.ui.tests.navigator.threeDecorator"<br/> label="Items that end in 3 decorator"<br/> lightweight="false"<br/> state="true"&gt;<br/>&lt;<span style="font-weight: bold;">enablement</span>&gt;<br/> &lt;objectclass<br/>     name="org.eclipse.ui.tests.navigator.extension.TestExtensionTreeData" /&gt;<br/>&lt;/<span style="font-weight: bold;">enablement</span>&gt;<br/>&lt;/decorator&gt;<br/>&lt;/extension&gt; </pre></td></tr></tbody></table><span style="font-family: verdana;">And the type must implement ILabelDecorator:</span><br/><br/><table border="1"><tbody><tr><td><br/><span style="font-family: courier new;">import org.eclipse.jface.viewers.ILabelDecorator;</span><br/><span style="font-family: courier new;">import org.eclipse.jface.viewers.ILabelProviderListener;</span><br/><br/><span style="font-family: courier new;">public class TestLabelDecorator implements ILabelDecorator </span><br/></td></tr></tbody></table><span style="font-family: verdana;">There's an <a href="http://wiki.eclipse.org/index.php/FAQ_How_do_I_create_a_label_decorator_declaratively%3F">FAQ</a> on label decorators, as well</span><span style="font-family: verdana;"> as an <a href="http://www.eclipse.org/articles/Article-Decorators/decorators.html">article </a>with more detail. Right off, I don't think this topic would merit a full article in this series on contributing label decorators to Common Navigator Framework viewers, so if you think there's enough need out there, chime in! </span><div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/28446986-115331528240250836?l=scribbledideas.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2006-07-19T13:21:22Z</updated>
    <published>2006-07-19T13:03:00Z</published>
    <author>
      <name>Michael D. Elder</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/03856327413506018439</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-28446986</id>
      <author>
        <name>Michael D. Elder</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/03856327413506018439</uri>
      </author>
      <link href="http://scribbledideas.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/28446986/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://scribbledideas.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>An engagement in the online discussions around open source, Eclipse, and other random musings.</subtitle>
      <title>Digital Paper Napkin</title>
      <updated>2009-05-13T15:14:21Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-28446986.post-115318906425202555</id>
    <link href="http://www.blogger.com/feeds/28446986/posts/default/115318906425202555" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/28446986/posts/default/115318906425202555" rel="self" type="application/atom+xml"/>
    <link href="http://scribbledideas.blogspot.com/2006/07/boxing-and-bourbon-scapa-kentucky.html" rel="alternate" type="text/html"/>
    <title>Boxing and Bourbon - Scapa, Kentucky Spirit, and Ol' Pappy!</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><span style="font-family: verdana;">When I started this blog, I said I'd review a scotch or bourbon and a cigar from time to time. I've been churning out CNF articles for the last couple of months and I've neglected that part of the original vision for the blog. But I digress.<br/><br/><br/><a href="http://photos1.blogger.com/blogger/5251/3014/1600/Scapa14.gif"><img alt="" border="0" src="http://photos1.blogger.com/blogger/5251/3014/320/Scapa14.png" style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;"/></a>Over the last couple of weeks, I've had the chance to enjoy some very tasty beverages. But before I get into that, I'd like to throw out a much belated thanks to the good folks over at <a href="http://www.scapatech.com/home.html" style="font-family: verdana;">Scapa Technologies</a>. At the last <a href="http://www.eclipsecon.org/2006/Home.do">EclipseCon</a>, through the bequest of a friendly WTP PMC member, I was fortunate enough to end up with one of the bottles of <a href="http://www.whisky-distilleries.info/Scapa_EN.shtml">Scapa</a> 14yr that they brought along. Scapa is an Orkney Islands scotch that's hard to come by in my neck of the woods. I've had the Scapa 12yr before though, and I have to say that it goes great with a good steak -- particularly a ribeye or prime rib. I've always thought it had a nice honey with a hint of vanilla flavor that's different from the more peaty or smokey scotches. It also goes very well with any medium to full bodied cigar.<br/><br/><a href="http://photos1.blogger.com/blogger/5251/3014/1600/kentuckyspririt.jpg"><img alt="" border="0" src="http://photos1.blogger.com/blogger/5251/3014/320/kentuckyspririt.jpg" style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;"/></a>At least once or twice a week, I catch up with a friend of mine to <a href="http://www.hbo.com/boxing/">catch</a> <a href="http://sports.espn.go.com/sports/tvlistings/story?id=1397056">the</a> <a href="http://sports.espn.go.com/sports/boxing/index">fights</a>. The past two weeks have been pretty decent boxing matches, but particularly good for bourbon.<br/><br/>If you're looking to try something a little more full bodied than your average bourbon, without quite the taming that an aged bourbon undergoes, check out the <a href="http://www.whiskymag.com/whisky/brand/wild_turkey/whisky323.html"><span style="font-style: italic;">Wild Turkey Kentucy Spirit</span></a>. The flavor is full enough to be compared to the 10 year <span style="font-style: italic;">Wild Turkey Russell Reserve</span>, but still has a nice ruggedness like a straight up <span style="font-style: italic;">Wild Turkey 101</span>. Each <span style="font-style: italic;">Kentucky Spirit</span> bottle is individually labeled with the warehouse, row, barrell, and date of bottling. Each barrell is hand selected by <a href="http://www.wildturkeybourbon.com/nest/jimmy.asp">Jimmy Russell</a>, the master distiller of <a href="http://en.wikipedia.org/wiki/Austin,_Nichols">Austin Nichols</a>.<br/><br/><a href="http://www.oldripvanwinkle.com/newbs/vw/website3.nsf/files/C_20yr90pBottle.jpg/$FILE/C_20yr90pBottle.jpg"><img alt="" border="0" height="280" src="http://www.oldripvanwinkle.com/newbs/vw/website3.nsf/files/C_20yr90pBottle.jpg/$FILE/C_20yr90pBottle.jpg" style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" width="90"/></a><br/>And finally, the week before last, I was lucky enough to try Some <a href="http://www.oldripvanwinkle.com/newbs/vw/website3.nsf/docsbykey/HNEY-5FFM32?opendocument">Pappy Van Winkles 20yr</a>. This really was a cut above just about any other bourbon that I've had. It's very smooth, but still has a nice little afterburn. I would describe the flavor as having the hint of butterscotch on the aftertaste, which was unique among the bourbons I've had before. This is another of the many fine tasty beverages not available in my local area, although there is one savvy local <a href="http://www.sunsetgrilledurham.com/">establishment</a> that carries the <a href="http://www.oldripvanwinkle.com/newbs/vw/website3.nsf/docsbykey/HNEY-65GK63?opendocument">Pappy Van Winkle's 15yr</a>, which is great -- but the extra 5 years on the 20yr really makes a difference!<br/><br/>Well, I think that's about all I have to add on this topic for now. In my next Boxing and Bourbon post, I'll cover a few cigars that I've had recently -- both new and old favorites. <br/><br/></span><br/>* The image of Pappy Van Winkles was linked to from their website. The other two images were my own.<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/28446986-115318906425202555?l=scribbledideas.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2006-07-18T02:48:27Z</updated>
    <published>2006-07-18T01:43:00Z</published>
    <author>
      <name>Michael D. Elder</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/03856327413506018439</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-28446986</id>
      <author>
        <name>Michael D. Elder</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/03856327413506018439</uri>
      </author>
      <link href="http://scribbledideas.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/28446986/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://scribbledideas.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>An engagement in the online discussions around open source, Eclipse, and other random musings.</subtitle>
      <title>Digital Paper Napkin</title>
      <updated>2009-05-13T15:14:21Z</updated>
    </source>
  </entry>

  <entry xml:lang="en-us">
    <id>http://www.aspectprogrammer.org/blogs/adrian/2006/06/when_falsetrue.html</id>
    <link href="http://www.aspectprogrammer.org/blogs/adrian/2006/06/when_falsetrue.html" rel="alternate" type="text/html"/>
    <title>When false==true : JVM bugs and (byte)code generation strategies</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p><i>Update: the JRockit team gave outstanding service on this issue, and found and fixed the bug in their VM within 24 hours of it being
reported. The code generated by AspectJ has also been tweaked so that it does not trigger the bug on VMs that do not have the patch.</i></p>

<p>We had a bug reported on the aspectj mailing list this week, in which a simple program returning a boolean value would return "true" when the code clearly said to return "false". Oh, and this only happens when running on the JRockit VM.  
</p>

<p>They say variety is the spice of life. This time last week I was just about to deliver a keynote at the SpringOne conference on the vision for the future directions of the Spring framework. One week on, and I've just finished an in-depth investigation into our bytecode generation strategies and their effect on the JRockit VM. A detailed write-up of the issue, my investigations into the situation, and the eventual resolution are documented in the AspectJ bug report that you can read here: <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=148007">148007</a>. The episode raises a number of interesting discussion points.</p>

<p>Firstly, it's interesting to see how different compilers generate code for the same or very similar Java program. In the bug report you'll see the difference between javac and the jdt compiler in compiling a very simple method (the jdt compiler varies again if you don't pass the -inlineJSR flag). There are many valid strategies for compiling program instructions into bytecode.</p>

<p>Secondly, VMs can have bugs in them (and so can compilers!). It sounds so obvious when stated, and you should certainly always be 
suspicious of your own code when something is not behaving as expected, but many people don't realize just how sophisticated (and hence complex) a modern JVM is.</p>

<p>Often the bugs are in corner cases. For example, I found and fixed a bug in the AspectJ compiler earlier this week in which an abstract generic aspect with a type parameter or paremeters that specify upper bounds, extended by an abstract generic sub-aspect that also specifies a type parameter with an upper bound and binds the super-aspect type parameter to it, could trigger a compiler message saying that the sub-aspect's type parameter did not satisfy the bounds of the super-aspect parameter, when in fact it did. The bug I'm discussing in this blog entry is significant because it's so near the mainline code path.</p>

<p>In essence, some perfectly legal and simple code strategies for compiling a method that looks like this:</p>

<blockquote>
<pre>private boolean invert() {
  try {
     return !isTrue();
  }
  finally {
     SomeType.doSomething(); 
  }
}

private boolean isTrue() {
  return true;
}
</pre>
</blockquote>

<p>cause the JRockit VM (1.4.2_08, as used in WLS 8, I haven't tried in the 1.5 JRockit VMs) to return "true" from the invert method - when
clearly it should return "false". This is one of those horrible category of bugs that just silently do the wrong thing (if the JVM were to crash, it would be much better in this case). Note that the set of circumstances needed to reproduce the bug are still relatively narrow :- must return boolean not Boolean, the negation is needed, the finally or some similar block is also needed.</p><p>

</p><p>The situation is not quite as simple as the code I've shown above, because the real bug report involved an aspect. So the program code was:</p>

<blockquote>
<pre>// in some class

private boolean invert() {
   return !isTrue();
}

private boolean isTrue() {
  return true;
}

// compiled with aspect
public aspect AnAspect {

  after() : execution(* invert()) {}

}
</pre>
</blockquote>

<p>which the weaver translates into a program that looks like the first example I gave (note that I'm discussing implementation details here, not language semantics).</p>

<p>So the third interesting point - and the key lesson for any of the many projects springing up that use class file transformers, asm, cglib, or any other bytecode transforming tool. You always want to generate code that looks as close as possible to the code that javac would generate in the same situation. Even if you are generating perfectly legal bytecodes, straying too far from the javac path can uncover bugs in VMs. This is what was happening in the case under discussion - AspectJ was generating a bytecode sequence (perfectly legal) that looked subtly different from what javac would do. Enough to trigger what seems to be some kind of stack corruption bug in JRockit. (Remember that the same code works perfectly on every other VM we've tried). If you're writing, say, an ORM tool, you need to know  
not just the SQL dialects and semantics of the various databases, but also all of the undocumented bugs and quirks that you need to work around. It's the same if you're doing any compilation or bytecode generation for the JVM - you need to know and work around all the little quirks and bugs in the various VMs. Coder beware!</p>

<p>So finally, let me finish up with a plug for AspectJ. If you need to advise types in some way, AspectJ offers a programming model with a much better level of abstraction than writing your own transformers at the bytecode level. You're not restricted to forcing users to work with AspectJ directly - we offer classloader and class file transformer integration too. You'll be more productive using the AspectJ programming model, and you'll benefit from a compiler/weaver that's being widely used and works around known VM bugs etc.. (The bug  report that triggered me to write this entry was very exceptional, and the AspectJ compiler now generates code that avoids the JRockit bug (good news for those using WebLogic Server)).</p>
<p>There's one more good reason for building on AspectJ - AspectJ has  well-defined semantics for what happens when you weave types with one set of aspects, and then weave again with a second set. This mirrors for example the scenario where two class file transformers from different third parties are used in conjunction. If you don't build on top of something that offers this kind of semantic guarantee, what exactly is supposed to happen when your class file transformer is used in conjunction with someone elses? The semantics can only be "undefined" - which doesn't seem a good deal for users or for vendors...</p></div>
    </summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p><i>Update: the JRockit team gave outstanding service on this issue, and found and fixed the bug in their VM within 24 hours of it being
reported. The code generated by AspectJ has also been tweaked so that it does not trigger the bug on VMs that do not have the patch.</i></p>

<p>We had a bug reported on the aspectj mailing list this week, in which a simple program returning a boolean value would return "true" when the code clearly said to return "false". Oh, and this only happens when running on the JRockit VM.  
</p>

<p>They say variety is the spice of life. This time last week I was just about to deliver a keynote at the SpringOne conference on the vision for the future directions of the Spring framework. One week on, and I've just finished an in-depth investigation into our bytecode generation strategies and their effect on the JRockit VM. A detailed write-up of the issue, my investigations into the situation, and the eventual resolution are documented in the AspectJ bug report that you can read here: <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=148007">148007</a>. The episode raises a number of interesting discussion points.</p>

<p>Firstly, it's interesting to see how different compilers generate code for the same or very similar Java program. In the bug report you'll see the difference between javac and the jdt compiler in compiling a very simple method (the jdt compiler varies again if you don't pass the -inlineJSR flag). There are many valid strategies for compiling program instructions into bytecode.</p>

<p>Secondly, VMs can have bugs in them (and so can compilers!). It sounds so obvious when stated, and you should certainly always be 
suspicious of your own code when something is not behaving as expected, but many people don't realize just how sophisticated (and hence complex) a modern JVM is.</p>

<p>Often the bugs are in corner cases. For example, I found and fixed a bug in the AspectJ compiler earlier this week in which an abstract generic aspect with a type parameter or paremeters that specify upper bounds, extended by an abstract generic sub-aspect that also specifies a type parameter with an upper bound and binds the super-aspect type parameter to it, could trigger a compiler message saying that the sub-aspect's type parameter did not satisfy the bounds of the super-aspect parameter, when in fact it did. The bug I'm discussing in this blog entry is significant because it's so near the mainline code path.</p>

<p>In essence, some perfectly legal and simple code strategies for compiling a method that looks like this:</p>

<blockquote>
<pre>private boolean invert() {
  try {
     return !isTrue();
  }
  finally {
     SomeType.doSomething(); 
  }
}

private boolean isTrue() {
  return true;
}
</pre>
</blockquote>

<p>cause the JRockit VM (1.4.2_08, as used in WLS 8, I haven't tried in the 1.5 JRockit VMs) to return "true" from the invert method - when
clearly it should return "false". This is one of those horrible category of bugs that just silently do the wrong thing (if the JVM were to crash, it would be much better in this case). Note that the set of circumstances needed to reproduce the bug are still relatively narrow :- must return boolean not Boolean, the negation is needed, the finally or some similar block is also needed.</p><p>

</p><p>The situation is not quite as simple as the code I've shown above, because the real bug report involved an aspect. So the program code was:</p>

<blockquote>
<pre>// in some class

private boolean invert() {
   return !isTrue();
}

private boolean isTrue() {
  return true;
}

// compiled with aspect
public aspect AnAspect {

  after() : execution(* invert()) {}

}
</pre>
</blockquote>

<p>which the weaver translates into a program that looks like the first example I gave (note that I'm discussing implementation details here, not language semantics).</p>

<p>So the third interesting point - and the key lesson for any of the many projects springing up that use class file transformers, asm, cglib, or any other bytecode transforming tool. You always want to generate code that looks as close as possible to the code that javac would generate in the same situation. Even if you are generating perfectly legal bytecodes, straying too far from the javac path can uncover bugs in VMs. This is what was happening in the case under discussion - AspectJ was generating a bytecode sequence (perfectly legal) that looked subtly different from what javac would do. Enough to trigger what seems to be some kind of stack corruption bug in JRockit. (Remember that the same code works perfectly on every other VM we've tried). If you're writing, say, an ORM tool, you need to know  
not just the SQL dialects and semantics of the various databases, but also all of the undocumented bugs and quirks that you need to work around. It's the same if you're doing any compilation or bytecode generation for the JVM - you need to know and work around all the little quirks and bugs in the various VMs. Coder beware!</p>

<p>So finally, let me finish up with a plug for AspectJ. If you need to advise types in some way, AspectJ offers a programming model with a much better level of abstraction than writing your own transformers at the bytecode level. You're not restricted to forcing users to work with AspectJ directly - we offer classloader and class file transformer integration too. You'll be more productive using the AspectJ programming model, and you'll benefit from a compiler/weaver that's being widely used and works around known VM bugs etc.. (The bug  report that triggered me to write this entry was very exceptional, and the AspectJ compiler now generates code that avoids the JRockit bug (good news for those using WebLogic Server)).</p>
<p>There's one more good reason for building on AspectJ - AspectJ has  well-defined semantics for what happens when you weave types with one set of aspects, and then weave again with a second set. This mirrors for example the scenario where two class file transformers from different third parties are used in conjunction. If you don't build on top of something that offers this kind of semantic guarantee, what exactly is supposed to happen when your class file transformer is used in conjunction with someone elses? The semantics can only be "undefined" - which doesn't seem a good deal for users or for vendors...</p></div>
    </content>
    <updated>2006-06-22T09:02:00Z</updated>
    <category term="AspectJ"/>
    <source>
      <id>http://www.aspectprogrammer.org/blogs/adrian/</id>
      <author>
        <name>Adrian Colyer</name>
      </author>
      <link href="http://www.aspectprogrammer.org/blogs/adrian/" rel="alternate" type="text/html"/>
      <link href="http://www.aspectprogrammer.org/blogs/adrian/index.xml" rel="self" type="application/rss+xml"/>
      <rights>Copyright 2010</rights>
      <subtitle>Adrian Colyer's Weblog - a general discussion on all things related to aspects, aspect-oriented programming, AspectJ, and AJDT.</subtitle>
      <title>The Aspects Blog</title>
      <updated>2010-05-31T17:01:38Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-21109267.post-114532957492764223</id>
    <link href="http://shaunskelton.blogspot.com/feeds/114532957492764223/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=21109267&amp;postID=114532957492764223" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/21109267/posts/default/114532957492764223" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/21109267/posts/default/114532957492764223" rel="self" type="application/atom+xml"/>
    <link href="http://shaunskelton.blogspot.com/2006/04/wheres-code-filling.html" rel="alternate" type="text/html"/>
    <title>Where's the code filling?</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><div style="text-align: justify;"><span style="font-family: garamond;">Today I was having a problem trying to open a class file I knew the name of but not the project it belonged to (meaning I couldn't just import the package or check it out from CVS). If my workspace hadn't been empty then there wouldn't have been any problem; the <span style="font-style: italic;">Open Type</span> functionality would likely have found the desired class file in the plug-in dependencies. Unfortunately in this case I had just downloaded the nightly build and was using a fresh workspace.</span><br/><br/><span style="font-family: garamond;">The easiest workaround would have been to create a dummy plug-in project and then try <span style="font-style: italic;">Open Type</span> again. Fortunately, when I mentioned my approach to a co-worker he suggested a more professional solution. His suggestion was to open the plug-ins view, select all the plug-ins in the view, right-click, and select "Add to Java Search." This process created a project in my workspace named <span style="font-style: italic;">External Plug-in Libraries </span>which contained a library of jar files for all the code I might ever want to look at.<br/></span></div><span style="font-family: garamond;"><br/></span><a href="http://photos1.blogger.com/blogger/6152/2127/1600/workaround.0.png"><img alt="" border="0" src="http://photos1.blogger.com/blogger/6152/2127/320/workaround.0.jpg" style="cursor: pointer;"/></a><br/><a href="http://photos1.blogger.com/blogger/6152/2127/1600/workaround.0.png"> </a><a href="http://photos1.blogger.com/blogger/6152/2127/1600/Plugin_library.0.png"><img alt="" border="0" src="http://photos1.blogger.com/blogger/6152/2127/320/Plugin_library.0.jpg" style="cursor: pointer;"/></a><br/><span style="font-family: garamond;"><br/>In the end, while my co-worker's solution may have been slightly more involved, it definitely seemed like a more proper use of Eclipse functionality and better than my first solution which was just a workaround.</span><div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/21109267-114532957492764223?l=shaunskelton.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2006-04-19T06:16:51Z</updated>
    <published>2006-04-18T02:07:00Z</published>
    <author>
      <name>Shaun</name>
      <email>noreply@blogger.com</email>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-21109267</id>
      <author>
        <name>Shaun</name>
        <email>noreply@blogger.com</email>
      </author>
      <link href="http://shaunskelton.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/21109267/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://shaunskelton.blogspot.com/" rel="alternate" type="text/html"/>
      <subtitle type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">My name is Shaun Skelton and I'm a coop student on the Eclipse Platform UI team. While I have a background in Java, I am essentially new to Eclipse; so as I begin my odyssey of learning Eclipse, I hope to write down my insights and activites so that other beginners might benefit from my experience.
<br/><br/>
od·ys·sey<br/>
1. An extended adventurous voyage or trip.<br/>
2. An <b>intellectual</b> or spiritual quest: an odyssey of discovery.</div>
      </subtitle>
      <title>Shaun's Eclipse Odyssey</title>
      <updated>2009-02-21T08:06:51Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-19929983.post-114323853939900390</id>
    <link href="http://eclipsealf.blogspot.com/feeds/114323853939900390/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=19929983&amp;postID=114323853939900390" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/19929983/posts/default/114323853939900390" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/19929983/posts/default/114323853939900390" rel="self" type="application/atom+xml"/>
    <link href="http://eclipsealf.blogspot.com/2006/03/alf-needs-you.html" rel="alternate" type="text/html"/>
    <title>ALF needs you</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">One question that came up at the conference was "who needs to ALF-enable their tools?" I'd like to use this blog to find out. If you have some suggestions about tools that should be ALF-enabled please let me know what they are. I will post the list on the ALF web-site and keep some kind of tally going.<br/><br/>Thanks.<br/><br/>Kevin<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/19929983-114323853939900390?l=eclipsealf.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2006-03-24T22:15:39Z</updated>
    <published>2006-03-24T22:13:00Z</published>
    <author>
      <name>Kevin Parker, ALF Project Evangelist</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/11445707362600290908</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-19929983</id>
      <author>
        <name>Kevin Parker, ALF Project Evangelist</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/11445707362600290908</uri>
      </author>
      <link href="http://eclipsealf.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/19929983/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://eclipsealf.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>The Application Lifecycle Framework project (ALF) is a project under the Eclipse Open Source community designed to develop a common interoperability framework technology for vendor tools in the Application Lifecycle Management space.</subtitle>
      <title>Building the ALF Ecosystem</title>
      <updated>2009-02-21T07:17:37Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-19929983.post-114323840948466433</id>
    <link href="http://eclipsealf.blogspot.com/feeds/114323840948466433/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=19929983&amp;postID=114323840948466433" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/19929983/posts/default/114323840948466433" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/19929983/posts/default/114323840948466433" rel="self" type="application/atom+xml"/>
    <link href="http://eclipsealf.blogspot.com/2006/03/eclipsecon-success.html" rel="alternate" type="text/html"/>
    <title>EclipseCon a success</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">It has been a whirlwind four weeks for ALF. First the extended trip to Asia and the UK and then to arrive back in the US in time for a full-court press at EclipseCon. Not only that but a surrogate ALF has been delivering the message in Poland to wild reviews. Before we get to that lets have a quick update on where we are.<br/><br/><strong>RedMonk:</strong> Met with a very interesting and insightful analyst from RedMonk in London just over a week ago. We had lunch at a super restaurant in the City called Bread and Wine. The conversation was pretty wide ranging but was full of validation that ALF is an idea whose time has come. James Governor, the aforementioned interesting and insightful analyst, had been talking about this problem for the past few years and thought that his words were falling on stony ground. He was, as you can imagine, thrilled to hear that ALF was not only solving the problem but that the ecosystem was building nicely to make it happen quickly. He talks about this encounter in his PodCast available from <a href="http://media.libsyn.com/media/redmonk/episode02-redmonk.mp3">RedMonk Radio</a>: the bit on ALF is about 6 minutes into the pod cast. Makes good listening.<br/><br/><strong>EclipseCon:</strong> This is the biggest Eclipse event of the year and this year was a bumper year with insiders telling me that Eclipse stopped recruiting attendees when registrations passed 1450. Serena were there in force with all the key ALF contributors and commiters talking about ALF. We spent the entire one and a half days of the Exhibition recruiting vendors and contributors to the ecosystem and putting gentle pressure on the big names (they know who they are) to support the project. What was really rewarding is the impact ALF made on the conference with several keynotes singling ALF out for a mention. "ALF is an important project for the future growth of the Eclipse ecosystem," said Mike Milinkovich, executive director of Eclipse Foundation. "ALF builds on the promise of the Eclipse platform for tools integration and provides an open source infrastructure for collaboration and interoperability between development tools across the entire lifecycle." Carl Zetie's comment (leading industry analyst with Forrester) even suggested that ALF was going to be the most interesting project this year and Corona (see later in the blog) the most interesting next year.<br/><br/><strong>New ALF Supporters:</strong> Just before the show started we were able to report that 4 new vendors had signed up to help with the project and to ALF-enable their technologies. These vendors are IVIS, PlanView, ViewTier and Active-Endpoints whose BPEL-engine is such a critical part of the ALF POC Demo.<br/><br/><strong>ALF POC Demo:</strong> EclipseCon was the first time that the ALF Proof of Concept Demo was shown to the community as a whole. We had a large group attending the demo and got some very interesting questions. Since the demo was published on the ALF part of the Eclipse web site we've been getting really good feedback about it (and through this blog too - for which many thanks) and the most consistent amongst the comments has been "how about showing some Open Source tools being orchestrated". So that is what we have done: in the <a href="http://www.eclipse.org/alf/Flash/RUN_ME_FOR_THE_ALF_DEMO.htm">new demo</a> (which you can see on the ALF Site) we have included using Subversion and CVS as alternate source control systems. We have also extended the demo to include more information on how you would configure ALF and modify the Events and Service Flows. If you have any thoughts about the demo, as always please let us know.<br/><br/><strong>ALF and Corona:</strong> The big news from Compuware about the creation of the Corona project caused a lot of interest because of the close alignment of ALF and Corona solving different parts of the tool interoperability problem. There were some in the press who tried to cause some controversy around this but what they didn't know is that Serena and Compuware have been in discussions for the past several months making sure the two technologies are completely complementary. "Eclipse is on the mark having separate ALM projects", said Carey Schwaber, an analyst at Forrester Research. "I think they do need to be two separate [projects]," she said. "There's clear synergies; there's no question." Whereas ALF is about coarsely grained workflow integration and how tools interact with one another, Corona is centered on how code assets interrelate, such as how source code on a mainframe could connect with code on a distributed platform, Schwaber said.<br/><br/><strong>Poland:</strong> A close colleague called Pawel Pilarczyk recently was talking about ALF at a conference in Poland. He writes "Thank you for your input for my ALF presentation. I have just finished it. I had 100+ attendees and I met with a great applause: this is a Holy Grail everybody is waiting for! When I asked "who is using Eclipse" more that 50% raised their hands." Just before he spoke a well known vendor presented their latest toolset and mentioned how many (50) integrations they had. At the end of the Pawel's ALF presentation the audience members were asking the well know vendor "when are you going to ALF-enable your tool?"<br/><br/><strong>Agile Journal:</strong> If you haven't seen the regular article in <a href="http://www.agilejournal.com/component/option,com_magazine/func,show_article/id,13/">Agile Journal</a> check it out. It is a really good publication with some interesting insights and looks like becoming a must-read for anyone trying rise above the Babel and get some sound guidance on what is really going on. I am working on the next edition which is entitled "Stretched to the limit" and talks about how, in this Flat World where space and time are no longer constraints, technology is the vital link that holds it all together. If you have thoughts and experiences I'd love to hear them and, with your permission, use them in my next article. Let me know directly if you have any by mailing me at <a href="mailto:kparker@serena.com">kparker@serena.com</a><br/><br/><strong>ALM Expo:</strong> This wonderful event is just around the corner. ALF is going to feature there in one of the <a href="http://www.almexpo.com/content/blogcategory/18/55/">keynote</a> presentations. This unique event has the same format as a regular conference except everything happens in cyberspace including the exhibition floor. Its very cool! If you get a chance sign up and attend.<br/><br/>All for now<br/><br/>Kevin<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/19929983-114323840948466433?l=eclipsealf.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2006-03-24T22:13:30Z</updated>
    <published>2006-03-24T21:09:00Z</published>
    <author>
      <name>Kevin Parker, ALF Project Evangelist</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/11445707362600290908</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-19929983</id>
      <author>
        <name>Kevin Parker, ALF Project Evangelist</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/11445707362600290908</uri>
      </author>
      <link href="http://eclipsealf.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/19929983/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://eclipsealf.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>The Application Lifecycle Framework project (ALF) is a project under the Eclipse Open Source community designed to develop a common interoperability framework technology for vendor tools in the Application Lifecycle Management space.</subtitle>
      <title>Building the ALF Ecosystem</title>
      <updated>2009-02-21T07:17:37Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-21109267.post-114058327905659123</id>
    <link href="http://shaunskelton.blogspot.com/feeds/114058327905659123/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=21109267&amp;postID=114058327905659123" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/21109267/posts/default/114058327905659123" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/21109267/posts/default/114058327905659123" rel="self" type="application/atom+xml"/>
    <link href="http://shaunskelton.blogspot.com/2006/02/exploring-flexibility-of-perspectives.html" rel="alternate" type="text/html"/>
    <title>Exploring the Flexibility of Perspectives</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><span style="font-family: Garamond;">As evidenced by over 67 pages of preferences and other configurable options, Eclipse is a very flexible platform; this flexibilty is matched in the user inteface through the use of perspectives. Perspectives define the set and layout of views and shortcuts in the workbench window. While developing a template for the perspectives extension I was able to explore the true power of perspectives. The easiest way to see their flexibility in action is by going through the "Customize Perspective..." pages in the Window menu. The majority of the UI's dynamic content can be modified using the three submenu selection windows on the Shortcuts tab and the numerous options on the Commands tab. An interesting exercise is to turn off all the standard options for a perspective and only add back the ones you intend to use; then save the perspective and use it for a while to see if you begin to use the shortcuts more now that you know where they came from.</span><br/><br/><span style="font-family: Garamond;">When all the options are turned off through the custmization of the perspective, the views that remain are the contributions of the defining perspectives extension. The extension references a class file that is responsible for adding the various views, action sets, and shortcuts. The common method for adding views is to create an IFolderLayout with some position relative to the editor area and use the methods IFolderLayout.addView(String viewId) or IFolderLayout.addPlaceholder(String viewId) (adding a placeholder sets where the view will show up if it is enabled by the user at a later time). The best way of finding view ids is to look through the ui packages for the various platform components and find the id given in the views extension; additionally, the ids are sometimes given as API constants for the various packages. Then, calls to IPageLayout.addActionSet(String actionSetId) will provide the content for the menus and the toolbar and calls to IPageLayout.addNewWizardShortcut(String id) will provide the options shown when the user selects File &gt; New. Again, the required ids can often be found as API constants or by looking at the id given in the respective extension of the various ui packages.Finally, calls to IPageLayout.addShowViewShortcut(String id) will populate the list of rapid navigation views in the Window&gt; Show View submenu and calls to IPageLayout.addPerspectiveShortcut(String id) will generate the list of perspective options for the Window &gt; Open Perspective submenu.</span><br/><br/><span style="font-family: Garamond;">An example of this process can be seen in the class PDEPerspective where the steps are laid out quite logically and are easy to follow. I highly recommend playing with perspectives in order to experience just how much control is provided over the layout and presentation of the user interface.</span><br/><br/><span style="font-family: Garamond;">For more information regarding perspectives, visit the online </span><a href="http://help.eclipse.org/help31/index.jsp?topic=/org.eclipse.platform.doc.user/gettingStarted/qs-43.htm" style="font-family: Garamond;">Help documentation</a><span style="font-family: Garamond;">.</span><div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/21109267-114058327905659123?l=shaunskelton.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2006-02-23T04:26:29Z</updated>
    <published>2006-02-22T04:36:00Z</published>
    <author>
      <name>Shaun</name>
      <email>noreply@blogger.com</email>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-21109267</id>
      <author>
        <name>Shaun</name>
        <email>noreply@blogger.com</email>
      </author>
      <link href="http://shaunskelton.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/21109267/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://shaunskelton.blogspot.com/" rel="alternate" type="text/html"/>
      <subtitle type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">My name is Shaun Skelton and I'm a coop student on the Eclipse Platform UI team. While I have a background in Java, I am essentially new to Eclipse; so as I begin my odyssey of learning Eclipse, I hope to write down my insights and activites so that other beginners might benefit from my experience.
<br/><br/>
od·ys·sey<br/>
1. An extended adventurous voyage or trip.<br/>
2. An <b>intellectual</b> or spiritual quest: an odyssey of discovery.</div>
      </subtitle>
      <title>Shaun's Eclipse Odyssey</title>
      <updated>2009-02-21T08:06:51Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogs.nuxeo.com:sections:blogs:bogdan_stefanescu:2006_02_21_apogee-resource-model</id>
    <link href="http://blogs.nuxeo.com/sections/blogs/bogdan_stefanescu/2006_02_21_apogee-resource-model" rel="alternate" type="text/html"/>
    <title>Apogee Resource Model</title>
    <summary>A new thread was started on Apogee list regarding the Apogee resource model.
  Anyone willing to participate on this topic may subscribes here: http://lists.nuxeo.com/cgi-bin/mailman/listinfo/apogee
  
   
   The document describing the Apogee resource model can be found here: http://apogee.nuxeo.org/sections/documentation/apogee-global
  
   The resource model is still under development so ...</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">A new thread was started on Apogee list regarding the Apogee resource model.
  Anyone willing to participate on this topic may subscribes here: <a href="http://lists.nuxeo.com/cgi-bin/mailman/listinfo/apogee%20">http://lists.nuxeo.com/cgi-bin/mailman/listinfo/apogee</a>
  <br/>
   <br/>
   The document describing the Apogee resource model can be found here: <a href="http://apogee.nuxeo.org/sections/documentation/apogee-global%20">http://apogee.nuxeo.org/sections/documentation/apogee-global</a>
  <br/>
   The resource model is still under development so it may change in
  future.<br/>
   <br/>
   Here is a short summary of things discussed: <br/>
   <br/>
   <br/>
   <i>Aren't files and folders model restrictive compared with CPS object
  model ?<br/>
   Can resources have a file and a folder nature in the same time? (this means
  resources having content as files but also children as folders)<br/>
  </i> <br/>
   Files and folders are handles to real objects described by resource
  metadatas and that may be put in a tree structure. So that folders are nodes
  that may contains children and files are terminal nodes. <br/>
  Real objects behind these handles are not affected by the handle type (file
  or folder) - this is used only to define the resource tree. <br/>
  The real object may be unaware that it is a file or folder in the Apogee
  resource model. <br/>
  Objects may be of any type. Every resource may support having content - even
  folders. For example a resource folder may point to a "Link", "Calendar" or
  wathever object you want even to a "file"having some content in a file
  system. The same applies for the file resource. It may points to a real
  folder in a file system ... <br/>
  <br/>
  So the File and Folder properties are defined on the resource level not on
  the underlying object level. <br/>
  Underlying object are completely described by the associated metadata.
  <br/>
  Each ECMporvider may defines it's own objects and metadatas - so that Apogee
  should be able to handle any type of object. <br/>
  This is why the resource model is not defining objects but only basic
  resources like Site, File and Folders and Metadatas objects that describes
  the underlying object or content.<br/>
   <br/>
   
  <hr size="2" width="100%"/>
  <br/>
   <i>About containment: How it will be managed for maximum flexibility?<br/>
   Is there envisaged a virtual tree structure to create mixed tree using
  resources from different ECM providers?<br/>
  </i> <br/>
   Containement is managed at the persistence level - by ECM providers. <br/>
  The resource tree is build by calling ISiteController.getChildren(folder)
  for each folder resource - operation that is implemented by the
  corresponding ECM provider - so that the resource tree will reflect the tree
  structure defined by the provider. <br/>
  <br/>
  For the local ECM provider that will be implemented in Apogee we will use a
  db4o database. The resources will be stored as objects and the three
  structure will be defined explicitely by each object by keeping the parent
  path and the local name of the resource (relative to its parent) <br/>
  Example: <br/>
  Object { parentPath: "path/to/parent"; name: "myName"; } <br/>
  To query for all children for a given folder we may query for all objects
  having the parentPath equals to the folder path. <br/>
  This is an example. There are also other ways of describing the tree inside
  db4o. <br/>
  <br/>
  Anyway, we can envisage to define in the resource model "Virtual Sites"
  owning a resource tree made by resources belonging to other sites having
  different ECM providers. So that we can create virtual trees of objects.
  <br/>
  Implementing this is possible. <br/>
  The virtual site should be bound to a special ISiteController implementation
  that delegates operations to the controller corresponding for the target
  resource. <br/>
  For example the ISiteController.exists() method can be writted as follow:
  <br/>
  <br/>
  public boolean exists(ISiteResource resource ) { <br/>
      return resource.getSite().getController().exists();
  <br/>
  } <br/>
  <br/>
  Also, the resource should keep a reference to its real site and NOT to the
  virtual site - so that it is not even aware that is used inside another
  site. <br/>
  The containment for virtual sites cannot be defined be the ECM providers...
  since resources from different providers are put together in the same tree.
  <br/>
  This can be done directly in the resource model (by the virtual site) by
  using RDF relations between existing resources. <br/>
  Something like: "resource1_URI hasParent resource2_URI" RDF relations can
  also be easly stored in a db40 database.<br/>
   <br/>
   
  <hr size="2" width="100%"/>
  <br/>
   <i>Communicaion between several ECm providers? For example is publishing a
  resource to several ECM provider sites working?<br/>
  </i> <br/>
   Yes, operations may be executed between sites. For example a copy operation
  may allows that the resource to be copied be in other sote than the
  destination folder where the resource to be copied. The same thing can be
  done for a publish.<br/>
   <br/>
   
  <hr size="2" width="100%"/>
  <br/>
   Authentication is an ECM Provider function? Using the site controller or
  how? <br/>
   <br/>
   <i>Yes, supports for authentication will be added in ISiteController
  API.</i> <br/>
   <br/>
   
  <hr size="2" width="100%"/>
  <br/>
   <i>Are workflows used in the resource model core?</i> <br/>
   <br/>
   I want to keep the resource model core as simple as possible and
  functionality to be added as extensions and not directly in the core - and
  plugged into the operation execution logic by using the notification
  mechanism. <br/>
  Anyway we could add some fonctionality directly in the resource core. This
  will be decided at the time of designing the functionality. <br/>
  <br/>
  But for workspace or security checks I think they should be implemented by
  each ECM provider since they need custom workflow and security mechansims.
  <br/>
  <br/>
  The UNDO/REDO manager is an example of a generic service that may directly
  implemented in Apogee core (and not by providers) since it manages
  ISiteOperation objects that are not depending on any ECM provider.<br/>
   <br/></div>
    </content>
    <updated>2006-02-21T18:39:10Z</updated>
    <published>2006-02-21T18:39:10Z</published>
    <category term="apogee"/>
    <category term="eclipse"/>
    <category term="nuxeo"/>
    <category term="rich_client"/>
    <author>
      <name>bstefanescu</name>
    </author>
    <source>
      <id>tag:blogs.nuxeo.com:sections:blogs:bogdan_stefanescu</id>
      <link href="http://blogs.nuxeo.com/sections/blogs/bogdan_stefanescu" rel="alternate" type="text/html"/>
      <link href="http://blogs.nuxeo.com/sections/blogs/bogdan_stefanescu/ http://blogs.nuxeo.com/sections/blogs/bogdan_stefanescu/atomCategories" rel="service.categories" type="application/atom+xml"/>
      <link href="http://blogs.nuxeo.com/sections/blogs/bogdan_stefanescu/exportatom" rel="self" type="application/atom+xml"/>
      <subtitle>ATOM Feed - Bogdan Stefanescu</subtitle>
      <title>Bogdan Stefanescu</title>
      <updated>2005-01-25T10:17:16Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-20024741.post-113748076464961298</id>
    <link href="http://timwagner.blogspot.com/feeds/113748076464961298/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=20024741&amp;postID=113748076464961298" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/20024741/posts/default/113748076464961298" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/20024741/posts/default/113748076464961298" rel="self" type="application/atom+xml"/>
    <link href="http://timwagner.blogspot.com/2006/01/chairing-eclipsecon-program-committee.html" rel="alternate" type="text/html"/>
    <title>Chairing the EclipseCon Program Committee</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">First, I have to warn you that if Bjorn Freeman-Benson ever approaches you and says, "Hey, wanna chair EclipseCon? It really won't be much work..." you should turn and run. Fast.<br/><br/>Seriously, it <span style="font-style: italic;">has</span> been a lot of work, but also very rewarding. Bringing a program together is challenging in many ways - at its heart, it's a fundamentally large bit of secretarial work, because there are many submissions, different categories, possible tradeoffs (more short talks and fewer long talks?), and a myriad of small issues (such as not putting two talks with the same likely demographic at the same time).<br/><br/>The program committee also has to look at the balance of the program, which is challenging in other ways - you don't want all the speakers to come from one company, or just from a few projects, or to just represent developers. We looked at different constituencies (committers, users, member companies, IT decision makers, etc.) and tried to ensure that some portion of the conference program would appeal to each of them. We also looked at a balance of old, current, and new technologies, because not everyone has been to conference before or is new this year. Finally, we tried to ensure that a few "virtual tracks", this year focused on RCP and embedded tooling, provided a credible draw for conference goers interested in those topics.<br/><br/>Apart from the sheer difficulty of reading and discussing so many submissions (and it's still going on - we're currently working on the short talks), one aspect of the program committee that proved challenging was trying to increase community involvement. This year we experimented with using a Bugzilla-like approach to submissions, which included allowing anyone to comment and even to vote on their favorite talks, including asking questions of the submitters. Ideally we would like to continue empowering the community, including the ability to rate comments by others and search more easily by adding additional submitter (and maybe community-provided) metadata in the submission form.<br/><br/>I'm looking forward to EclipseCon (ok, in part because my job as program chair will be over ;-) and hope to see you there - I'll be on an open source contributions panel discussion, the final plenary session, doing opening remarks one morning, and participating in the WTP events. If the abstracts are any indication, there will be plenty to learn about!<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/20024741-113748076464961298?l=timwagner.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2006-01-17T06:52:44Z</updated>
    <published>2006-01-17T06:34:00Z</published>
    <author>
      <name>Tim Wagner</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/12363532520425837574</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-20024741</id>
      <author>
        <name>Tim Wagner</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/12363532520425837574</uri>
      </author>
      <link href="http://timwagner.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/20024741/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://timwagner.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>Tim Wagner is a Senior Manager at BEA with the Workshop group. He also leads the Eclipse Web Tools Platform (WTP) Project and holds several other Eclipse positions. This blog represents his own thoughts and opinions and not those of his employer (BEA) or of the Eclipse Foundation.</subtitle>
      <title>Tim Wagner's Blog</title>
      <updated>2009-02-21T07:18:13Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-20024741.post-113747958894443412</id>
    <link href="http://timwagner.blogspot.com/feeds/113747958894443412/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=20024741&amp;postID=113747958894443412" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/20024741/posts/default/113747958894443412" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/20024741/posts/default/113747958894443412" rel="self" type="application/atom+xml"/>
    <link href="http://timwagner.blogspot.com/2006/01/onward-and-upward-m4-released.html" rel="alternate" type="text/html"/>
    <title>Onward and upward - M4 released!</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Three interesting bits of news to report.<br/><br/>First, WTP's first step toward the 1.5 release and the Callisto train has occured. Go to the <a href="http://download.eclipse.org/webtools/downloads/drops/S-1.5M4-200601131852/">M4 down page</a> for a version of WTP similar to 1.0 (with a few extra bug fixes thrown in; technically this is also a 1.0.1 I-build) but that works with M4 of Eclipse 3.2 and the other WTP prereqs.<br/><br/>Second, we've fixed some perf issues reported against 1.0, some of which represented regressions late in the release cycle. If you've experienced these and are feeling the pain, also check out the link above for fixes. (And if you still have perf issues, please report them - performance is a key deliverable for the 1.0.1 service pack.)<br/><br/>Finally, it's official: the Dali project, a technology project representing the merger of the former JSR 220 and EJB 3.0 technology projets, is here. This is great news for the Eclipse community and WTP in particular, because it means some of the strongest supporters of these technologies (Oracle, Versant, Sybase, Solarmetric, JBoss, and others) are all working together in a coordinated fashion on a single technology project. When these technologies mature, they will graduate into WTP and DTP as appropriate. See <a href="http://www.eclipse.org/dali/">the Dali site</a> for more details.<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/20024741-113747958894443412?l=timwagner.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2006-01-17T06:33:09Z</updated>
    <published>2006-01-17T06:22:00Z</published>
    <author>
      <name>Tim Wagner</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/12363532520425837574</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-20024741</id>
      <author>
        <name>Tim Wagner</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/12363532520425837574</uri>
      </author>
      <link href="http://timwagner.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/20024741/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://timwagner.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>Tim Wagner is a Senior Manager at BEA with the Workshop group. He also leads the Eclipse Web Tools Platform (WTP) Project and holds several other Eclipse positions. This blog represents his own thoughts and opinions and not those of his employer (BEA) or of the Eclipse Foundation.</subtitle>
      <title>Tim Wagner's Blog</title>
      <updated>2009-02-21T07:18:13Z</updated>
    </source>
  </entry>

  <entry xml:lang="en-us">
    <id>http://www.jroller.com/BillDudney/entry/visualstudio_committers_vs_eclipse_committers</id>
    <link href="http://www.jroller.com/BillDudney/entry/visualstudio_committers_vs_eclipse_committers" rel="alternate" type="text/html"/>
    <title>VisualStudio committers vs. Eclipse committers</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>While at OJ.X on Thursday I had the great privilege of getting to spend some time with <a href="http://milinkovich.blogspot.com/">Mike Milinkovich</a>. Since MS was there too he wondered out loud how many people MS had working on Visual Studio. Well Rick LaPlante (a General Manger for MS) was also at the show. While I was doing some research on him I found his blog and a very interesting post <a href="http://blogs.msdn.com/rickla/archive/2005/04/28/413014.aspx">here</a>. From these numbers it looks like MS has about 432 people involved in the <a href="http://lab.msdn.microsoft.com/teamsystem/teamcenters/team/default.aspx">Team Foundation Server</a> which I guess is a big part of but not all of the next version of Visual Studio. Anyway that is a huge team compared to the 60+ committers on Eclipse.</p>
<p>Interesting indeed...</p>
<p>Yes its been a long time, <a href="http://homepage.mac.com/bdudney/PhotoAlbum28.html">life</a>, <a href="http://www.virtuas.com">new job</a> have been getting in the way of my time to spend on Eclipse.</p></div>
    </summary>
    <updated>2005-10-07T19:22:12Z</updated>
    <category term="Eclipse"/>
    <author>
      <name>Bill Dudney</name>
    </author>
    <source>
      <id>http://www.jroller.com/BillDudney/</id>
      <link href="http://www.jroller.com/BillDudney/" rel="alternate" type="text/html"/>
      <link href="http://www.jroller.com/BillDudney/feed/entries/rss?cat=%2FEclipse" rel="self" type="application/atom+xml"/>
      <rights>Copyright 2007</rights>
      <subtitle>Bill Dudney's Weblog</subtitle>
      <title>Bill Dudney's Weblog</title>
      <updated>2010-06-09T06:51:34Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-10158682.post-112472931878438331</id>
    <link href="http://www.blogger.com/feeds/10158682/posts/default/112472931878438331" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/10158682/posts/default/112472931878438331" rel="self" type="application/atom+xml"/>
    <link href="http://franksauer.blogspot.com/2005/08/jdj-aop-reference.html" rel="alternate" type="text/html"/>
    <title>JDJ AOP reference</title>
    <summary>The current issue of JDJ has a feature article titled "AOP Technology Update" by Patrick Fendt that in the very first paragraph gives me "credit" for copyrighting the phrase "third dimension of programming". I think that must have been pulled from a powerpoint presentation I did back in 2001, but I was misquoted (and I certainly did not copyright anything). What I did say in there is "A</summary>
    <updated>2005-10-07T02:24:19Z</updated>
    <published>2005-08-22T16:29:00Z</published>
    <author>
      <name>Frank Sauer</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/01325013035599484238</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-10158682</id>
      <author>
        <name>Frank Sauer</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/01325013035599484238</uri>
      </author>
      <link href="http://franksauer.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/10158682/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://franksauer.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://www.blogger.com/feeds/10158682/posts/default?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <subtitle>Random thoughts from an independent Consultant specialized in Java development and Eclipse plugins.</subtitle>
      <title>Frank's Eclipse and Java Blog</title>
      <updated>2010-01-13T08:44:03Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://www.java.net/234144 at http://www.java.net</id>
    <link href="http://www.java.net/blog/2005/10/03/eclipse-311-site-redesign" rel="alternate" type="text/html"/>
    <title>Eclipse 3.1.1 / site redesign</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><!--  | 0 --><p>Eclipse released the 3.1.1 maintenance release today with no API changes, and over 200 bug fixes.  <a href="http://www.eclipse.org/eclipse/development/readme_eclipse_3.1.1.html">(Nice release notes.)</a>  I have been using 3.2M1, but I think I'll drop back and get a little more stability... and compatibility with <a href="http://www.eclipse.org/downloads/index.php">lots of plugins</a> that are targeting the 3.1 release, many of them available through auto-update.</p>
<p>Also, <a href="http://eclipse.org">eclipse.org</a> has been redesigned, and <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=111001">your feedback</a> is welcomed.</p>
<p>Check out my previous blog entry that got lost in the site update... <a href="http://weblogs.java.net/blog/scottschram/archive/2005/09/eclipsecon_2006.html">EclipseCon 2006 adopts open and transparent call for participation</a>.</p></div>
    </summary>
    <updated>2005-10-04T01:17:44Z</updated>
    <category scheme="http://www.java.net/related-topics/tools" term="Tools"/>
    <author>
      <name>scottschram</name>
    </author>
    <source>
      <id>http://www.java.net/blogs/scottschram</id>
      <link href="http://www.java.net/blogs/scottschram" rel="alternate" type="text/html"/>
      <link href="http://weblogs.java.net/blog/scottschram/index.rdf" rel="self" type="application/rss+xml"/>
      <title>scottschram's blog</title>
      <updated>2010-06-09T06:51:23Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://www.java.net/234127 at http://www.java.net</id>
    <link href="http://www.java.net/blog/2005/09/30/eclipsecon-2006-adopts-transparent-call-participation" rel="alternate" type="text/html"/>
    <title>EclipseCon 2006 Adopts Transparent Call for Participation</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><!--  | 0 --><p><a href="http://www.eclipsecon.org">EclipseCon</a> scheduled for March 20-23, 2006 has adopted an open and transparent <a href="http://www.eclipsecon.org/2006/CallForParticipation.do">call for participation policy.</a></p>
<p>All submissions are being handled via a modified Bugzilla system known as <a href="http://canuck.gda.itesm.mx/eclipsezilla/">Eclipsezilla.</a></p>
<p>"Anyone in the community (including you) is welcome to review the submissions, ask for more information, provide comments and critiques, and even vote on which ones you'd like to see at the conference - just as anyone in (the) community is invited and encouraged to do for Eclipse bugs and features via Bugzilla."</p>
<p>It's going to be interesting to watch this process work.</p></div>
    </summary>
    <updated>2005-09-30T16:53:44Z</updated>
    <category scheme="http://www.java.net/related-topics/tools" term="Tools"/>
    <author>
      <name>scottschram</name>
    </author>
    <source>
      <id>http://www.java.net/blogs/scottschram</id>
      <link href="http://www.java.net/blogs/scottschram" rel="alternate" type="text/html"/>
      <link href="http://weblogs.java.net/blog/scottschram/index.rdf" rel="self" type="application/rss+xml"/>
      <title>scottschram's blog</title>
      <updated>2010-06-09T06:51:21Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-9301976.post-112538505995148527</id>
    <link href="http://birtreporting.blogspot.com/feeds/112538505995148527/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=9301976&amp;postID=112538505995148527" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/9301976/posts/default/112538505995148527" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/9301976/posts/default/112538505995148527" rel="self" type="application/atom+xml"/>
    <link href="http://birtreporting.blogspot.com/2005/08/eclipse-release-train.html" rel="alternate" type="text/html"/>
    <title>The Eclipse Release Train</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">The Eclipse planning council has set a goal of releasing several of its top level projects at the same time in its next major release. While there are a lot of benefits of doing so, we know that it is not easy to coordinate software development within one team, let alone among several teams from different projects with developers around the world. It will be a true test on the maturity of Eclipse development process, PMCs, project leaders, and developers. The BIRT project has opted to get on the Eclipse release train. The plan is to synch up with the rest of the projects in a milestone build before the end of this year. This exercise will help us work out issues and give us confident that we will be able to release together in the summer of 2006. Release often and test often is the key to get the train moving.<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/9301976-112538505995148527?l=birtreporting.blogspot.com" width="1"/></div></div>
    </content>
    <updated>2005-08-30T07:03:51Z</updated>
    <published>2005-08-30T06:55:00Z</published>
    <author>
      <name>wenfeng</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/17687161265451095891</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-9301976</id>
      <author>
        <name>wenfeng</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/17687161265451095891</uri>
      </author>
      <link href="http://birtreporting.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/9301976/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://birtreporting.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <title>Eclipse BIRT</title>
      <updated>2010-05-22T05:41:45Z</updated>
    </source>
  </entry>

  <entry xml:lang="en-us">
    <id>http://www.jroller.com/bobk/entry/wtp_editors_work_incorrect</id>
    <link href="http://www.jroller.com/bobk/entry/wtp_editors_work_incorrect" rel="alternate" type="text/html"/>
    <title>WTP editors work incorrect</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Responding to the <i>XMLBuddy makes EclipseXSLT 1.0.4 work incorrect</i> post by Lars Gersmann, where he advises removing XMLBuddy because some other editors don't work correctly. All I can say is, you could also remove the other editors. ;-}</p>

<p>But seriously, the problem is that pretty much any other editor that edits the same file extensions as the WTP editors will break them. The WTP editors need to be fixed. I am hopeful they will be in the 1.0 release.</p>

<p>In the meantime, users of other third-party editors will probably find they confict with the WTP editors, too. So what is one to do? A simple, but rather low-level, fix is to pick which editor you want to use for a given file extension and edit the other editor's plugin.xml to remove the same extension.</p></div>
    </summary>
    <updated>2005-08-18T00:00:27Z</updated>
    <category term="Java"/>
    <author>
      <name>Robert K. Foster</name>
    </author>
    <source>
      <id>http://www.jroller.com/bobk/</id>
      <link href="http://www.jroller.com/bobk/" rel="alternate" type="text/html"/>
      <link href="http://www.jroller.com/bobk/feed/entries/rss" rel="self" type="application/atom+xml"/>
      <rights>Copyright yyyy</rights>
      <subtitle>Mild apophenia</subtitle>
      <title>Eclipsed</title>
      <updated>2010-06-09T06:53:18Z</updated>
    </source>
  </entry>

  <entry>
    <id>http://www.benjaminbooth.com/tableorbooth/2005/08/caspr.html</id>
    <link href="http://www.benjaminbooth.com/tableorbooth/2005/08/caspr.html" rel="alternate" type="text/html"/>
    <title>CASPR: Category-Specific RSS</title>
    <summary>In cased you missed it, this site now sports CASPR [1]. Other than All Posts, each feed URL under the Feeds list can be used to get blogs only on that topic. It's similar to blog aggregator that offer feeds...</summary>
    <updated>2005-08-09T23:20:47Z</updated>
    <category term="Eclipse"/>
    <category term="Web/Tech"/>
    <source>
      <id>http://www.benjaminbooth.com/tableorbooth/</id>
      <author>
        <name>Benjamin Booth</name>
      </author>
      <link href="http://www.benjaminbooth.com/tableorbooth/" rel="alternate" type="text/html"/>
      <link href="http://davie.textdrive.com/~benjaminbooth/feeds/eclipse.rss" rel="self" type="application/rss+xml"/>
      <subtitle>Some of life's choices and a little on the aftermath</subtitle>
      <title>Table or Booth</title>
      <updated>2005-08-31T16:57:16Z</updated>
    </source>
  </entry>

  <entry xml:lang="en-us">
    <id>http://www.jroller.com/bobk/entry/think_bigger</id>
    <link href="http://www.jroller.com/bobk/entry/think_bigger" rel="alternate" type="text/html"/>
    <title>Think Bigger</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>There's a certain type of person who believes that the purity of open source is tainted by commercial involvement, and that type will always be looking for scorpions under the rug. The latest dart aimed at Eclipse is that it is a "milk cow" for its board. Since the link has been troll-posted to nearly every Eclipse newsgroup, I don't think I'll repeat it here.</p>

<p>The writer confuses the Eclipse board with Eclipse contributors. But even if more accurately aimed at individual contributors, the core of the complaint is that the contributors plan to make money because of their contributions to Eclipse. That's right folks, those nefarious corporations are out to make a profit!</p>

<p>Shocking isn't it?</p>

<p>Well, learn to live with it. Nearly every company that produces software today is trying hard to figure out how to leverage open source to make money. Sun and IBM were pioneers, but everyone has got the message by now. Open source is the new Philosopher's Stone. It turns the lead of unprofitable software into the pure gold of mass market leverage.</p>

<p>Especially in development tools. Have you ever noticed that about 80% of the features in every IDE are the same? Editors, compilers, build systems, source control, blah blah. All the same. Suppose you're a company that feels it must provide development tools tailored to its own products. There are a lot of these and you know their names as well as I. But first you have to spend 80% of your effort duplicating the efforts of every other development tool maker. How many of these tools do you think the market will support?</p>

<p>The answer is, two or three. All the others are cost centers; necessary evils. Consider the cost of keeping these tools up to date, what with new JSRs flying out every few weeks, new W3C Recommendations, new ISO standards, new J2SE/J2EE versions. A tools developer is like the Red Queen; one has to run very fast just to stay in the same place!</p>

<p>Then one day a stranger comes up to you and says, here's a way to get the basic 80% and most of the new feature work done for you. All you have to add is the 20% necessary for your business. Plus, the number of people already using the basic 80% will be multipled ten-fold. Well, you're going to invite that stranger in for coffee. The stranger is, of course, open source. It is very strange, indeed, to the corporations it approaches. It doesn't dress like them; it doesn't think like them. It runs its "business" by some strange sort of meritocratic voting and it doesn't make any money. It's not easy for a company to let this stranger into its board room, but it's got a one heck of a pitch.</p>

<p>This isn't about Eclipse vs. NetBeans, nor about "Eclipse is an IBM plot" nor "NetBeans is a Sun plot". It isn't even about selling software at a loss versus giving away software at a profit. It's about a social movement that has evolved a way to embrace both altruists and capitalists, even though some of its supporters haven't quite got the message.</p></div>
    </summary>
    <updated>2005-07-29T16:14:48Z</updated>
    <category term="General"/>
    <author>
      <name>Robert K. Foster</name>
    </author>
    <source>
      <id>http://www.jroller.com/bobk/</id>
      <link href="http://www.jroller.com/bobk/" rel="alternate" type="text/html"/>
      <link href="http://www.jroller.com/bobk/feed/entries/rss" rel="self" type="application/atom+xml"/>
      <rights>Copyright yyyy</rights>
      <subtitle>Mild apophenia</subtitle>
      <title>Eclipsed</title>
      <updated>2010-06-09T06:53:19Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-10158682.post-112084756324828058</id>
    <link href="http://www.blogger.com/feeds/10158682/posts/default/112084756324828058" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/10158682/posts/default/112084756324828058" rel="self" type="application/atom+xml"/>
    <link href="http://franksauer.blogspot.com/2005/07/new-metrics-plugin-136-for-eclipse-31.html" rel="alternate" type="text/html"/>
    <title>NEW: Metrics plugin 1.3.6 for eclipse 3.1</title>
    <summary>I just released the new 1.3.6 version of the metrics plugin for use with eclipse 3.1. Use the update site at  http://metrics.sourceforge.net/update, or download it from the project page and install from a local update site. Other than adjusting to the new 3.1 apis, in this version several major and minor bugs were fixed. Note that the dependency view will still not work on the Mac because AWT and</summary>
    <updated>2005-07-08T18:32:43Z</updated>
    <published>2005-07-08T18:26:00Z</published>
    <author>
      <name>Frank Sauer</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/01325013035599484238</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-10158682</id>
      <author>
        <name>Frank Sauer</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/01325013035599484238</uri>
      </author>
      <link href="http://franksauer.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.blogger.com/feeds/10158682/posts/default" rel="self" type="application/atom+xml"/>
      <link href="http://franksauer.blogspot.com/" rel="alternate" type="text/html"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://www.blogger.com/feeds/10158682/posts/default?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml"/>
      <subtitle>Random thoughts from an independent Consultant specialized in Java development and Eclipse plugins.</subtitle>
      <title>Frank's Eclipse and Java Blog</title>
      <updated>2010-01-13T08:44:03Z</updated>
    </source>
  </entry>

  <entry xml:lang="en-us">
    <id>http://www.jroller.com/BillDudney/entry/netbeans_day</id>
    <link href="http://www.jroller.com/BillDudney/entry/netbeans_day" rel="alternate" type="text/html"/>
    <title>NetBeans Day</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>I meant to post this last night but got lost in hanging out until too late. Anyway I posted my notes from NetBeans day on my other blog <a href="http://bill.dudney.net/roller/page/bill/20050626#netbeans_day_collaboration_tools_open">here</a>. It was a cool time and I really enjoyed it.</p>

<p><b>Update:</b> Sorry for the busted link, coppied the wrong link. Should be fixed now.</p></div>
    </summary>
    <updated>2005-06-27T22:24:20Z</updated>
    <category term="Eclipse"/>
    <author>
      <name>Bill Dudney</name>
    </author>
    <source>
      <id>http://www.jroller.com/BillDudney/</id>
      <link href="http://www.jroller.com/BillDudney/" rel="alternate" type="text/html"/>
      <link href="http://www.jroller.com/BillDudney/feed/entries/rss?cat=%2FEclipse" rel="self" type="application/atom+xml"/>
      <rights>Copyright 2007</rights>
      <subtitle>Bill Dudney's Weblog</subtitle>
      <title>Bill Dudney's Weblog</title>
      <updated>2010-06-09T06:51:35Z</updated>
    </source>
  </entry>

  <entry>
    <id>http://vektor.ca/eclipse/blog/2005/jun#20</id>
    <link href="http://vektor.ca/eclipse/blog/2005/jun#20" rel="alternate" type="text/html"/>
    <title>20 Jun 2005: RC3 is out</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>RC3 looks good, I'm actually quite happy with it.  Oh, and since I won
our little 100,000'th bug pool (yay), I should give my thanks to all the
monkeys.  Thanks!</p>

<p>Probably one of the stranger changes for RC3 was the removal of the
"Run As SWT Application" action.  For more, I think it's worth pointing at
<a href="http://dev.eclipse.org/mhonarc/lists/platform-dev/msg00619.html">this
post by Veronika</a> which explains the removal.</p>

<p>While playing with RC3, I finally took the time to write
<a href="http://scanline.ca/magnify/">a screen magnifier</a> to take
over from xzoom, which has served me well but was missing a few too many
features.</p></div>
    </summary>
    <updated>2005-06-20T05:02:39Z</updated>
    <author>
      <name>Billy Biggs</name>
      <email>vektor@dumbterm.net</email>
    </author>
    <source>
      <id>http://vektor.ca/eclipse/blog/</id>
      <author>
        <name/>
        <email>vektor@dumbterm.net</email>
      </author>
      <link href="http://vektor.ca/eclipse/blog/" rel="alternate" type="text/html"/>
      <link href="http://vektor.ca/eclipse/blog/feed.rss" rel="self" type="application/rss+xml"/>
      <subtitle>My Eclipse Blog</subtitle>
      <title>Billy's Eclipse Blog</title>
      <updated>2010-04-27T13:51:13Z</updated>
    </source>
  </entry>

  <entry>
    <id>http://vektor.ca/eclipse/blog/2005/jun#11</id>
    <link href="http://vektor.ca/eclipse/blog/2005/jun#11" rel="alternate" type="text/html"/>
    <title>11 Jun 2005: Using valgrind with gcj 4.0</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>I wanted to use <a href="http://valgrind.org/">valgrind</a> to check
for leaks in the SWT code, and I thought using gcj might make it easier.
Also, now that gcj-4.0 is in Debian unstable, things are a lot better.</p>

<p>However, there are apparently some problems with valgrind and boehm-gc,
the GC used by gcj.  Luckily, I found that it is not too hard to get
valgrind to suppress the false errors from the gcj code.</p>

<p><a href="http://vektor.ca/eclipse/gcj.supp">Here is the suppression list
I wrote</a> to tell valgrind to shut up.</p>

<p>valgrind has proved useful, I have already found
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=99525">one potential
leak</a>!</p></div>
    </summary>
    <updated>2005-06-12T03:44:21Z</updated>
    <author>
      <name>Billy Biggs</name>
      <email>vektor@dumbterm.net</email>
    </author>
    <source>
      <id>http://vektor.ca/eclipse/blog/</id>
      <author>
        <name/>
        <email>vektor@dumbterm.net</email>
      </author>
      <link href="http://vektor.ca/eclipse/blog/" rel="alternate" type="text/html"/>
      <link href="http://vektor.ca/eclipse/blog/feed.rss" rel="self" type="application/rss+xml"/>
      <subtitle>My Eclipse Blog</subtitle>
      <title>Billy's Eclipse Blog</title>
      <updated>2010-04-27T13:51:13Z</updated>
    </source>
  </entry>

  <entry>
    <id>http://www.benjaminbooth.com/tableorbooth/2005/05/painfree_rcp_in.html</id>
    <link href="http://www.benjaminbooth.com/tableorbooth/2005/05/painfree_rcp_in.html" rel="alternate" type="text/html"/>
    <title>Painfree RCP in 3.1M7</title>
    <summary>This is an update to the Painfree RCP in 3.1M5 post. All references have been updated, instructions checked, and new notes made to be current as of 3.1M7....</summary>
    <updated>2005-05-24T17:10:12Z</updated>
    <category term="Eclipse"/>
    <category term="Software"/>
    <source>
      <id>http://www.benjaminbooth.com/tableorbooth/</id>
      <author>
        <name>Benjamin Booth</name>
      </author>
      <link href="http://www.benjaminbooth.com/tableorbooth/" rel="alternate" type="text/html"/>
      <link href="http://davie.textdrive.com/~benjaminbooth/feeds/eclipse.rss" rel="self" type="application/rss+xml"/>
      <subtitle>Some of life's choices and a little on the aftermath</subtitle>
      <title>Table or Booth</title>
      <updated>2005-08-31T16:57:16Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogs.nuxeo.com:sections:blogs:bogdan_stefanescu:2005_02_02_books_repository_for</id>
    <link href="http://blogs.nuxeo.com/sections/blogs/bogdan_stefanescu/2005_02_02_books_repository_for" rel="alternate" type="text/html"/>
    <title>Books Repository for Eclipse</title>
    <summary>This is the project I am currently working on.
  

  The Books Repository should be implemented in Java as an
  Eclipse plugin and its goal is to store and browse large
  collections of books.
  A book repository is a tree like structure of resource
  objects. The resources managed by a book repository are:
  
   

  
   Library - a book collection. Can contains a list of
   Books
   

   Book ...</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>This is the project I am currently working on.<br/>
  </p>

  <p>The Books Repository should be implemented in Java as an
  Eclipse plugin and its goal is to store and browse large
  collections of books.</p>
  A book repository is a tree like structure of resource
  objects. The resources managed by a book repository are:
  <br/>
   

  <ul>
   <li>Library - a book collection. Can contains a list of
   Books<br/>
   </li>

   <li>Book - a book. A Book can contains Sections and
   Documents<br/>
   </li>

   <li>Section - a book section. A section is a logical part of
   a book and may contains Documents<br/>
   </li>

   <li>Document - a searchable text document. A document
   contains textual data and may contains other external
   documents (not necesarly text document) known as
   attachments<br/>
   </li>

   <li>Attachment - a document attachment<br/>
   </li>

   <li>Note - a note is an user comment that may be attached to
   a document<br/>
   </li>

   <li>Bookmark - a bookmark is a reference to a node in a
   Library tree structure </li>
  </ul>
  Only Note and Bookmark resources are editable by the user -
  the rest is read only.<br/>
   <br/>
   The resources are described by a set of properties knows as
  the resource METADATA. <br/>
   All the resources may defines the following METADATA
  fields:<br/>
   

  <ul>
   <li>id (string) - The local resource identifier</li>

   <li>name (string) - The Library name<br/>
   </li>

   <li>creator (string) The creator<br/>
   </li>

   <li>date (string: YYYY-MM-DD) - The creation date<br/>
   </li>

   <li>description (string) - The resource description<br/>
   </li>

   <li>subject (string) - A list of searchable keywords that
   describes the resource</li>
  </ul>
  The only required fields are: id and name<br/>
   Each resource type may add custom fields to their METADATA
  but these fields are not yet defined. Also, the format of the
  id field is not yet defined.<br/>
   <br/>
   Each resource instance is globaly identified by an URI.<br/>
   Local identifiers (id field) are unique id relative to a
  given context.<br/>
   <br/>
   The Library structure (e.g. the resource tree) and the
  METADATA is described using the RDF format<br/>
   At this moment the metadata element set is not yet
  defined.<br/>
   A possibility is to use the Dublin Core Metadata Element Set
  to describe our resources METADATA.<br/>
   (See <a href="http://dublincore.org/documents/dces/">http://dublincore.org/documents/dces/</a>)<br/>
   The RDF description will be stored in a RDF database.<br/>
   As RDF engine I choosed Sesame (see <a href="http://openrdf.org">http://openrdf.org</a>) because it's
  the only RDF engine I've found that embeds a Java database
  which increase the engine portability. It also supports
  external databases like MySQL, PostgreSQL, Oracle etc.<br/>
   For a survey of RDF engines you can check <a href="http://www.w3.org/2001/05/rdf-ds/DataStore">http://www.w3.org/2001/05/rdf-ds/DataStore</a><br/>
   Another interesting RDF engine is Redland (see <a href="http://librdf.org/">http://librdf.org/</a>)<br/>
   <br/>
   Document, Attachment and Note resources may contains text or
  binary data.<br/>
   This data is not stored in the RDF description of the
  library. Instead, we store it in a data repository on the hard
  disk.<br/>
   The data repository may be implemented using regular
  files/directories or using a database. For now, I will use the
  file system approach. Thus data will be stored in files inside
  a directory tree structure that will be defined later.<br/>
   Document data is stored as DocBook files and Note data is
  stored as plain text.<br/>
   <br/>
   There are two kinds of search we can perform on
  resources:<br/>
   

  <ol>
   <li>Search based on resource properties (using METADATA
   fields)</li>

   <li>Search on Document text data (using a text search
   engine)<br/>
   </li>
  </ol>
  As text search engine I choosed Lucene that is already
  included by eclipse<br/>
   (see <a href="http://jakarta.apache.org/lucene/docs/index.html">http://jakarta.apache.org/lucene/docs/index.html</a>)<br/>
   <br/>
   The DocBook files will not be displayed directly by the
  eclipse plugin because<br/>
   this requires extra work to create a DocBook editor using
  eclipse SWT library.<br/>
   Instead, we will convert the DocBooks into HTML files that
  can be viewed in eclipse using the embeded web browser.<br/>
   <br/>
   Basically, to browse a book repsoitory, we need to create a
  Tree Navigator View and a HTML Browser.<br/>
   The Tree view is used to display the repository structure and
  the HTML Browser is used to display the Documents data when a
  Document node from the Tree View is double-clicked.<br/>
   There are also views that need to be created like: Bookmarks
  list, Metadata view, Notes list, Context Navigation, Search
  result etc.<br/>
   <br/>
   Also, a Welcome page (Home page) needs to be dispalyed the
  first time the user open a book repository.<br/>
   The Welcome page will be implemented as an HTML page
  (displayable in a HTML Browser instance)<br/>
   The content of the Welcome page is not yet defined.<br/>
   <br/>
   Another requirement of the application is to implement a
  method to synchronize (i.e. update) repositories with a
  central server.<br/>
   This will be implemented using a diff/patch system (based on
  the unix diff tool or on a XML diff tool)<br/>
   Update procedure:<br/>
   

  <ol>
   <li>download the update packages (a collection of diff files
   and attachments)</li>

   <li>Apply diff files on the local versions</li>

   <li>Rebuild the RDF database and the text search
   indexes<br/>
   </li>
  </ol>
  <br/></div>
    </content>
    <updated>2005-03-08T01:20:33Z</updated>
    <published>2005-03-08T01:20:33Z</published>
    <category term="eclipse"/>
    <category term="nuxeo"/>
    <author>
      <name>bstefanescu</name>
    </author>
    <source>
      <id>tag:blogs.nuxeo.com:sections:blogs:bogdan_stefanescu</id>
      <link href="http://blogs.nuxeo.com/sections/blogs/bogdan_stefanescu" rel="alternate" type="text/html"/>
      <link href="http://blogs.nuxeo.com/sections/blogs/bogdan_stefanescu/ http://blogs.nuxeo.com/sections/blogs/bogdan_stefanescu/atomCategories" rel="service.categories" type="application/atom+xml"/>
      <link href="http://blogs.nuxeo.com/sections/blogs/bogdan_stefanescu/exportatom" rel="self" type="application/atom+xml"/>
      <subtitle>ATOM Feed - Bogdan Stefanescu</subtitle>
      <title>Bogdan Stefanescu</title>
      <updated>2005-01-25T10:17:16Z</updated>
    </source>
  </entry>
</feed>

