<?xml version="1.0" encoding="UTF-8"?>
<!-- name="generator" content="blojsom v3.2" -->
<rss version="2.0" xmlns:wfw="http://wellformedweb.org/CommentAPI/">
    <channel>
        <title>The Engine</title>
        <link>http://engine.tomoton.com/blog/default</link>
        <description>Under the Hood of Mind, Code and Matter</description>
        <language>en</language>
        <image>
            <url>http://engine.tomoton.com/favicon.ico</url>
            <title>The Engine</title>
            <link>http://engine.tomoton.com/blog/default</link>
        </image>
        <docs>http://blogs.law.harvard.edu/tech/rss</docs>
		<generator>blojsom v3.2</generator>
		<managingEditor>info@tomoton.com</managingEditor>
		<webMaster>info@tomoton.com</webMaster>
		<pubDate>Fri, 22 May 2009 11:17:08 +0200</pubDate>

                        <item>
            <title>Document your Eclipse obsession!</title>
            <link>http://engine.tomoton.com/blog/default/2009/05/22/Document-your-Eclipse-obsession</link>
            <description>&lt;p&gt;Eclipse has been and still is pivotal in almost all of the projects I have been working on, thus far. I can&#39;t remember the amount of times I have already downloaded that 120-ish megabyte drop, but we&#39;re talking high numbers here.&lt;/p&gt;
&lt;p&gt;Doug Shaefer&#39;s Wascana is in there, for sure. I was really sad when I read about his decision to call it quits, but I do understand. There seems to be a poor understanding of the challenges the concept of &#39;Open Source&#39; faces. I think &#39;Strong Governance&#39; is needed, when resources are limited. We do not have the luxury of choice, contrary to what many sheepishly advocate. I don&#39;t need two ways to connect to a Subversion repository. I just need one which works out of the box. What&#39;s up with GMF, as people are abandoning GEF because it doesn&#39;t support their needs? Since when is Maven integration a good idea?&lt;/p&gt;   
&lt;div class=&quot;centainer&quot;&gt; 
&lt;img class=&quot;insert&quot; src=&quot;http://engine.tomoton.com/resources/default/eclipse-obsession.png&quot; alt=&quot;Out of disk space!&quot; /&gt;&lt;/div&gt;
&lt;p&gt;I admit, the 1.0 version is only there to scare the children. And to show &#39;Final Boy&#39;, that peculiar junior consultant, who insisted on putting the &#39;final&#39; keyword everywhere, without actually understanding what it means.&lt;/p&gt;
&lt;p&gt;Come on, send in yours!&lt;/p&gt;
</description>
            <guid>http://engine.tomoton.com/blog/default/2009/05/22/Document-your-Eclipse-obsession</guid>
			<pubDate>Fri, 22 May 2009 11:17:08 +0200</pubDate>
            <category>/eclipse/</category>
                                        <wfw:comment>http://engine.tomoton.com/commentapi/default/eclipse/2009/05/22/Document-your-Eclipse-obsession</wfw:comment>
            <wfw:commentRss>http://engine.tomoton.com/blog/default/2009/05/22/Document-your-Eclipse-obsession?page=comments&amp;flavor=rss2</wfw:commentRss>
                                </item>
                        <item>
            <title>The RFID-enabled Eclipse IDE, part I</title>
            <link>http://engine.tomoton.com/blog/default/2009/05/18/The-RFID-enabled-Eclipse-IDE-part-I</link>
            <description>&lt;blockquote&gt;&lt;h4&gt;Can alternative input methods help?&lt;/h4&gt;&lt;/blockquote&gt;
