<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3893653265530610075</id><updated>2011-07-29T07:18:44.546+01:00</updated><category term='sshfs'/><category term='maemo'/><category term='osgi'/><category term='galileo'/><category term='scala'/><category term='n800'/><category term='fuse'/><category term='mylyn'/><category term='tm'/><category term='jira'/><category term='ssh'/><category term='eclipse'/><category term='cacao'/><category term='rse'/><category term='liftweb'/><category term='lift'/><category term='efs'/><category term='equinox'/><category term='mylar'/><title type='text'>log4jey</title><subtitle type='html'>technical info, warnings and debug</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://log4jey.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3893653265530610075/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://log4jey.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>jey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>5</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3893653265530610075.post-7122304173064952047</id><published>2009-06-27T14:33:00.009+01:00</published><updated>2009-06-29T22:53:39.254+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='jira'/><category scheme='http://www.blogger.com/atom/ns#' term='mylar'/><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='galileo'/><category scheme='http://www.blogger.com/atom/ns#' term='mylyn'/><title type='text'>using mylyn with Jira without API access</title><content type='html'>&lt;a href="http://www.eclipse.org/mylyn/"&gt;Mylyn&lt;/a&gt;, the task-oriented Eclipse add-in, ships with a Jira connector (as also Trac, Bugzilla etc).  This lets you query issues from within Eclipse, schedule the resolution, associate it with code change etc&lt;br /&gt;&lt;br /&gt;However, the Jira connector requires that the XML-RPC API is enabled and accessible. You may be working on a project that doesn't have the API on, or you may want to track bugs on a public Jira for a project that you're not a member. For this, the Jira connector won't work.&lt;br /&gt;&lt;br /&gt;There is another way, using the &lt;a href="http://wiki.eclipse.org/index.php/Mylyn/Extensions#Web_Templates_.28Mylyn_Project.29"&gt;Web Template Connector&lt;/a&gt;, which I tried when Mylyn (then Mylar) first came out, but has since improved and now have working again with the current build that's part of the &lt;a href="http://www.eclipse.org/galileo/"&gt;Eclipse Galileo&lt;/a&gt; release. It should also work with the commercial product TaskTop, based on Mylyn.&lt;br /&gt;&lt;br /&gt;It's not nearly as powerful as the native Jira connector, so you don't get the fancy web forms for changing defects, and nor do you get the ability to store the Eclipse task context back onto the issue as an attachment. It is, though, better than no connector at all.&lt;br /&gt;&lt;br /&gt;The example below is for &lt;a href="https://issues.apache.org/jira/secure/Dashboard.jspa"&gt;Apache&lt;/a&gt;. It doesn't presume that you have a login account for their Jira, needing only the public interface. Mylyn does have support to manage logins, but this isn't needed for basic functionality and the config isn't demonstrated here.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:times new roman;font-size:180%;"  &gt;Recipe&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;A. Set up Jira Connector&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;1. Get Eclipse (preferably the new 3.5, a.k.a. Galileo), with Mylyn pre-installed&lt;br /&gt;2. Install the Mylyn &lt;span style="font-weight: bold;"&gt;Web Task Connector&lt;/span&gt; from the Mylyn Incubation Update Site at http://download.eclipse.org/tools/mylyn/update/incubator/&lt;br /&gt;3. Create a new Task Repository&lt;br /&gt;&lt;br /&gt;It's not immediately obvious in Mylyn how to do this. You can either (a) open the repositories view using Window ~ Show View | Task Repositories and then right-click to create a new repo, or (b) from the task view, click New Query and you'll get an option to create a new repository from the resulting dialog box&lt;br /&gt;&lt;br /&gt;4.  Choose &lt;span style="font-weight: bold;"&gt;Web Template (Advanced)&lt;/span&gt; from the list of repository types&lt;br /&gt;&lt;br /&gt;5. For server, choose &lt;span style="font-weight: bold;"&gt;https://issues.apache.org/jira/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;6. For label, choose &lt;span style="font-weight: bold;"&gt;Apache Jira&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;7. Click on &lt;span style="font-weight: bold;"&gt;Addiitonal Settings&lt;/span&gt; to open up the config box&lt;br /&gt;&lt;br /&gt;8. Add two parameters, leaving each of them blank. One called &lt;span style="font-weight: bold;"&gt;PID&lt;/span&gt;, and one called &lt;span style="font-weight: bold;"&gt;PREFIX&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;9. Click on &lt;span style="font-weight: bold;"&gt;Advanced Configuration&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;10. For Task URL, enter &lt;code&gt;${serverUrl}/browse/${PREFIX}-&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;11. For Task Query URL, enter &lt;code&gt;${serverUrl}/secure/IssueNavigator.jspa?reset=true&amp;amp;pid=${PID}&amp;amp;status=1&amp;amp;tempMax=500&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;12. For Query Pattern, enter &lt;code&gt;&amp;lt;td class="nav issuetype"&amp;gt;.*?alt="({Type}.*?)".*?&amp;lt;td class="nav issuekey"&amp;gt;.*?&amp;lt;a.*?&amp;gt;\w+-({Id}\d+).*?&amp;lt;td class="nav summary"&amp;gt;.*?&amp;lt;a.*?&amp;gt;({Description}.*?)&amp;lt;/a&amp;gt;.*?&amp;lt;td class="nav assignee"&amp;gt;\s*({Owner}.*?)&amp;lt;/td&amp;gt;&lt;/code&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Note&lt;/span&gt; Some Jiras are configured to hyperlink on the assignee, in which case you'll need to use this alternative Pattern:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&amp;lt;td class="nav issuetype"&amp;gt;.*?alt="({Type}.*?)".*?&amp;lt;td class="nav issuekey"&amp;gt;.*?&amp;lt;a.*?&amp;gt;\w+-({Id}\d+).*?&amp;lt;td class="nav summary"&amp;gt;.*?&amp;lt;a.*?&amp;gt;({Description}.*?)&amp;lt;/a&amp;gt;.*?&amp;lt;td class="nav assignee"&amp;gt;.*?&amp;lt;a.*?\s*({Owner}.*?)&amp;lt;/a&amp;gt;&lt;/code&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;13. Although there's more you can configure, this will do for basic usage, so click Finish&lt;br /&gt;&lt;br /&gt;That's the configuration now set for Apache Jira itself. For any other Jira installation, just replace the server Url in this recipe, e.g.  http://jira.codehaus.org/ for Codehaus&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;B.  Add an Apache Project&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now to set it up for a project in Apache.&lt;br /&gt;&lt;br /&gt;Two things you'll need from the Apache Jira to make it work:&lt;br /&gt;&lt;br /&gt;1. The &lt;span style="font-style: italic;"&gt;PID&lt;/span&gt; for the project. This is a unique integer for the project. Easiest way of finding this is to click on any of the issue reports and you'll see a &amp;amp;pid=99999 type parameter in the URL&lt;br /&gt;2. The &lt;span style="font-style: italic;"&gt;PREFIX&lt;/span&gt; for each issue. Mylyn insists on numeric IDs for issues, so you need to separately configure the Jira issure prefix, to form a complete Jira id, e.g. QPID-6464&lt;br /&gt;&lt;br /&gt;For example, if you want to bring in the Felix Jira, the two values you need are:&lt;br /&gt;&lt;br /&gt;PID: 12310100&lt;br /&gt;PREFIX: FELIX&lt;br /&gt;&lt;br /&gt;To configure this in Mylyn:&lt;br /&gt;&lt;br /&gt;1. Right click in task view for &lt;span style="font-weight: bold;"&gt;New Query&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;2. Select your previously configured &lt;span style="font-weight: bold;"&gt;APpache Jira&lt;/span&gt; from the list&lt;br /&gt;&lt;br /&gt;3. In the dialog box that follows, enter the values for PID and PREFIX&lt;br /&gt;&lt;br /&gt;4. Click on &lt;span style="font-weight: bold;"&gt;Finish&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;You should now see the Jira issues from Apache show up under the query. If you double-click on the Jira it will open it up in a web browser&lt;br /&gt;&lt;br /&gt;Mylyn will automatically check the Jira every so often for changes, and you'll get toast popping up to notify you.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Other Options&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The Web Connector also supports creating new Jiras and handing logins. For both cases you'll need a login for the site concerned&lt;br /&gt;&lt;br /&gt;The query used to drive the list of Jiras above is the simplest - all open jiras.  You can change this to any other URL you like, simply by copying the URL from the Jira web page and inserting the ${PID} and ${serverUrl} placeholders.&lt;br /&gt;&lt;br /&gt;You can also create new parameters to go into the URL, for example to pass a priority or component to Jira to make a more focussed query.&lt;br /&gt;&lt;br /&gt;One simple way to make use of this is as a Bug Watch, just capture the query URL for whatever bug site ypou're monitoring and Mylyn will do the rest of the work of keeping you up to date with what's been added and what's been fixed&lt;br /&gt;&lt;br /&gt;As you can see from the URL and parameter ability of the Web Connector, it's flexible enough to work with a wide variety of issue trackers, bulletin boards, mailing lists etc&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3893653265530610075-7122304173064952047?l=log4jey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://log4jey.blogspot.com/feeds/7122304173064952047/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3893653265530610075&amp;postID=7122304173064952047' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3893653265530610075/posts/default/7122304173064952047'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3893653265530610075/posts/default/7122304173064952047'/><link rel='alternate' type='text/html' href='http://log4jey.blogspot.com/2009/06/using-mylyn-with-jira-without-api.html' title='using mylyn with Jira without API access'/><author><name>jey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3893653265530610075.post-3654994616412194796</id><published>2007-10-13T15:38:00.000+01:00</published><updated>2007-10-13T15:44:00.088+01:00</updated><title type='text'>sql injection 101 ...</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://imgs.xkcd.com/comics/exploits_of_a_mom.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 500px;" src="http://imgs.xkcd.com/comics/exploits_of_a_mom.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3893653265530610075-3654994616412194796?l=log4jey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://xkcd.com/327/' title='sql injection 101 ...'/><link rel='replies' type='application/atom+xml' href='http://log4jey.blogspot.com/feeds/3654994616412194796/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3893653265530610075&amp;postID=3654994616412194796' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3893653265530610075/posts/default/3654994616412194796'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3893653265530610075/posts/default/3654994616412194796'/><link rel='alternate' type='text/html' href='http://log4jey.blogspot.com/2007/10/sql-injection-101.html' title='sql injection 101 ...'/><author><name>jey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3893653265530610075.post-1142217286378358902</id><published>2007-05-28T07:34:00.000+01:00</published><updated>2007-05-28T21:44:23.330+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='lift'/><category scheme='http://www.blogger.com/atom/ns#' term='liftweb'/><category scheme='http://www.blogger.com/atom/ns#' term='equinox'/><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='cacao'/><category scheme='http://www.blogger.com/atom/ns#' term='osgi'/><category scheme='http://www.blogger.com/atom/ns#' term='maemo'/><category scheme='http://www.blogger.com/atom/ns#' term='scala'/><title type='text'>liftWeb on OSGi</title><content type='html'>Bundled up &lt;a href="http://liftweb.net/"&gt;lift&lt;/a&gt; as an OSGi bundle to test out the server-side Eclipse Equinox functionality (and throw a little Scala in there too).&lt;br /&gt;&lt;br /&gt;It works, with a little wrapping. The Ajax chat example works fine, but the link has to be changed to /chat.html rather than /chat&lt;br /&gt;&lt;br /&gt;All made easier by switching to &lt;a href="http://download.eclipse.org/eclipse/downloads/drops/S-3.3RC2-200705251350/index.php"&gt;Eclipse 3.3RC2&lt;/a&gt;, which now ships with all the plugins needed to make jetty work, including servlets and JSPs. Made harder by the Eclipse implementation dumping the web.xml in favour of extension point contributions by individual bundles. There's a reason for that, but it makes it unlikely that complex webapps will port easily, and even the simplest won't be a war-drop-in.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Tried this out on my maemo box (&lt;a href="http://www.nseries.com/products/n800"&gt;nokia n800&lt;/a&gt; tablet), running &lt;a href="http://www.cacaojvm.org/"&gt;cacao&lt;/a&gt; as a jvm. Much slower start up than cvm; able to run some simple web-apps. All the required bundles resolved for lift, but couldn't get any pages to load - some stacktraces with reentrant lock failures to investigate.&lt;br /&gt;&lt;br /&gt;To try this out, add the following files to the liftweb war, repackaging it as an OSGi bundle:&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;plugin.xml&lt;/h3&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;plugin&amp;gt;&lt;br /&gt; &amp;lt;extension point="org.eclipse.equinox.http.registry.resources"&amp;gt;&lt;br /&gt;  &amp;lt;resource alias="/images" base-name="/images"&lt;br /&gt;   httpcontextId="liftweb" /&amp;gt;&lt;br /&gt;  &amp;lt;resource alias="/scripts" base-name="/scripts"&lt;br /&gt;   httpcontextId="liftweb" /&amp;gt;&lt;br /&gt;  &amp;lt;resource alias="/style" base-name="/style"&lt;br /&gt;   httpcontextId="liftweb" /&amp;gt;&lt;br /&gt;  &amp;lt;resource alias="/templates-hidden"&lt;br /&gt;   base-name="/templates-hidden" httpcontextId="liftweb" /&amp;gt;&lt;br /&gt;  &amp;lt;resource alias="/" base-name="/" httpcontextId="liftweb" /&amp;gt;&lt;br /&gt;&lt;br /&gt; &amp;lt;/extension&amp;gt;&lt;br /&gt; &amp;lt;extension point="org.eclipse.equinox.http.registry.servlets"&amp;gt;&lt;br /&gt;  &amp;lt;servlet alias="/*.html" class="net.liftweb.http.Servlet:/"&lt;br /&gt;   httpcontextId="liftweb"&amp;gt;&lt;br /&gt;   &amp;lt;init-param name="debug" value="1"&amp;gt;&amp;lt;/init-param&amp;gt;&lt;br /&gt;   &amp;lt;init-param name="listings" value="true"&amp;gt;&amp;lt;/init-param&amp;gt;&lt;br /&gt;  &amp;lt;/servlet&amp;gt;&lt;br /&gt; &amp;lt;/extension&amp;gt;&lt;br /&gt; &amp;lt;extension point="org.eclipse.equinox.http.registry.httpcontexts"&amp;gt;&lt;br /&gt;  &amp;lt;httpcontext id="liftweb"&amp;gt;&lt;br /&gt;   &amp;lt;resource-mapping path="/"&amp;gt;&amp;lt;/resource-mapping&amp;gt;&lt;br /&gt;  &amp;lt;/httpcontext&amp;gt;&lt;br /&gt;&lt;br /&gt; &amp;lt;/extension&amp;gt;&lt;br /&gt;&amp;lt;/plugin&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;MANIFEST.MF&lt;/h3&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;Manifest-Version: 1.0&lt;br /&gt;Bundle-ManifestVersion: 2&lt;br /&gt;Bundle-Name: Liftweb Plug-in&lt;br /&gt;Bundle-SymbolicName: liftweb;singleton:=true&lt;br /&gt;Bundle-Version: 1.0.0.qualifier&lt;br /&gt;Bundle-ClassPath: .,&lt;br /&gt;WEB-INF/classes/,&lt;br /&gt;WEB-INF/lib/commons-codec-1.3.jar,&lt;br /&gt;WEB-INF/lib/derby-10.2.2.0.jar,&lt;br /&gt;WEB-INF/lib/lift-core-0.1.0.jar,&lt;br /&gt;WEB-INF/lib/scala-actors-2.3.3.jar,&lt;br /&gt;WEB-INF/lib/scala-compiler-2.3.3.jar,&lt;br /&gt;WEB-INF/lib/scala-library-2.3.3.jar&lt;br /&gt;Export-Package:  net.liftweb.http&lt;br /&gt;Require-Bundle: org.eclipse.equinox.http.registry&lt;br /&gt;Import-Package: javax.servlet;version="2.4.0",&lt;br /&gt;javax.servlet.http;version="2.4.0",&lt;br /&gt;org.osgi.service.http;version="1.2.0"&lt;br /&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3893653265530610075-1142217286378358902?l=log4jey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://log4jey.blogspot.com/feeds/1142217286378358902/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3893653265530610075&amp;postID=1142217286378358902' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3893653265530610075/posts/default/1142217286378358902'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3893653265530610075/posts/default/1142217286378358902'/><link rel='alternate' type='text/html' href='http://log4jey.blogspot.com/2007/05/liftweb-on-osgi.html' title='liftWeb on OSGi'/><author><name>jey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3893653265530610075.post-4888972457951366916</id><published>2007-05-12T10:34:00.000+01:00</published><updated>2007-05-12T11:05:14.311+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='osgi'/><category scheme='http://www.blogger.com/atom/ns#' term='n800'/><category scheme='http://www.blogger.com/atom/ns#' term='maemo'/><title type='text'>osgi on n800</title><content type='html'>Spotted a post yesterday on &lt;a href="http://thehereweb.googlepages.com/runningosgionthenokian800"&gt; running OSGi on maemo&lt;/a&gt;.  Up and running with a servlet container inside OSGi (the Eclipse Equinox implementation) on my Nokia N800.&lt;br /&gt;&lt;br /&gt;Missing the bluetooth GPS device to try the &lt;a href="http://thehereweb.googlepages.com/osgigpsmapmashupservletfornokian800"&gt;Google GPS  Mashup on OSGi&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;After setting up an OSGi console running over ssh to my n800, I tried directly installing bundles from remote http sites (if you've only ever used Eclipse and it's update manager you're probably not aware of the framework's ability to directly install and uninstall bundles from any http site at the console command line). &lt;br /&gt;&lt;br /&gt;However, it's a long way from rubygems or cpan - there are a few repositories around, but no more than web sites hosting files. It's hit and miss finding a bundle that meets the java execution environment of Java CDC, or doesn't have the wrong sort of native code, and although the bundles themselves know their dependencies, there's nothing to connect those logical dependencies with their physical resolution. &lt;a href="http://www2.osgi.org/div/rfc-0112_BundleRepository.pdf"&gt;OSGi RFC-0112&lt;/a&gt; is supposed to solve that problem.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3893653265530610075-4888972457951366916?l=log4jey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://log4jey.blogspot.com/feeds/4888972457951366916/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3893653265530610075&amp;postID=4888972457951366916' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3893653265530610075/posts/default/4888972457951366916'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3893653265530610075/posts/default/4888972457951366916'/><link rel='alternate' type='text/html' href='http://log4jey.blogspot.com/2007/05/osgi-on-n800.html' title='osgi on n800'/><author><name>jey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3893653265530610075.post-6374140327167049957</id><published>2007-05-12T09:32:00.000+01:00</published><updated>2007-05-12T10:34:36.005+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='efs'/><category scheme='http://www.blogger.com/atom/ns#' term='fuse'/><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='sshfs'/><category scheme='http://www.blogger.com/atom/ns#' term='ssh'/><category scheme='http://www.blogger.com/atom/ns#' term='n800'/><category scheme='http://www.blogger.com/atom/ns#' term='tm'/><category scheme='http://www.blogger.com/atom/ns#' term='rse'/><category scheme='http://www.blogger.com/atom/ns#' term='maemo'/><title type='text'>n800 and eclipse remote system explorer</title><content type='html'>Eclipse &lt;a href="http://www.eclipse.org/dsdp/tm/"&gt;Target Management Project&lt;/a&gt; have an set of plugins called &lt;b&gt;Remote System Explorer&lt;/b&gt;. Integrates ftp, sftp, ssh into Eclipse - they also have their own agent to run on a *nix box as an alternative (it can remotely explore tar files for example)&lt;br /&gt;&lt;br /&gt;I've set this up now to explore my shuttle pc (winxp), remote hosting account, and just added the n800. With openssh already installed on the tablet, getting connected is straightforward.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_ONxZQSvtxsM/RkWEVU8jCjI/AAAAAAAAAA0/h8ibN48zYR0/s1600-h/eclipse_rse_maemo.PNG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp3.blogger.com/_ONxZQSvtxsM/RkWEVU8jCjI/AAAAAAAAAA0/h8ibN48zYR0/s320/eclipse_rse_maemo.PNG" alt="" id="BLOGGER_PHOTO_ID_5063598857982773810" border="0" /&gt;&lt;/a&gt;here's the recipe:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt; Make sure you're installed &lt;a href="http://maemo.org/downloads/product/openssh"&gt;openssh&lt;/a&gt; for maemo (you'll have had to have accepted the &lt;a href="http://hildon-app-mgr.garage.maemo.org/redpill.html"&gt;red pill&lt;/a&gt; for this to install)&lt;/li&gt;&lt;br /&gt;&lt;li&gt; Install Eclipse (I've used &lt;a href="http://download.eclipse.org/eclipse/downloads/drops/S-3.3M7-200705031400/index.php"&gt;3.3 M7&lt;/a&gt;)&lt;/li&gt;&lt;br /&gt;&lt;li&gt; Use the Update Manager to select Remote System Explorer from the &lt;b&gt;Remote Access and Device Development&lt;/b&gt; category under &lt;b&gt;Europa Discovery Site&lt;/b&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Switch perspective to Remote System Explorer&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Use the new connection icon on the &lt;b&gt;Remote Systems&lt;/b&gt; view or from the File | New wizard&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Choose Linux, add the basic connection details, and on all the subsequent pages of the wizard choose &lt;b&gt;ssh&lt;/b&gt; over &lt;em&gt;datastore&lt;/em&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;You should now be able to click on &lt;b&gt;sftp files&lt;/b&gt; to browse the file system, &lt;b&gt;shell processes&lt;/b&gt; to view (and kill) processes, and &lt;b&gt;ssh shells&lt;/b&gt; to connect in&lt;/li&gt;&lt;br /&gt;&lt;li&gt;(default root password for maemo is &lt;em&gt;rootme&lt;/em&gt;)&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;h3&gt;exploring&lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;content assist&lt;/h4&gt;&lt;br /&gt;The shell has Eclipse style content assist (ctrl-space) doing the traditional bash job of the tab key, although this is pretty slow over ssh.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;remote file system&lt;/h4&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_ONxZQSvtxsM/RkWGnk8jCkI/AAAAAAAAAA8/2yaKeJeXHqY/s1600-h/jey_rse_efs_maemo.PNG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp0.blogger.com/_ONxZQSvtxsM/RkWGnk8jCkI/AAAAAAAAAA8/2yaKeJeXHqY/s320/jey_rse_efs_maemo.PNG" alt="" id="BLOGGER_PHOTO_ID_5063601370538641986" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;New in the latest builds of RSE is integration with EFS, which is like &lt;a herf="&lt;span size="&gt;&lt;span class="a"&gt;&lt;b&gt;fuse&lt;/b&gt;.sourceforge.net"&gt;&lt;/span&gt;&lt;/span&gt;FUSE&lt;/a&gt; for Eclipse. You can now mount a remote file system via ssh, ftp or datastore and access it inside any Eclipse project. (Go to &lt;a href="http://maemo.org/community/wiki/FusePort"&gt;FusePort&lt;/a&gt; if you want to do this the other way round, mounting a remote file system via ssh inside maemo)&lt;br /&gt;&lt;br /&gt;To do this, use &lt;b&gt;New Folder&lt;/b&gt; on any Eclipse project, choose &lt;b&gt;Advanced&lt;/b&gt;, click &lt;b&gt;Link to Folder in the File System&lt;/b&gt; and change the &lt;em&gt;File System Provider&lt;/em&gt; to &lt;b&gt;RSE&lt;/b&gt;. You should now get a drop down of remote FS you've previously set up in RSE.&lt;br /&gt;&lt;br /&gt;As you'll see from the example, the remote folder gets identified by a little shortcut decorator.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;downsides&lt;/h4&gt;&lt;br /&gt;sshd on maemo seemed a little stretched by the demands, and had to be restarted several times. even over a local (everything within 2 metres) 802.11g connection, it's too slow for practical editing, although RSE does cache the directory structure to make browsing speedy.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3893653265530610075-6374140327167049957?l=log4jey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://log4jey.blogspot.com/feeds/6374140327167049957/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3893653265530610075&amp;postID=6374140327167049957' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3893653265530610075/posts/default/6374140327167049957'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3893653265530610075/posts/default/6374140327167049957'/><link rel='alternate' type='text/html' href='http://log4jey.blogspot.com/2007/05/n800-and-eclipse-remote-system-explorer.html' title='n800 and eclipse remote system explorer'/><author><name>jey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_ONxZQSvtxsM/RkWEVU8jCjI/AAAAAAAAAA0/h8ibN48zYR0/s72-c/eclipse_rse_maemo.PNG' height='72' width='72'/><thr:total>0</thr:total></entry></feed>
