<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Villane &#187; Eclipse</title>
	<atom:link href="http://villane.wordpress.com/category/eclipse/feed/" rel="self" type="application/rss+xml" />
	<link>http://villane.wordpress.com</link>
	<description>Thoughts on software development</description>
	<lastBuildDate>Tue, 21 May 2013 08:38:18 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='villane.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Villane &#187; Eclipse</title>
		<link>http://villane.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://villane.wordpress.com/osd.xml" title="Villane" />
	<atom:link rel='hub' href='http://villane.wordpress.com/?pushpress=hub'/>
		<item>
		<title>JRebel 3.6 for Eclipse Released</title>
		<link>http://villane.wordpress.com/2011/02/01/jrebel-3-6-for-eclipse-released/</link>
		<comments>http://villane.wordpress.com/2011/02/01/jrebel-3-6-for-eclipse-released/#comments</comments>
		<pubDate>Tue, 01 Feb 2011 15:48:44 +0000</pubDate>
		<dc:creator>Erkki Lindpere</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[JRebel]]></category>

		<guid isPermaLink="false">http://villane.wordpress.com/?p=121</guid>
		<description><![CDATA[Today we (ZeroTurnaround) released version 3.6 of JRebel, our productivity tool for Java developers that eliminates many redeploys and restarts. Along with the core JRebel release, we made a major update to JRebel for Eclipse. With this release, we hopefully made getting started with and using JRebel for Eclipse super-easy, although I&#8217;m sure there are &#8230; <a href="http://villane.wordpress.com/2011/02/01/jrebel-3-6-for-eclipse-released/" class="more-link">Continue reading <span class="meta-nav">&#187;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=villane.wordpress.com&#038;blog=820948&#038;post=121&#038;subd=villane&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Today we (<a href="http://www.zeroturnaround.com/">ZeroTurnaround</a>) released version 3.6 of <a href="http://www.zeroturnaround.com/jrebel/">JRebel</a>, our productivity tool for Java developers that eliminates many redeploys and restarts. Along with the core JRebel release, we made a major update to <a href="http://marketplace.eclipse.org/content/jrebel-eclipse">JRebel for Eclipse</a>. With this release, we hopefully made getting started with and using JRebel for Eclipse super-easy, although I&#8217;m sure there are still things we can improve in the future.</p>
<p>There were quite a few things we did to make setting up JRebel for Eclipse easier. First, the plug-in is now available from the Eclipse Marketplace, making finding the plug-in and the installation process easier. Second, there is now a new plug-in that embeds JRebel itself &#8212; meaning that you will not have to install it separately, the Marketplace install contains everything you need. Third, with this release we also started signing our Eclipse plug-ins, eliminating one more step from the install process.</p>
<p>We also made other improvements to our Eclipse integration, including</p>
<ul>
<li>improvements to the debugger integration &#8212; stepping should now perform exactly as you expect</li>
<li>support for more launch configurations (WTP server editor sections and JRebel tabs for launch configurations), including OSGi and Virgo launch configurations</li>
<li>small UI improvements, making it easier to find logs, change JRebel&#8217;s settings, see licensing information and redeploy statistics</li>
<li>numerous other small improvements</li>
</ul>
<p>If you are not already using JRebel, we offer evaluation licenses to JRebel for Eclipse users and <a href="http://sales.zeroturnaround.com/">free licenses to open source and Scala developers</a>. But be warned: once you give it a try, you&#8217;ll never look back!</p>
<p style="text-align:center;"><a href="http://villane.files.wordpress.com/2011/02/install-marketplace.png"><img class="size-full wp-image-124 aligncenter" title="Install JRebel via Marketplace" src="http://villane.files.wordpress.com/2011/02/install-marketplace.png?w=545" alt=""   /></a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/villane.wordpress.com/121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/villane.wordpress.com/121/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=villane.wordpress.com&#038;blog=820948&#038;post=121&#038;subd=villane&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://villane.wordpress.com/2011/02/01/jrebel-3-6-for-eclipse-released/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/983a1933160b289c4debbf3cd7820563?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">villane</media:title>
		</media:content>

		<media:content url="http://villane.files.wordpress.com/2011/02/install-marketplace.png" medium="image">
			<media:title type="html">Install JRebel via Marketplace</media:title>
		</media:content>
	</item>
		<item>
		<title>Baseline Eclipse for Java Game Development?</title>
		<link>http://villane.wordpress.com/2009/08/29/baseline-eclipse-for-java-game-development/</link>
		<comments>http://villane.wordpress.com/2009/08/29/baseline-eclipse-for-java-game-development/#comments</comments>
		<pubDate>Sat, 29 Aug 2009 10:43:05 +0000</pubDate>
		<dc:creator>Erkki Lindpere</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Game programming]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Scala]]></category>
		<category><![CDATA[game tools]]></category>

		<guid isPermaLink="false">http://villane.wordpress.com/?p=101</guid>
		<description><![CDATA[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&#8217;m personally interested in &#8230; <a href="http://villane.wordpress.com/2009/08/29/baseline-eclipse-for-java-game-development/" class="more-link">Continue reading <span class="meta-nav">&#187;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=villane.wordpress.com&#038;blog=820948&#038;post=101&#038;subd=villane&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<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&#8217;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&#8217;t even include the Java Tools. I think this shouldn&#8217;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&#8217;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&#8217;m not considering that aspect right now.</p>
<p>This distribution shouldn&#8217;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&#8217;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 &#8212; I think this is very rarely used and just clutters the UI in some screens.</li>
<li>Ant support &#8212; I think a lot of people would be against this, so it should probably stay</li>
<li>CVS support &#8212; 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&#8217;m wrong).</li>
<li>Help &#8212; this is debatable, but I would remove it from the first version and decide later what to do with it</li>
<li>Welcome screen &#8212; same as help, can be added back later if it&#8217;s found to have some use</li>
<li>JUnit3 support &#8212; JUnit4 should be enough, I think</li>
<li>Various internal tools and plug-ins, backwards compatibility stuff</li>
</ul>
<p>I&#8217;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&#8217;t think there&#8217;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 &#8220;features&#8221; (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&#8217;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 rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/villane.wordpress.com/101/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/villane.wordpress.com/101/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=villane.wordpress.com&#038;blog=820948&#038;post=101&#038;subd=villane&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://villane.wordpress.com/2009/08/29/baseline-eclipse-for-java-game-development/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/983a1933160b289c4debbf3cd7820563?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">villane</media:title>
		</media:content>
	</item>
		<item>
		<title>P2 Still Not Awesome</title>
		<link>http://villane.wordpress.com/2009/06/26/p2-still-not-awesome/</link>
		<comments>http://villane.wordpress.com/2009/06/26/p2-still-not-awesome/#comments</comments>
		<pubDate>Fri, 26 Jun 2009 19:57:11 +0000</pubDate>
		<dc:creator>Erkki Lindpere</dc:creator>
				<category><![CDATA[Eclipse]]></category>

		<guid isPermaLink="false">http://villane.wordpress.com/?p=89</guid>
		<description><![CDATA[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&#8217;m trying to install VE into Galileo (Eclipse for Java + M2Eclipse + Subclipse + Scala IDE). There are two usability issues with this. The first is &#8230; <a href="http://villane.wordpress.com/2009/06/26/p2-still-not-awesome/" class="more-link">Continue reading <span class="meta-nav">&#187;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=villane.wordpress.com&#038;blog=820948&#038;post=89&#038;subd=villane&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<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&#8217;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 &#8220;Visual Editor&#8221; feature from the site, I don&#8217;t have a &#8220;select dependencies&#8221; 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&#8217;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 class="size-full wp-image-90 aligncenter" title="P2 unresolved dependencies" src="http://villane.files.wordpress.com/2009/06/vemissingdeps.png?w=545" alt="P2 unresolved dependencies"   /></p>
<p>Am I really supposed to decipher this text and take action based on that? No thanks, I&#8217;ll just skip installing VE this time, I don&#8217;t have actual need for it right now.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/villane.wordpress.com/89/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/villane.wordpress.com/89/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=villane.wordpress.com&#038;blog=820948&#038;post=89&#038;subd=villane&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://villane.wordpress.com/2009/06/26/p2-still-not-awesome/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/983a1933160b289c4debbf3cd7820563?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">villane</media:title>
		</media:content>

		<media:content url="http://villane.files.wordpress.com/2009/06/vemissingdeps.png" medium="image">
			<media:title type="html">P2 unresolved dependencies</media:title>
		</media:content>
	</item>
		<item>
		<title>Eclipse finally defaults to UTF-8? In my dreams</title>
		<link>http://villane.wordpress.com/2009/05/03/eclipse-finally-defaults-to-utf-8-in-my-dreams/</link>
		<comments>http://villane.wordpress.com/2009/05/03/eclipse-finally-defaults-to-utf-8-in-my-dreams/#comments</comments>
		<pubDate>Sat, 02 May 2009 23:29:38 +0000</pubDate>
		<dc:creator>Erkki Lindpere</dc:creator>
				<category><![CDATA[Eclipse]]></category>

		<guid isPermaLink="false">http://villane.wordpress.com/?p=62</guid>
		<description><![CDATA[Do my eyes deceive me? How the hell did this happen: This happens in an Eclipse Galileo milestone (3.5M6), I can&#8217;t remember which exact package I downloaded, because I required some unusual combination of plug-ins. If it was truly the case that UTF-8 is now the default, it would be awesome, because often programmers forget &#8230; <a href="http://villane.wordpress.com/2009/05/03/eclipse-finally-defaults-to-utf-8-in-my-dreams/" class="more-link">Continue reading <span class="meta-nav">&#187;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=villane.wordpress.com&#038;blog=820948&#038;post=62&#038;subd=villane&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Do my eyes deceive me? How the hell did this happen:</p>
<div id="attachment_65" class="wp-caption alignnone" style="width: 460px"><img class="size-full wp-image-65" title="Eclipse Preferences Dialog" src="http://villane.files.wordpress.com/2009/05/eclipse_utf2.png?w=545" alt="Eclipse defaults to UTF-8?"   /><p class="wp-caption-text">Eclipse defaults to UTF-8?</p></div>
<p>This happens in an Eclipse Galileo milestone (3.5M6), I can&#8217;t remember which exact package I downloaded, because I required some unusual combination of plug-ins.</p>
<p>If it was truly the case that UTF-8 is now the default, it would be awesome, because often programmers forget to change the default setting when creating a new workspace and end up committing something in an encoding specific to their machine. Which is guaranteed to cause pain at some point.</p>
<p>Unfortunately I think this is probably just a bug, because I downloaded another 3.5M6 package and it still defaulted to my region-and-operating-system-specific encoding. And even if I create a new workspace with this instance of Eclipse, it will also default to the other encoding. I wonder what exactly could have caused this instance to default to UTF-8 for a particular workspace&#8230;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/villane.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/villane.wordpress.com/62/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=villane.wordpress.com&#038;blog=820948&#038;post=62&#038;subd=villane&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://villane.wordpress.com/2009/05/03/eclipse-finally-defaults-to-utf-8-in-my-dreams/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/983a1933160b289c4debbf3cd7820563?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">villane</media:title>
		</media:content>

		<media:content url="http://villane.files.wordpress.com/2009/05/eclipse_utf2.png" medium="image">
			<media:title type="html">Eclipse Preferences Dialog</media:title>
		</media:content>
	</item>
		<item>
		<title>The Improved Scala Eclipse Plugin</title>
		<link>http://villane.wordpress.com/2009/02/20/the-improved-scala-eclipse-plugin/</link>
		<comments>http://villane.wordpress.com/2009/02/20/the-improved-scala-eclipse-plugin/#comments</comments>
		<pubDate>Fri, 20 Feb 2009 19:42:18 +0000</pubDate>
		<dc:creator>Erkki Lindpere</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Scala]]></category>

		<guid isPermaLink="false">http://villane.wordpress.com/?p=53</guid>
		<description><![CDATA[For the last few days I&#8217;ve been working on an Eclipse plug-in using a combination of mixed Java/Scala projects. That is, the same source folder contains both Java and Scala files. I think it&#8217;s awesome that this is finally working! At least I wasn&#8217;t aware if it was working before. There are still bugs in &#8230; <a href="http://villane.wordpress.com/2009/02/20/the-improved-scala-eclipse-plugin/" class="more-link">Continue reading <span class="meta-nav">&#187;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=villane.wordpress.com&#038;blog=820948&#038;post=53&#038;subd=villane&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>For the last few days I&#8217;ve been working on an Eclipse plug-in using a combination of mixed Java/Scala projects. That is, the same source folder contains both Java and Scala files. I think it&#8217;s awesome that this is finally working! At least I wasn&#8217;t aware if it was working before. There are still bugs in the Scala Plug-in for Eclipse, but the integration with JDT is now a lot better than before, thanks in part to <a href="http://contraptionsforprogramming.blogspot.com/2009/02/extending-jdt-part-ii.html">Equinox Aspects</a> as I understand. You can get the 2.8.x branch of the Scala plug-in, which contains the improvements, from the <a href="http://www.scala-lang.org/scala-eclipse-plugin-nightly">nightly builds update site</a>.</p>
<p>Also, I noticed a curiosity: I wrote the most complex parts of the mixed projects in Scala, but I mostly created bugs in the comparatively trivial Java code. The Scala code ended up almost bug free from the start, even with hours and hours of coding without actually running the code. Is it really harder to create bugs in Scala? I&#8217;d like to think so.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/villane.wordpress.com/53/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/villane.wordpress.com/53/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=villane.wordpress.com&#038;blog=820948&#038;post=53&#038;subd=villane&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://villane.wordpress.com/2009/02/20/the-improved-scala-eclipse-plugin/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/983a1933160b289c4debbf3cd7820563?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">villane</media:title>
		</media:content>
	</item>
		<item>
		<title>Ziggy Returns, Rewritten in Scala</title>
		<link>http://villane.wordpress.com/2008/10/02/ziggy-returns-rewritten-in-scala/</link>
		<comments>http://villane.wordpress.com/2008/10/02/ziggy-returns-rewritten-in-scala/#comments</comments>
		<pubDate>Thu, 02 Oct 2008 18:10:02 +0000</pubDate>
		<dc:creator>Erkki Lindpere</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Scala]]></category>

		<guid isPermaLink="false">http://villane.wordpress.com/?p=42</guid>
		<description><![CDATA[For about three years already I&#8217;ve been working on and off on a server/bot that runs Interactive Fiction games on web forums, effectively turning the single-player text adventure games into cooperative. The beta version launched at Idle Thumbs more than a year ago, but unfortunately it had some problems that made it crash regularly, and &#8230; <a href="http://villane.wordpress.com/2008/10/02/ziggy-returns-rewritten-in-scala/" class="more-link">Continue reading <span class="meta-nav">&#187;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=villane.wordpress.com&#038;blog=820948&#038;post=42&#038;subd=villane&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>For about three years already I&#8217;ve been working on and off on a server/bot that runs <a title="Interactive fiction - Wikipedia" href="http://en.wikipedia.org/wiki/Interactive_fiction">Interactive Fiction</a> games on web forums, effectively turning the single-player text adventure games into cooperative. The beta version <a title="Equinox &amp; ECF serving interactive fiction" href="http://villane.blogspot.com/2007/06/equinox-ecf-serving-interactive-fiction.html">launched</a> at <a title="Idle Thumbs" href="http://www.idlethumbs.net/">Idle Thumbs</a> more than a year ago, but unfortunately it had some problems that made it crash regularly, and I didn&#8217;t find the time to fix them.</p>
<p>We&#8217;ll, a couple of weeks ago I decided to take the time and rewrote the main server code in Scala. That took only about a week and a half, the bot is now live again and running <a title="The Hitchhiker's Guide to the Galaxy - Idle Forums" href="http://www.idlethumbs.net/forums/showthread.php?t=5985">Hitchhiker&#8217;s Guide to the Galaxy</a>. There are still several Java libraries in use of course: <a href="http://en.wikipedia.org/wiki/Z-machine">Z-Machine</a> from <a href="http://zinc-if.sourceforge.net/">Zinc</a>, Bulletin Board API and <a href="http://www.eclipse.org/ecf/">ECF</a>, <a href="http://velocity.apache.org/">Velocity</a>, <a href="http://hc.apache.org/httpclient-3.x/">HTTPClient</a> etc. But the main server code is now written in Scala.</p>
<p>My main goal for this rewrite, besides switching to Scala, was to simplify the architecture (back to the roots, I guess): the previous architecture was becoming too <a href="http://en.wikipedia.org/wiki/Enterprise_software#Criticisms">enterprisey</a> for such a small project. It had too many layers of abstraction, some multi-threading issues made the code hard to debug, and using an OSGi runtime proved to be not that useful in my context. I still think <a href="http://www.osgi.org/">OSGi</a> is great, but sometimes simplicity is even better :)</p>
<p>Thankfully, ECF still works outside of OSGi and only requires two libraries from <a href="http://eclipse.org/equinox">Equinox</a>. By dropping OSGi, I could simplify the build process (or at least move it to what I&#8217;m more comfortable with &#8211; <a href="http://maven.apache.org/">Maven</a>). On the server I&#8217;m simply launching a Scala object with a main method instead of an OSGi runtime and that is good enough for this project.</p>
<p>The management console application was dropped as well, but I&#8217;m exposing some <a href="http://java.sun.com/javase/6/docs/api/javax/management/MXBean.html">MXBeans</a> on the server so <a href="https://visualvm.dev.java.net/">VisualVM</a> or JConsole can be used for management. Web-based management is planned for the future.</p>
<p>Another simplification was dropping some layers of abstraction and removing code that was there only to support hypothetical future features (such as games on IRC and IM, many Interactive Fiction VM implementations etc.). I may be adding some of those layers back in the future, but for now the code should focus on making the core functionality (running a Z-machine game in a vBulletin or phpBB forum thread) as good as it can be.</p>
<p>Perhaps the most improvement that came from this rewrite was that Scala code tends to be about two times shorter than equivalent Java code, as I aslo experienced with my Scala port of Box2D, which I mentioned in a <a href="http://villane.wordpress.com/2008/09/15/modelling-game-entities-using-traits/">previous post</a>.</p>
<p>But I would say that using <a title="A Short Tutorial" href="http://www.scala-lang.org/node/242">Actors</a> for communication between different threads has also gained me some simplicity and I was now better able to understand and fix some of the concurrency issues that used to make the server hang. However, I wasn&#8217;t able to move to a completely Actor-based communication model yet, as some of aspects of the messaging between the Z-machine and the forum bot still seemed easier done using other methods, such as <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/concurrent/BlockingQueue.html">blocking queues</a>. Maybe I just don&#8217;t know enough about actors yet.</p>
<p>Overall, I&#8217;m happy with the result so far and since I find programming in Scala to be more enjoyable than Java, I think I will be more motivated to further develop Ziggy and keep it running smoothly from now on.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/villane.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/villane.wordpress.com/42/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=villane.wordpress.com&#038;blog=820948&#038;post=42&#038;subd=villane&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://villane.wordpress.com/2008/10/02/ziggy-returns-rewritten-in-scala/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/983a1933160b289c4debbf3cd7820563?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">villane</media:title>
		</media:content>
	</item>
		<item>
		<title>Using Scala with Web Tools</title>
		<link>http://villane.wordpress.com/2008/02/07/using-scala-with-web-tools/</link>
		<comments>http://villane.wordpress.com/2008/02/07/using-scala-with-web-tools/#comments</comments>
		<pubDate>Thu, 07 Feb 2008 11:02:18 +0000</pubDate>
		<dc:creator>Erkki Lindpere</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Scala]]></category>

		<guid isPermaLink="false">http://villane.wordpress.com/?p=12</guid>
		<description><![CDATA[I was planning to write about how to use the Scala Plugin and Web Tools together to build Scala web applications in Eclipse, but thankfully James Bayer beat me to it, so I don&#8217;t have to bother :) The title says &#8220;Scala Development with Eclipse and Weblogic&#8221;, but there&#8217;s actually nothing really Weblogic specific there &#8230; <a href="http://villane.wordpress.com/2008/02/07/using-scala-with-web-tools/" class="more-link">Continue reading <span class="meta-nav">&#187;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=villane.wordpress.com&#038;blog=820948&#038;post=12&#038;subd=villane&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>I was planning to write about how to use the <a href="http://www.scala-lang.org/downloads/eclipse/index.html" title=" Scala Plugin for Eclipse">Scala Plugin</a> and Web Tools together to build Scala web applications in Eclipse, but thankfully James Bayer <a href="http://dev2dev.bea.com/blog/jbayer/archive/2008/02/scala_developme.html" title="Scala Development with Eclipse and Weblogic">beat me to it</a>, so I don&#8217;t have to bother :) The title says &#8220;Scala Development with Eclipse and Weblogic&#8221;, but there&#8217;s actually nothing really Weblogic specific there &#8212; using the Jetty server included in Eclipse is quite similar.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/villane.wordpress.com/12/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/villane.wordpress.com/12/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/villane.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/villane.wordpress.com/12/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=villane.wordpress.com&#038;blog=820948&#038;post=12&#038;subd=villane&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://villane.wordpress.com/2008/02/07/using-scala-with-web-tools/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/983a1933160b289c4debbf3cd7820563?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">villane</media:title>
		</media:content>
	</item>
		<item>
		<title>Is Blogger easily hackable?</title>
		<link>http://villane.wordpress.com/2007/09/08/is-blogger-easily-hackable/</link>
		<comments>http://villane.wordpress.com/2007/09/08/is-blogger-easily-hackable/#comments</comments>
		<pubDate>Sat, 08 Sep 2007 20:03:49 +0000</pubDate>
		<dc:creator>Erkki Lindpere</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://villane.wordpress.com/2007/09/08/is-blogger-easily-hackable/</guid>
		<description><![CDATA[I hadn&#8217;t checked my old blog at Blogger for a few weeks and when I tried to log in to Blogger yesterday I found I couldn&#8217;t access it. They now consider my blog a spam blog and it will have to be reviewed by a human before they can restore my access to it. WTF, &#8230; <a href="http://villane.wordpress.com/2007/09/08/is-blogger-easily-hackable/" class="more-link">Continue reading <span class="meta-nav">&#187;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=villane.wordpress.com&#038;blog=820948&#038;post=4&#038;subd=villane&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>I hadn&#8217;t checked my old blog at <a href="http://www.blogger.com/">Blogger</a> for a few weeks and when I tried to log in to Blogger yesterday I found I couldn&#8217;t access it. They now consider my blog a <a href="http://help.blogger.com/bin/answer.py?answer=42577#whatsasplog">spam blog</a> and it will have to be reviewed by a human before they can restore my access to it. WTF, I thought, and proceeded to check the site (I won&#8217;t link to it, you can guess if you really want to or maybe you remember for some reason). Indeed, it was filled with porn advertising and my content was gone. I&#8217;m not sure what will happen next, but for the moment I&#8217;m locked out of my blog while it&#8217;s displaying porn spam. All I can do is remove links to it from wherever possible.</p>
<p>I&#8217;m not sure what the moral of the story is, but it surely raises a question for me: is Blogger easily hackable? If whoever hacked it would have guessed/sniffed my password somehow, they would also have access to my Gmail account, which would be quite a bit more worrying, but that doesn&#8217;t seem to be the case. Of course, I changed my Google account&#8217;s password after this.</p>
<p>I do remember one time when logging into Blogger with my account, I actually gained access to someone else&#8217;s blog, who was probably coming from the same IP address as I. Might they be doing any security checks based on IP? At that time I did nothing about it, but in hindsight I probably should have notified Blogger about that incident.</p>
<p>In any case, I&#8217;m moving my blog to <a href="http://villane.wordpress.com">villane.wordpress.com</a> for the moment, also considering moving it to my own server later.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/villane.wordpress.com/4/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/villane.wordpress.com/4/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/villane.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/villane.wordpress.com/4/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=villane.wordpress.com&#038;blog=820948&#038;post=4&#038;subd=villane&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://villane.wordpress.com/2007/09/08/is-blogger-easily-hackable/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/983a1933160b289c4debbf3cd7820563?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">villane</media:title>
		</media:content>
	</item>
	</channel>
</rss>