&lt;p&gt;As it stands today, most of us still use a keyboard and a mouse to convey our intentions to the software running on our computers. You might consider touch screens, popularized through the iPhone, as a novel way to interact with your gizmo, but that&#39;s just a variation of typing and moving, all at the same time. Although there already has been a lot of research in this area, alternative input methods have not hit the mainstream, yet. Speech recognition looks promising, but can you imagine dictating code to your IDE, out loud? Typically, specialized input methods only make sense in the niche they were designed for. Jean-Dominique Bauby wrote his book &#39;The Diving Bell and the Butterfly&#39; by simply blinking his eyelids. Tragically, as he suffered from Locked-in Syndrome, it was the only method left to him. And despite all the research, some of the really appealing interfaces are only &#39;on display&#39; in science fiction movies, such as the one Tom Cruise is gesticulating with in &#39;Minority Report&#39;, or the plug that fits snuggly into Keeanu Reeves&#39; Occipital bone of the skull in &#39;The Matrix&#39;. A company called &lt;a href=&quot;http://emotiv.com/&quot;&gt;Emotiv&lt;/a&gt; claims that the future is already here, however. They&#39;ve come up with a head set, called &#39;EPOC&#39;, which translates your brainwaves to allow for some interaction with your PC. Great for games, apparently. And for switching Eclipse Perspectives, no doubt.&lt;/p&gt;
&lt;div class=&quot;centainer&quot;&gt;
&lt;img class=&quot;insert&quot; src=&quot;http://engine.tomoton.com/resources/default/mouse-keyboard-engelbart.png&quot; alt=&quot;Douglas Engelbart&#39;s team shows keyboard and mouse&quot; /&gt;&lt;/div&gt;
&lt;div class=&quot;centainer&quot;&gt;
&lt;img class=&quot;insert&quot; src=&quot;http://engine.tomoton.com/resources/default/emotiv-epoc.jpg&quot; alt=&quot;Emotiv&#39;s EPOC head set&quot; /&gt;&lt;/div&gt;
&lt;p&gt;For those of you who might even consider more &#39;indirect&#39; methods, such as trained animals, the only thing to remember is: &#39;Don&#39;t!&#39; You might think that you can get away with &lt;a href=&quot;http://www.ohesso.com/essays/essay006.htm&quot;&gt;kittens agreeing to EULA&#39;s&lt;/a&gt;. But isn&#39;t that you just being cocky? Because maybe, just maybe, once that paw hits enter, SWAT teams may invade your home and rearrange your furniture. You would end up living a life in fear, always on the look-out for laser pointers dotting your forehead through the venetian blinds (not to mention you would look cross-eyed all the time). And that&#39;s just cats. Ever since the unfortunate lab fire of &#39;07, all research on the subject of &#39;coding through squirrels&#39; has been banned. And rightfully so. Yes, they can generate sparks by striking flint stones against a stainless steel surface. No, they&#39;ll never get the hang of remote debugging. Just move on. It&#39;s either that, or watch the flames lick across the rooftop of your favorite Starbucks, next door. Squirrels: probably only put on the surface of the earth to prove Darwin wrong! No, you &#39;d better stick to finding new input methods using inanimate objects. And RFID technology. Yeah, that&#39;ll work. But will it work with Eclipse?&lt;/p&gt;
&lt;div class=&quot;centainer&quot;&gt;
&lt;img class=&quot;insert&quot; src=&quot;http://engine.tomoton.com/resources/default/mavenites-vs-squirrels.png&quot; alt=&quot;People never learn!&quot; /&gt;&lt;/div&gt;
&lt;p&gt;As the ECF project has already demonstrated with its &#39;Shared Editing&#39; feature, the prevalence of the &#39;Command Pattern&#39; in Eclipse&#39;s architecture makes it easy to invoke actions otherwise triggered through keyboard or mouse interaction. With a home-made set of plug-ins, actions can be invoked from inside Eclipse, by putting RFID-enabled objects on a connected RFID reader. The plug-ins come in two groups. One group is a set of pure OSGi bundles, containing all the services required to (1) detect RFID readers, (2) manage &#39;drivers&#39; for all supported readers and (3) propagate RFID card events to interested parties. The second group is a set of RCP plug-ins, containing all the plumbing to (1) show visual feedback of the interaction in the workbench trim area and (2) manipulate the Eclipse command stack. The system records the necessary data, in case the command is parameterized. The plug-ins do not interfere with the normal operation of the Eclipse IDE. The workflow is straightforward, as demonstrated in the following movie. The reader in the demonstration is the ACR 128 USB reader, manufactured by ACS from Taiwan, and uses a PC/SC software interface.&lt;/p&gt;
&lt;div class=&quot;centainer&quot;&gt;
&lt;object width=&quot;560&quot; height=&quot;340&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/8l5wDcV3vso&amp;hl=en&amp;fs=1&amp;color1=0x3a3a3a&amp;color2=0x999999&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowscriptaccess&quot; value=&quot;always&quot;&gt;&lt;/param&gt;&lt;embed src=&quot;http://www.youtube.com/v/8l5wDcV3vso&amp;hl=en&amp;fs=1&amp;color1=0x3a3a3a&amp;color2=0x999999&quot; type=&quot;application/x-shockwave-flash&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;true&quot; width=&quot;560&quot; height=&quot;340&quot;&gt;&lt;/embed&gt;&lt;/object&gt;
&lt;/div&gt;
&lt;p&gt;Just to give you an idea of what can be recorded and replayed at the moment: (1) Refresh Workspace, Import/Export (without completion) and Add Bookmark (requires selection), (2) Undo/Redo and Select All, (3) Refactor History, (4) Navigate Back/Forward, (5) Build and Clean Project, (6) Run Last Launched and Run External Tool, (7) Customize, Save, Reset and Close Perspective and (8) Welcome, Help Contents, Dynamic Help, Cheat Sheets and About. A lot of commands respond to selection: they operate on a resource selected in one of the views or editors. Admittedly, a shortcoming of the current implementation is that the selection is not restored prior the invocation of the recorded action. That should be feasible, but the solution introduces another problem. The real power of the system lies in the ability to exchange a physical card with a colleague, in order to allow her or him to invoke that same action. Although this can easily be done using ECF, the need arises to synchronize state between two different Eclipse Workbench instances. E.g.: sharing a bookmark using an RFID card requires both the bookmarked file, as well as the bookmark itself available on both instances.&lt;/p&gt;
&lt;div class=&quot;centainer&quot;&gt;
&lt;img class=&quot;insert&quot; src=&quot;http://engine.tomoton.com/resources/default/rfid-enabled-dynamic-help.png&quot; alt=&quot;Activating Dynamic Help&quot; /&gt;&lt;/div&gt;
&lt;p&gt;Coming up in part II: starting Mylyn tasks with rabbits!&quot;&lt;/p&gt;
</description>
            <guid>http://engine.tomoton.com/blog/default/2009/05/18/The-RFID-enabled-Eclipse-IDE-part-I</guid>
			<pubDate>Mon, 18 May 2009 14:32:23 +0200</pubDate>
            <category>/eclipse/</category>
                                        <wfw:comment>http://engine.tomoton.com/commentapi/default/eclipse/2009/05/18/The-RFID-enabled-Eclipse-IDE-part-I</wfw:comment>
            <wfw:commentRss>http://engine.tomoton.com/blog/default/2009/05/18/The-RFID-enabled-Eclipse-IDE-part-I?page=comments&amp;flavor=rss2</wfw:commentRss>
                                </item>
                        <item>
            <title>Leveraging Agile Practices with the RFID-enabled Eclipse IDE</title>
            <link>http://engine.tomoton.com/blog/default/2009/01/08/Leveraging-Agile-Practices-with-the-RFID-enabled-Eclipse-IDE</link>
            <description>&lt;p&gt;The pursuit of new input methods for Eclipse might have suffered a major set-back, as it dawned on all parties involved that trained squirrels would not be the next big thing. At first, the results looked promising. After all, those pesky fur balls seemed to be able to pick up subtle cues conveyed through body language alone. Just a little nod to indicate that it was time for the Java Perspective. Lifting a brow or two to scroll through the files in the Navigator. Or bolder: assuming the fetal position to have the Workspace refreshed. All that value in return for just some nuts and raisins. And they were so cute, too! Until they turned evil, that is, when all hell broke loose and a squeaky pandemonium ensued. Where did it all go wrong?&lt;/p&gt;

&lt;p&gt;Clearly, it was time to go back to the drawing board. Why not try passive RFID tags? Passive... sounds harmless, right?&lt;/p&gt;

&lt;p&gt;At the next EclipseCon, I&#39;ll be &lt;a href=&quot;http://www.eclipsecon.org/2009/sessions?id=431&quot;&gt;presenting&lt;/a&gt; the RFID-enabled Eclipse IDE. And because it&#39;s not just about raising the geek factor, I hope to show you can do something useful too. Since the Agile approach encourages tangible interaction, physical objects are welcome to participate in the software development process. More specifically, with RFID those objects allow you to interact in a novel way with your Eclipse IDE.&lt;/p&gt;

&lt;div class=&quot;centainer&quot;&gt;
&lt;img src=&quot;http://engine.tomoton.com/resources/default/rfid-story-card.png&quot; alt=&quot;RFID-enabled Story Card&quot; class=&quot;polaroid&quot; /&gt;
&lt;div class=&quot;polaroidtext&quot;&gt;RFID-enabled Story Card&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Sounds intriguing? If I managed to get your attention, I hope to see you in Santa Clara soon! A special thanks to &lt;em&gt;Bjorn Freeman-Benson&lt;/em&gt; for making this possible. If he brings a personal item, we&#39;ll teach it some new Eclipse tricks ;)&lt;/p&gt;

&lt;p&gt;Don&#39;t forget to register early, I did!&lt;/p&gt;
</description>
            <guid>http://engine.tomoton.com/blog/default/2009/01/08/Leveraging-Agile-Practices-with-the-RFID-enabled-Eclipse-IDE</guid>
			<pubDate>Thu, 8 Jan 2009 05:34:46 +0100</pubDate>
            <category>/eclipse/</category>
                                        <wfw:comment>http://engine.tomoton.com/commentapi/default/eclipse/2009/01/08/Leveraging-Agile-Practices-with-the-RFID-enabled-Eclipse-IDE</wfw:comment>
            <wfw:commentRss>http://engine.tomoton.com/blog/default/2009/01/08/Leveraging-Agile-Practices-with-the-RFID-enabled-Eclipse-IDE?page=comments&amp;flavor=rss2</wfw:commentRss>
                                </item>
                        <item>
            <title>Eclipse 3.4: Ganymede has landed!</title>
            <link>http://engine.tomoton.com/blog/default/2008/06/27/Eclipse-3-4-Ganymede-has-landed</link>
            <description>&lt;blockquote&gt;&amp;nbsp;&lt;h4&gt;I&#39;m so happy I can hardly contain myself!&lt;/h4&gt;&lt;/blockquote&gt;
&lt;div class=&quot;centainer&quot;&gt;
&lt;img class=&quot;insert&quot; src=&quot;http://engine.tomoton.com/resources/default/ren-n-stimpy.gif&quot; alt=&quot;Happy Happy Joy Joy!&quot; /&gt;
&lt;/div&gt;
</description>
            <guid>http://engine.tomoton.com/blog/default/2008/06/27/Eclipse-3-4-Ganymede-has-landed</guid>
			<pubDate>Fri, 27 Jun 2008 14:18:05 +0200</pubDate>
            <category>/eclipse/</category>
                                        <wfw:comment>http://engine.tomoton.com/commentapi/default/eclipse/2008/06/27/Eclipse-3-4-Ganymede-has-landed</wfw:comment>
            <wfw:commentRss>http://engine.tomoton.com/blog/default/2008/06/27/Eclipse-3-4-Ganymede-has-landed?page=comments&amp;flavor=rss2</wfw:commentRss>
                                </item>
                        <item>
            <title>Byzantine or Babylonian Confusion in Eclipse?</title>
            <link>http://engine.tomoton.com/blog/default/2008/05/26/Byzantine-or-Babylonian-Confusion-in-Eclipse</link>
            <description>&lt;p&gt;The entry in Wikipedia on &lt;a href=&quot;http://en.wikipedia.org/wiki/Byzantine_fault_tolerance&quot;&gt;Byzantine Fault Tolerance&lt;/a&gt; seems to suggest that the failure of a compiler to report rigorously on the remaining code base, once a syntactical error has been encountered, is an example of a &lt;em&gt;Byzantine Fault&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Somehow, as &lt;em&gt;Byzantine Fault Models&lt;/em&gt; are a topic of study in the field of distributed computing, this example feels a bit out of place. The stated problem does not illustrate a specific known issue with distributed compilers either, since it can easily be demonstrated with a compiler running on a standalone single-processing machine. Is this example perhaps the result of Babylonian confusion?&lt;/p&gt;
&lt;div class=&quot;centainer&quot;&gt;
&lt;img class=&quot;insert&quot; src=&quot;http://engine.tomoton.com/resources/default/fail_to_compile_1.png&quot; alt=&quot;JDT Problems View&quot; /&gt;
&lt;/div&gt;
&lt;p&gt;The above example shows a first attempt to make the compiler trip over itself and generate a superfluous error, but does it? Unfortunately, this little ambush yields only one error in the Problems View: in the Java Editor the access modifier of the constructor is flagged as the offending syntax. That&#39;s a near miss, of course. The screenshot is taken from the JDT bundled with &lt;a href=&quot;about:M20070212-1330&quot;&gt;Eclipse 3.2.2&lt;/a&gt;. It can be reproduced on Eclipse 3.4M7.&lt;/p&gt;
&lt;div class=&quot;centainer&quot;&gt;
&lt;img class=&quot;insert&quot; src=&quot;http://engine.tomoton.com/resources/default/fail_to_compile_2.png&quot; alt=&quot;Outline View&quot; /&gt;
&lt;/div&gt;
&lt;p&gt;Remarkably, the Outline View shows a class with the alledgedly offending constructor visible. The incremental compiler of the JDT has classified this error, but managed to create a class file nonetheless. Other objects &lt;em&gt;can&lt;/em&gt; invoke this constructor. The fact that a marker is reporting an issue on a working construct is very confusing. It would not be unfair to flag this as a JDT bug. Even if the broken statement is the cause for the compiler&#39;s faulty marking, at the least the broken statement should have been marked as well.&lt;/p&gt; 
&lt;div class=&quot;centainer&quot;&gt;
&lt;img class=&quot;insert&quot; src=&quot;http://engine.tomoton.com/resources/default/fail_to_compile_3.png&quot; alt=&quot;Netbeans Does It&quot; /&gt;
&lt;/div&gt;
&lt;p&gt;A quick comparison with the competition, &lt;a href=&quot;about:Build 200801291616&quot;&gt;Netbeans 6.0.1&lt;/a&gt; shows that it can be done. Netbeans complains that it cannot find the class &lt;em&gt;dontSto&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;This run-in with the unexpected behaviour of the JDT compiler might have taken the attention away from the original question, yet so far there is no tangible evidence to support an analogy with the underlying Byzantine Generals problem. The compiler is simply struggling with problems studied in the field of Formal Languages Theory. Call it a &lt;em&gt;Babylonian Fault&lt;/em&gt; instead if you will, even by granting some vague similarity in terms of recognizing a locus of fault, Byzantine it surely is not.&lt;/p&gt;
</description>
            <guid>http://engine.tomoton.com/blog/default/2008/05/26/Byzantine-or-Babylonian-Confusion-in-Eclipse</guid>
			<pubDate>Mon, 26 May 2008 02:13:05 +0200</pubDate>
            <category>/eclipse/</category>
                                        <wfw:comment>http://engine.tomoton.com/commentapi/default/eclipse/2008/05/26/Byzantine-or-Babylonian-Confusion-in-Eclipse</wfw:comment>
            <wfw:commentRss>http://engine.tomoton.com/blog/default/2008/05/26/Byzantine-or-Babylonian-Confusion-in-Eclipse?page=comments&amp;flavor=rss2</wfw:commentRss>
                                </item>
            </channel>
</rss>
