<?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-4452352776668383514</id><updated>2011-12-10T05:29:45.358-08:00</updated><title type='text'>Remote Interface</title><subtitle type='html'>Writing about my new experiences in programming.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://remote-interface.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4452352776668383514/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://remote-interface.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Zardosht Hodaie</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>16</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4452352776668383514.post-2691484166691343716</id><published>2011-05-16T03:20:00.000-07:00</published><updated>2011-05-16T03:20:40.331-07:00</updated><title type='text'>Books to read</title><content type='html'>Data Structure&lt;br /&gt;Clean Code&lt;br /&gt;Refactoring&lt;br /&gt;Effective Java&lt;br /&gt;Pragmatic Programmer&lt;br /&gt;Thinking in Java&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4452352776668383514-2691484166691343716?l=remote-interface.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://remote-interface.blogspot.com/feeds/2691484166691343716/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://remote-interface.blogspot.com/2011/05/books-to-read.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4452352776668383514/posts/default/2691484166691343716'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4452352776668383514/posts/default/2691484166691343716'/><link rel='alternate' type='text/html' href='http://remote-interface.blogspot.com/2011/05/books-to-read.html' title='Books to read'/><author><name>Zardosht Hodaie</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-4452352776668383514.post-3458805672293196060</id><published>2011-05-16T03:16:00.001-07:00</published><updated>2011-05-16T03:17:30.978-07:00</updated><title type='text'>testing links</title><content type='html'>&lt;a href="http://martinfowler.com/articles/mocksArentStubs.html" target="_blank"&gt;http://martinfowler.com/&lt;wbr&gt;&lt;/wbr&gt;articles/mocksArentStubs.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://misko.hevery.com/code-reviewers-guide/" target="_blank"&gt;http://misko.hevery.com/code-&lt;wbr&gt;&lt;/wbr&gt;reviewers-guide/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://misko.hevery.com/code-reviewers-guide/flaw-constructor-does-real-work/" target="_blank"&gt;http://misko.hevery.com/code-&lt;wbr&gt;&lt;/wbr&gt;reviewers-guide/flaw-&lt;wbr&gt;&lt;/wbr&gt;constructor-does-real-work/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://java.dzone.com/articles/static-methods-are-death-testa" target="_blank"&gt;http://java.dzone.com/&lt;wbr&gt;&lt;/wbr&gt;articles/static-methods-are-&lt;wbr&gt;&lt;/wbr&gt;death-testa&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.codeproject.com/KB/cs/autp1.aspx#WorkOrder44" target="_blank"&gt;http://www.codeproject.com/KB/&lt;wbr&gt;&lt;/wbr&gt;cs/autp1.aspx#WorkOrder44&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://misko.hevery.com/2008/07/08/how-to-think-about-the-new-operator/" target="_blank"&gt;http://misko.hevery.com/2008/&lt;wbr&gt;&lt;/wbr&gt;07/08/how-to-think-about-the-&lt;wbr&gt;&lt;/wbr&gt;new-operator/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4452352776668383514-3458805672293196060?l=remote-interface.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://remote-interface.blogspot.com/feeds/3458805672293196060/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://remote-interface.blogspot.com/2011/05/testing-links.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4452352776668383514/posts/default/3458805672293196060'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4452352776668383514/posts/default/3458805672293196060'/><link rel='alternate' type='text/html' href='http://remote-interface.blogspot.com/2011/05/testing-links.html' title='testing links'/><author><name>Zardosht Hodaie</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-4452352776668383514.post-1156628965232825904</id><published>2011-05-16T03:15:00.001-07:00</published><updated>2011-05-16T03:15:51.350-07:00</updated><title type='text'>Lessons learned in testing</title><content type='html'>1. define for almost everything an interface. Everything, means&lt;br /&gt;everything that the other classes probabaly need (factories, services,&lt;br /&gt;and alike). You should use interfaces, otherwise you can't create&lt;br /&gt;mocks.&lt;br /&gt;2. Inject everything a class need (its dependencies), for exmaple&lt;br /&gt;using its constructor.&lt;br /&gt;3. during testing, you create mocks for these dependencies, and give&lt;br /&gt;them to your class. This way you are sure you are testing you class in&lt;br /&gt;isolation.&lt;br /&gt;&lt;br /&gt;Remark 1: A mock is infact the means by which you break up this chain&lt;br /&gt;of dependencies, so that you can test you class in isolation; and not&lt;br /&gt;testing 10 other classes as you are "unit" testing your class. Imagine&lt;br /&gt;the example of testing AssignmentFactory.&lt;br /&gt;&lt;div id=":h6"&gt;&lt;wbr&gt;&lt;/wbr&gt;createAssignment() method. In&lt;br /&gt;order to create an assignement, AssignementFactory needs a&lt;br /&gt;MailingFactory needs an ImageFactory needs .... . By injecting the&lt;br /&gt;factories in constructors and using interfaces, you have the&lt;br /&gt;possibility to mock them and isolate for example AssignmentFactory&lt;br /&gt;implementation from implementation of MailingFactory using&lt;br /&gt;MailingFactoryMock.&lt;br /&gt;&lt;br /&gt;Remark 2: As a rule of thum, your code most consist of classes who do&lt;br /&gt;work, and classes that create the object graph by creating new&lt;br /&gt;objects. Hence the classes who do work, should not contain "new"&lt;br /&gt;statements.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4452352776668383514-1156628965232825904?l=remote-interface.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://remote-interface.blogspot.com/feeds/1156628965232825904/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://remote-interface.blogspot.com/2011/05/lessons-learned-in-testing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4452352776668383514/posts/default/1156628965232825904'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4452352776668383514/posts/default/1156628965232825904'/><link rel='alternate' type='text/html' href='http://remote-interface.blogspot.com/2011/05/lessons-learned-in-testing.html' title='Lessons learned in testing'/><author><name>Zardosht Hodaie</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-4452352776668383514.post-838041981216723113</id><published>2010-09-25T00:35:00.001-07:00</published><updated>2010-11-08T03:52:04.612-08:00</updated><title type='text'>and so you code ... :D</title><content type='html'>http://www.youtube.com/watch?v=Eq3CuMDXaPs&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4452352776668383514-838041981216723113?l=remote-interface.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://remote-interface.blogspot.com/feeds/838041981216723113/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://remote-interface.blogspot.com/2010/09/and-so-you-code-d-x-d.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4452352776668383514/posts/default/838041981216723113'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4452352776668383514/posts/default/838041981216723113'/><link rel='alternate' type='text/html' href='http://remote-interface.blogspot.com/2010/09/and-so-you-code-d-x-d.html' title='and so you code ... :D'/><author><name>Zardosht Hodaie</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-4452352776668383514.post-4733517701753652981</id><published>2010-09-25T00:34:00.001-07:00</published><updated>2010-09-25T00:34:50.241-07:00</updated><title type='text'>I lost something - I find something</title><content type='html'>idea for a web 2.0 lost porperty site&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4452352776668383514-4733517701753652981?l=remote-interface.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://remote-interface.blogspot.com/feeds/4733517701753652981/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://remote-interface.blogspot.com/2010/09/i-lost-something-i-find-something.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4452352776668383514/posts/default/4733517701753652981'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4452352776668383514/posts/default/4733517701753652981'/><link rel='alternate' type='text/html' href='http://remote-interface.blogspot.com/2010/09/i-lost-something-i-find-something.html' title='I lost something - I find something'/><author><name>Zardosht Hodaie</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-4452352776668383514.post-4241547085375396535</id><published>2010-03-16T02:35:00.000-07:00</published><updated>2010-03-16T02:36:09.582-07:00</updated><title type='text'>RichFaces modal panel containing a form causes problem</title><content type='html'>1. put a rich:modalPanel inside a form. Every time that panel was closed (e.g usign X button on top, or OK or Cancel buttons) the form got refreshed. Actually not refreshed but I think a GET happened. I'm not sure. The effect was that, I back and forward the same form so much as I had opened the modal pannel. Or if I refreshed the page, it wanted to send form data again to the server.&lt;br /&gt;&lt;br /&gt;2. I put modal panle outside the form, but thought that I must have a form so that buttons function. Hence I put a h:form arround the buttons. But it caused again the same behavior.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;3. I put the modal panel outside of form, and there was also no form in it (arround buttons). It worked.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4452352776668383514-4241547085375396535?l=remote-interface.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://remote-interface.blogspot.com/feeds/4241547085375396535/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://remote-interface.blogspot.com/2010/03/richfaces-modal-panel-inside-form.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4452352776668383514/posts/default/4241547085375396535'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4452352776668383514/posts/default/4241547085375396535'/><link rel='alternate' type='text/html' href='http://remote-interface.blogspot.com/2010/03/richfaces-modal-panel-inside-form.html' title='RichFaces modal panel containing a form causes problem'/><author><name>Zardosht Hodaie</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-4452352776668383514.post-877898806994854433</id><published>2010-02-23T08:15:00.000-08:00</published><updated>2010-02-23T08:15:28.290-08:00</updated><title type='text'>Integrating ActiveMQ with JBoss AS</title><content type='html'>1. extract ActiveMQ.rar in deployment folder of JBoss&lt;br /&gt;2. edit META-INF/ra.xml&amp;nbsp; (set connector proocol (tcp or jvm), and config file (brocker-config.xml))&lt;br /&gt;&lt;br /&gt;3. edit brocker-config.xml (add brockerName attribute, set persistance dataDir, set transport connector name attribute)&lt;br /&gt;4. configure JBoss to start ActiveMQ on startup (add activmq-ds.xml to deployment directory of JBoss)&lt;br /&gt;for details see:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://activemq.apache.org/integrating-apache-activemq-with-jboss.html"&gt;http://activemq.apache.org/integrating-apache-activemq-with-jboss.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4452352776668383514-877898806994854433?l=remote-interface.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://remote-interface.blogspot.com/feeds/877898806994854433/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://remote-interface.blogspot.com/2010/02/integrating-activemq-with-jboss-as.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4452352776668383514/posts/default/877898806994854433'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4452352776668383514/posts/default/877898806994854433'/><link rel='alternate' type='text/html' href='http://remote-interface.blogspot.com/2010/02/integrating-activemq-with-jboss-as.html' title='Integrating ActiveMQ with JBoss AS'/><author><name>Zardosht Hodaie</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-4452352776668383514.post-4562734048310700438</id><published>2010-02-16T01:40:00.000-08:00</published><updated>2010-04-22T05:51:41.943-07:00</updated><title type='text'>integrating jobss seam manually without seam-gen</title><content type='html'>Well, actually my question was:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Which dependencies do I need? &lt;/li&gt;&lt;li&gt;What configurations sould I make to for example web.xml or faces-context.xml&lt;/li&gt;&lt;/ol&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;1. Which dependencies do I need? &lt;/b&gt;&lt;br /&gt;It depends on which features are you going to have in your project. For example&amp;nbsp; for a just simple porject with seam and hibernate (for beam validation) just copy all dependecies found in jboss-seam-2.2.0.GA\examples\jpa project:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;first build it using &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;ant tomcat6&lt;/span&gt;&lt;/li&gt;&lt;li&gt;then deploy the created .war file to tomcat, and after it is exploded (LoL) look at /WEB-INF/lib directory to find dependencies. &lt;/li&gt;&lt;/ul&gt;Remember that seam.2.2.0.GA might need older versions than what you may find in projects web sites. For example it needed version 3.1.0.GA of hibernate-validator.jar and could not work with the last version. &lt;br /&gt;&lt;b&gt;&lt;br /&gt;2. What configurations sould I make to for example web.xml or faces-context.xml?&lt;/b&gt;&lt;br /&gt;look here: &lt;a href="http://docs.jboss.com/seam/latest/reference/en-US/html/configuration.html#d0e24011%20"&gt;http://docs.jboss.com/seam/latest/reference/en-US/html/configuration.html#d0e24011 &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;and don't forget to put an empty seam.properties file at your package&amp;nbsp; root&lt;/b&gt;&lt;br /&gt;otherwise you get continously errors on the console stating that hibernate cannot do something with transactions&lt;b&gt; &lt;/b&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4452352776668383514-4562734048310700438?l=remote-interface.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://remote-interface.blogspot.com/feeds/4562734048310700438/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://remote-interface.blogspot.com/2010/02/well-actually-my-question-was-which.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4452352776668383514/posts/default/4562734048310700438'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4452352776668383514/posts/default/4562734048310700438'/><link rel='alternate' type='text/html' href='http://remote-interface.blogspot.com/2010/02/well-actually-my-question-was-which.html' title='integrating jobss seam manually without seam-gen'/><author><name>Zardosht Hodaie</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-4452352776668383514.post-4830148535033447919</id><published>2010-01-26T04:23:00.000-08:00</published><updated>2010-03-14T14:01:52.699-07:00</updated><title type='text'>JBoss EL - Passing vlues from view to bean methods</title><content type='html'>&lt;ol&gt;&lt;li&gt;add jboss-el.jar to project build path&lt;/li&gt;&lt;li&gt; add following configuration to web.xml&lt;/li&gt;&lt;/ol&gt;&lt;pre&gt;&amp;lt;!-- jboss el expressions allow method params --&amp;gt;&lt;br /&gt;&amp;lt;context-param&amp;gt;&lt;br /&gt;  &amp;lt;param-name&amp;gt;com.sun.faces.expressionFactory&amp;lt;/param-name&amp;gt;&lt;br /&gt;  &amp;lt;param-value&amp;gt;org.jboss.el.ExpressionFactoryImpl&amp;lt;/param-value&amp;gt;&lt;br /&gt;&amp;lt;/context-param&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ilikespam.com/blog/el-function-parameters-with-jboss-el"&gt;http://www.ilikespam.com/blog/el-function-parameters-with-jboss-el&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4452352776668383514-4830148535033447919?l=remote-interface.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://remote-interface.blogspot.com/feeds/4830148535033447919/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://remote-interface.blogspot.com/2010/01/jboss-el-passing-vlues-from-view-to.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4452352776668383514/posts/default/4830148535033447919'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4452352776668383514/posts/default/4830148535033447919'/><link rel='alternate' type='text/html' href='http://remote-interface.blogspot.com/2010/01/jboss-el-passing-vlues-from-view-to.html' title='JBoss EL - Passing vlues from view to bean methods'/><author><name>Zardosht Hodaie</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-4452352776668383514.post-7383824138608948285</id><published>2009-12-23T05:05:00.000-08:00</published><updated>2010-01-20T06:27:07.678-08:00</updated><title type='text'>Using IIPViewer in a web app</title><content type='html'>1. install apache besides tomcat&lt;br /&gt;2. set up apache-tomcat connector&lt;br /&gt;3. set up fastcgi in apache&lt;br /&gt;4. install IIPImageServer&lt;br /&gt;5. test the client (javascript mootools viewer, javascript prototype viewer, flash client)&lt;br /&gt;   iipmooviewer had did'nt show in our facelets composite page. This might have been because of some problems of mootools framework (look at this thread &lt;a href="http://sourceforge.net/projects/iipimage/forums/forum/299494/topic/3493189"&gt;http://sourceforge.net/projects/iipimage/forums/forum/299494/topic/3493189&lt;/a&gt;). The Flash viewer is written in ActionScript and works quite fine.&lt;br /&gt;&lt;br /&gt;Look at following links for different possibilities for an ajax large image viewer: &lt;br /&gt; &lt;DL&gt;&lt;p&gt;&lt;br /&gt;        &lt;DT&gt;&lt;A HREF="http://ajaxian.com/archives/iipimage-ajax-based-ultra-high-resolution-image-viewer" ADD_DATE="1263995205" ICON_URI="http://ajaxian.com/wp-content/themes/ajaxian/images/favicon.ico" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAB7ElEQVQ4jaWPP09TURjGn6/Qr8BX6Fdgp4EWGgTKPzFVWBSoSlBATQyJmw4dHBytCyupDk4mhqGLmzc6AsP9d869ty3c/hzutYVETIzDL+fkeZ/zPO9R8kz8jXhfxI9F9EBEG8LWhV3LqQvd+HBPRNsiWhf29s0oOchakoOcvNFuCLMq7BXM6kj7fVe8l7Ul+yLJW+0dYZdF/Gqc/ucm6blD+vOE3ocGZkXYFWGWM4/ipyJ+khFtCrMiou0xLr+1ufjaItovkrypkJ47APRaDcIlYZaEWRSKd0W8K+yWCFeFqRcYWJeBdTE1YWoirIn4dQWAyx8nhDURLmS6oh1hH4pwTQRzIpwX3fcNkrdrBPMinMt0c38MgPTMIcz1cF4oeiTMughmb8buFOl9ag4Drs5kNkWwKPyq8GdyqiJ6MU7vY5P0zKH/pYV9Pj4M8KsiqIpgRihcF/70dXrtrK179BJ/sYA/LYKN/AunDl5l5FW4LLypEcHdzDiwLl5Z+FPCK4vg3pWA8sgvf1a4k8KbzM6gnhkBwq0iXj4LtopD3VsoDHX5ZeGWrnPRaWdbGJd+p02/0+ai0yY9dYZbdI+buCUhtyTciet4twp0j5sMjMvl9xPsYQV3QtjDCumpQ/yuMfT+MeBfkDf1fwG/ACqPnzRSlrFEAAAAAElFTkSuQmCC"&gt;Ajaxian » IIPImage: Ajax-based Ultra High Resolution Image Viewer&lt;/A&gt;&lt;br /&gt;        &lt;DT&gt;&lt;A HREF="http://www.mojavelinux.com/projects/panojs/" ADD_DATE="1263995205" ICON_URI="http://www.mojavelinux.com/favicon.ico" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACrElEQVQ4jYWTWUiUYRSGP7oQf6f5xinN7G9ksIUWy0psUdSKmYhsypyarDDHKWhxCiKyRYOyhUJooWylxShaKKKNNqubipYrsdsWoaINDJ0Y+2e+/+liaJlsOXBuDu95znk5HCH+ETZpIVlayRrUm3/p/hhJmka3bgkkJGikpaWS6eyBEEIET3vx7cj5PzA/bywZDgclJR5G5+agp0uEEGLeyWIm1g5kQUN+V4h/b8GP4uxSF5uCg1gbLMRfXoquxwCehtHkB3V8e3LjAdUXKphYn03lzjyEEGLzwjTe3Uuh9Y7O+kAvUnvZEEKIWY1jmFDloGLDyHiA/0QxRTX98dXH/K2q8tF0sID7Z5dw7tQ+Mhw6hZMzmXqoH+5FOhVVg1l4+Jct5h+fhHtlJp51Qxg3ZiitrS959eo5oVAHnZ1higqLsHTXKKrNwDWtN2UznZTXZyOqdxcQ2DOOsmPZuLc66T/Yxtw5PsLhL4TDXzCMTt6/f8u2bVvQNA3dYWPSSDted3psevXGPLzrhuDZMRDXUgd9+6TQ0tKMaUYxzShKRVEqQijUTs6o4WiaxginjPdfuTyLGcv6Mb5Ex1s6HdM0/5hz5pZhsSSR0Se56wk9pU4yHZK6DTWYpkKpWH5vVkqxIOBHS9SwyaSugCO1A3iw305jXRZPHj/EMDqJRL6ilIFSBqHXV6icrqMlJrKy/DcLzQesfLwmab8t+XRdMtOlc/HiBZSKoFSUaNTg2d06bm+30LjawpvLtnjAo4ZUPt+UhJokHU2SJ0ft3Ll5nmg0gmF85enTR2xcPJy2G7EhHU2S15d6/oTc35XCi9OSD5ettN+SfLgqWeMfRqDST/GUydiT7QTcSbRdl3y6Jnl+Vv79mU5WJ3MwaKXclRYnWuFN58xaK+dq4pu/ARFzqPd8X5+DAAAAAElFTkSuQmCC"&gt;Panoramic JavaScript Image Viewer (PanoJS) | mojavelinux.com&lt;/A&gt;&lt;br /&gt;        &lt;DT&gt;&lt;A HREF="http://openmrs.org/wiki/Google_Maps_Image_Viewer_Module" ADD_DATE="1263995205" ICON_URI="http://openmrs.org/favicon.ico" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACiklEQVQ4jbWSX0gTcQDHfxL4KgVBLxa9CT3ZSyFCEPQQ5Usv4osPUUQI1kuQUIJL6b9Uk1YscqnLnJttc7o5b95f73Z/drvp3f5cu22a+393m0oQ0kGviSzyoc/75wNf+ALwPymoals+X2nf3t4+dhivKSKm+lCKNxeq1bMAAKCqhTaWmpkslbLn6/X60YamJEnNPoTy8KL0mMbtDoFxj3kDC84g7LfFhYBJYN1vGGL6S8MAQgujq7w4u5kVuhMSMiDFAsPryfXrn+YWIRJ32cOY3VnOpzsSa8HBA3KtVjs16YH2yuXyJQqZ8IbxKVfQ+zwnrVP9Sxj9TNkodHLkrA32m/kY73uh6/rJfYGImLwbwFlNYN2WdIq6md8Qu3jaZZWTeP/Td3b9yfupeiZF32Aj8PAKyQ1iTHRgXwCmeQvKrmXkJN4foZzjUiwwgkNWWE7id3gx1RvA6JdCPN39yDxu+BHqtaLIVwEAAKAMf79SqZzwwWQcYYQfqdz3yyskN1Qq1U/bnAvo2IQrNR8iLCNjtp/hqNgX5shBUQia1gTsIQAAAF3XWxwOx5GImDL7cdaISPKrmQXIqWwUOiGCMy1jxKimaa3zIcLig0nz6soHaDMrdKe3ti7um1CpbPYRYXyPj1FalJ5Dd3a0juX5Udkz8+CXKARNc0vIJMZEB6LM17eKIvccCAAAAMmLQ54QZSTlZEYtZ2/Xavn2tEzfUpTENcdiaDau5K4Ui8UL0CpnbXSFJojgxt3LqEEwlPEtk7HKsmBSVfVcqVrtCguJj24IQ3Vdb2l4JgAASMjZHucSGp3yQobDjxqffSFj2hfKsbH4PUmSmv8q/8nu7u7xYlE7o2la6z9Lh+U3vH2lUHOA9G0AAAAASUVORK5CYII="&gt;Google Maps Image Viewer Module - OpenMRS&lt;/A&gt;&lt;br /&gt;        &lt;DT&gt;&lt;A HREF="http://www.mojavelinux.com/cooker/demos/gsv/" ADD_DATE="1263995205" ICON_URI="http://www.mojavelinux.com/favicon.ico" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACrElEQVQ4jYWTWUiUYRSGP7oQf6f5xinN7G9ksIUWy0psUdSKmYhsypyarDDHKWhxCiKyRYOyhUJooWylxShaKKKNNqubipYrsdsWoaINDJ0Y+2e+/+liaJlsOXBuDu95znk5HCH+ETZpIVlayRrUm3/p/hhJmka3bgkkJGikpaWS6eyBEEIET3vx7cj5PzA/bywZDgclJR5G5+agp0uEEGLeyWIm1g5kQUN+V4h/b8GP4uxSF5uCg1gbLMRfXoquxwCehtHkB3V8e3LjAdUXKphYn03lzjyEEGLzwjTe3Uuh9Y7O+kAvUnvZEEKIWY1jmFDloGLDyHiA/0QxRTX98dXH/K2q8tF0sID7Z5dw7tQ+Mhw6hZMzmXqoH+5FOhVVg1l4+Jct5h+fhHtlJp51Qxg3ZiitrS959eo5oVAHnZ1higqLsHTXKKrNwDWtN2UznZTXZyOqdxcQ2DOOsmPZuLc66T/Yxtw5PsLhL4TDXzCMTt6/f8u2bVvQNA3dYWPSSDted3psevXGPLzrhuDZMRDXUgd9+6TQ0tKMaUYxzShKRVEqQijUTs6o4WiaxginjPdfuTyLGcv6Mb5Ex1s6HdM0/5hz5pZhsSSR0Se56wk9pU4yHZK6DTWYpkKpWH5vVkqxIOBHS9SwyaSugCO1A3iw305jXRZPHj/EMDqJRL6ilIFSBqHXV6icrqMlJrKy/DcLzQesfLwmab8t+XRdMtOlc/HiBZSKoFSUaNTg2d06bm+30LjawpvLtnjAo4ZUPt+UhJokHU2SJ0ft3Ll5nmg0gmF85enTR2xcPJy2G7EhHU2S15d6/oTc35XCi9OSD5ettN+SfLgqWeMfRqDST/GUydiT7QTcSbRdl3y6Jnl+Vv79mU5WJ3MwaKXclRYnWuFN58xaK+dq4pu/ARFzqPd8X5+DAAAAAElFTkSuQmCC"&gt;&lt;/A&gt;&lt;br /&gt;        &lt;DT&gt;&lt;A HREF="http://gasi.ch/blog/inside-deep-zoom-1/" ADD_DATE="1263995205"&gt;Inside Deep Zoom – Part I: Multiscale Imaging — RTFM / Daniel Gasienica&lt;/A&gt;&lt;br /&gt;        &lt;DT&gt;&lt;A HREF="http://code.google.com/p/panojs/" ADD_DATE="1263995205" ICON_URI="http://code.google.com/favicon.ico" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADRUlEQVQ4jSXT60/VdQDH8c/vd7AlI4EHtjW0WCs1i7U2i8u54GWxYDVtpkabumX5JLs86oLYEgRDQjAIBbsYayTmCjDQMwsrtcgxUBdWkNyyJDkCB9jRw+/8vu8e8OD9D7y2tyTJiUFX/wipWxuJe/pzSo9fwiVGNDzB2ewsei0xa9u4Eq5sIpYYl5AkxRwwwLriU2hTEHtbFwte/I6//p0CEyPyWy/XE+JxJYzlwbVExBIhxTFkCwE4jsMDO9rRtk60vQfl/0jxN5fBgInBUE4OUVnEPCJqWUzKw5glBiVkXCAG3sIO7M0/Y2/vxH7hHJv2dwMOAFfXr2NGcWAJVx6mLfGPRJ/tQeACLkVNl9H6IHEvXcB+/nvyqzpxMXAbfnloGT/dcwctS5JpT02mK2kew7botYT6h29igNFwhGU72tBzp1mwOUiw5xoGqGs5zOI3UtFH6Xhq/ajay/yyJ8h6OY19DyeipVs+43jHFXANE1NRjpwZoG/kJi6GklN1qOgRPPVePIeyUG06qs3EOpCFqrOx9q5GCzceJWntx6x+vZE9DR1zajic6fsV+6370OHHUV06qk/HqvFh1fhQZQZWuR9rbwAtzW9g0YYvuDPvU5KfOsTgaBhjDMOhayypfxbVpGEfzMQ+6EU1GdgferEq/djlflSWge7P3U/Glk/Y+G4rr1X9QE/fOC4Gg8vY1Bg5R1/BqkhDtT5U7Z2r0o/2+dEeP2o8fZGxcRcDzE72Mnq1mYGeWm5N3wBgNuaQ2/gqVsVyVJ2BqrzY5ZnofR8q8SFcmP7vIt3NGQw2x/N3mxj52uZK03LCoT/BxPh9dIi7SrNRVSaeD3zYZX5UEkC7A+i2M0NXYzoT3wpz3sY5G0+kYz43jon+5jyMMZgYPHhgAypbgSq8qNTPvN1rsHYF0FRogD8aUrgVTCIcTGCqLZHJ1kRmTqRw/atHITpNxDEsLslDpZnYJatQqQ/7vZVopx85McPgya2EvkxgsuVuwq0LmTmRQvjYvYyfK8QATRdO4nnzMaxiL56ibLQrgAoC6J01c0c6MyHGzhcy0b6WcMuTTLQ/Q6S7mqgT4dLwAIvezkUFK7ALs1HhSrTThwpWIUn/A1g/hnpCRmiJAAAAAElFTkSuQmCC"&gt;panojs - Project Hosting on Google Code&lt;/A&gt;&lt;br /&gt;        &lt;DT&gt;&lt;A HREF="http://www.labnol.org/internet/design/embed-large-pictures-panoramas-web-pages-google-maps-image-viewer/2606/" ADD_DATE="1263995205" ICON_URI="http://www.labnol.org/favicon.ico" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAtUlEQVQ4jcWTQRXEIBBD6ykKMIACDKCgPjCAAgxUAQZQUAMoSPYED5Y9dLd9bw+5MI+fGSZsAHRH2yOAUopILkopyRgjAPLeT7UQwtxBzlkkte+7ACjGKJIqpXQ3a+1y1gEhBJGUtbYXG6S5AeidXQIYYxbHrwDjaD8DUkp/BhzHce8NzvNUjPE6wDnXiy08I5Skcs4r4H3n3nvVWqcMtCDVWntCNwByzn2M8nh5XGnTc5/pjl7+aEAcnjXdpAAAAABJRU5ErkJggg=="&gt;Put Your Large Pictures in Web Pages without Resizing Them – Google Maps Image Viewer&lt;/A&gt;&lt;br /&gt;        &lt;DT&gt;&lt;A HREF="http://kapilt.wordpress.com/2008/11/30/viewing-large-images-openlayers-gsiv-modestmaps-deepzoom-and-python/" ADD_DATE="1263995205" ICON_URI="http://www.gravatar.com/blavatar/3c906e874cc0b7361487097fc04b0f0c?s=16&amp;d=http://s.wordpress.com/favicon.ico" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADQElEQVQ4jXWTT0yTdxzGfycPJl5NNDj7hjiTGc4mHLbsIMs2N4wZyYYZO6jLnBKCvh3NQqLZ5mDSYpVA4H3BzWlVOhShIHNQLShCaQtxTNrSLeWP0FmhBboChfL77DCzbLA9yXP6Ps/hm3weIdZJKarZraiaRVF1r0HV0wZVTyuq7lVUzaIU1exen/+XdqraycyS+tixy50uV3ByMDw2Hg+PjcddwcnBY5c7XZkl9bGdqnZyYzPvzCaDqndkn70W9EdiocbeJxQ1dPDu1zbe+OJ7PtXauOUO8Gt0bjT77LWgQdU7RN6ZTX/3DUbNuu+cfej3eGLhE62dN7+y/acr2/oBFvedsw8pqmYRQgiRUVyXlVlSH1tYSvmtdzyYHW4Ompsob+nD7HBjdrj5/LqLt8oaWV5ZBWBxeWUis6Q+9tKp2leEwahZC21O59KLY9/oU96ztlDW4kZKCYDpRg/7K27yeCIKwLO5Pyi0OZ2KqlmEwagHPOFpr6VjEIDHE8/JtTrIPd9KXygCQLnDQ+75Vkqb+gD48ecxPOFpr0HVngjFqKdW0muzeTU/MT6TILWa5kPdyYGLHVjuDCKlZOC3CLnWNj6q7wKg9NYAc8lUTDFqc0Ix6qm5ZCr2ge7i0sMgUkr07hEOXGjnpjuAlJLVdJpDVQ5ONT5i7PkCh2rvklheiSmqlhCKqoc84Wlvye0hjtj6Sa+tEYjEecfcTL8/zG1XP1JKzM0P+KFnkOq7Pj6ubv7HC6pWVWhzOtuGp3j/2z4847NIKTnd9JBah4vDX1aDlAyHIwQmohwsu8rVez4KbU6nwahZRUZxXdYuU8NMdH4p+FnrMBe6Q0gpic4nOXLRzuvFFcQSSeSa5IH/KYdrWonOLwZ2mRpmMorrsv7iX9WqcirsvmgilTA5hkmmVokuLPH2N3ZyTl+iZSAAUvLdo1GmYslEToXdZzBq1g0ov1p2fcQfiYfml1bpCT0jX7tHgd6J1j0CgD8SD71WfuOXDSivH9OJK133e0NTPmAWmO0NTflOXOm6/39j2iyE2CqEeFkIsXfLnuyj2/JN7TuOV05uLyhle0EpO45XTm7LN7Vv2ZN9VAix90V2qxBi85/2M201TFIPDwAAAABJRU5ErkJggg=="&gt;Viewing Large Images – OpenLayers, GSIV, ModestMaps, DeepZoom, and Python « Itinerant Source&lt;/A&gt;&lt;br /&gt;    &lt;/DL&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4452352776668383514-7383824138608948285?l=remote-interface.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://remote-interface.blogspot.com/feeds/7383824138608948285/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://remote-interface.blogspot.com/2009/12/using-iipviewer-in-web-app.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4452352776668383514/posts/default/7383824138608948285'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4452352776668383514/posts/default/7383824138608948285'/><link rel='alternate' type='text/html' href='http://remote-interface.blogspot.com/2009/12/using-iipviewer-in-web-app.html' title='Using IIPViewer in a web app'/><author><name>Zardosht Hodaie</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-4452352776668383514.post-6106020442707811747</id><published>2009-12-23T05:02:00.000-08:00</published><updated>2010-01-20T05:35:55.109-08:00</updated><title type='text'>A filter for RichFaces tree using javascript</title><content type='html'>1. pseudocode: text box over tree, key press event calls a java script function which makes all tree nodes not containing the entered text invisible. &lt;br /&gt;2. how RichFaces 3.3.2 implements a tree using TreeNodeAdapter (using tables and divs. Use DomNavigator firefox plug-in to investigate how RichFaces renders a tree).&lt;br /&gt;3. using jquery and source code.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4452352776668383514-6106020442707811747?l=remote-interface.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://remote-interface.blogspot.com/feeds/6106020442707811747/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://remote-interface.blogspot.com/2009/12/filter-for-richfaces-tree-using.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4452352776668383514/posts/default/6106020442707811747'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4452352776668383514/posts/default/6106020442707811747'/><link rel='alternate' type='text/html' href='http://remote-interface.blogspot.com/2009/12/filter-for-richfaces-tree-using.html' title='A filter for RichFaces tree using javascript'/><author><name>Zardosht Hodaie</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-4452352776668383514.post-905534312513349457</id><published>2009-12-05T09:41:00.000-08:00</published><updated>2009-12-05T09:56:00.511-08:00</updated><title type='text'>Eclipse content assist and project natures</title><content type='html'>Well... I took till 4 A.M. but I found the problem. &lt;br /&gt;In eclipse with JBoss Tools plug-ins installed I want to edit a .jsp page with editor of jboss tools. And the content asist do not work for ELs. For example if you have something like this&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&amp;lt;h:outputText value="#{...}" ...&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;you expect the content assist to work inside the braces to show you for example your beans etc. &lt;br /&gt;But it didn't work. After searching and searching, deleting the whole workspace and setting it up again, and lots of other crazy trial and errors, I realized that it is a project specific problem i.e. the content assist works in other projects.&lt;br /&gt;After comparing the .project files in two projects I see the following lines are missing in my .project file in natures section:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&amp;lt;natures&amp;gt;&lt;br /&gt;&lt;br /&gt; ...&lt;br /&gt;&lt;br /&gt; &amp;lt;nature&amp;gt;org.jboss.tools.jsf.jsfnature&amp;lt;/nature&amp;gt;&lt;br /&gt;&lt;br /&gt; ...&lt;br /&gt;&lt;br /&gt;&amp;lt;/natures&amp;gt;&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/4452352776668383514-905534312513349457?l=remote-interface.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://remote-interface.blogspot.com/feeds/905534312513349457/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://remote-interface.blogspot.com/2009/12/eclipse-content-assist-and-project.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4452352776668383514/posts/default/905534312513349457'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4452352776668383514/posts/default/905534312513349457'/><link rel='alternate' type='text/html' href='http://remote-interface.blogspot.com/2009/12/eclipse-content-assist-and-project.html' title='Eclipse content assist and project natures'/><author><name>Zardosht Hodaie</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-4452352776668383514.post-2048630141466982712</id><published>2009-12-05T09:28:00.000-08:00</published><updated>2009-12-25T08:42:12.609-08:00</updated><title type='text'>Do not forget the form</title><content type='html'>I think ajax-enabled html needs a form around it to work. &lt;br /&gt;A typical scenario: I put a richfaces tree on the html page with the hope that when i click a node, the content of another area of page is updated (using ajax).&lt;br /&gt;I looked over existing samples on richfaces demo site, and it looked not so complicated. But, as alway...IT DOESN'T WORK ;(&lt;br /&gt;After a while, trying everything out and being quite upset, I changed the switchMode of the tree from "client" to "ajax" just to see what happens. &lt;br /&gt;And I got an error message indicating that this poor tree cannot find its FORM &lt;br /&gt;You can imagine how angry I was, when i realized that i've forgotten to put &lt;h:form&gt;...&lt;/h:form&gt; tags arround my page.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4452352776668383514-2048630141466982712?l=remote-interface.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://remote-interface.blogspot.com/feeds/2048630141466982712/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://remote-interface.blogspot.com/2009/12/do-not-forget-form.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4452352776668383514/posts/default/2048630141466982712'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4452352776668383514/posts/default/2048630141466982712'/><link rel='alternate' type='text/html' href='http://remote-interface.blogspot.com/2009/12/do-not-forget-form.html' title='Do not forget the form'/><author><name>Zardosht Hodaie</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-4452352776668383514.post-2149087722839176345</id><published>2009-10-20T04:00:00.001-07:00</published><updated>2009-10-20T04:00:59.012-07:00</updated><title type='text'>Mac OS X mouse acceleration</title><content type='html'>Install iMouseFix&lt;br /&gt;It works.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4452352776668383514-2149087722839176345?l=remote-interface.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://remote-interface.blogspot.com/feeds/2149087722839176345/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://remote-interface.blogspot.com/2009/10/mac-os-x-mouse-acceleration.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4452352776668383514/posts/default/2149087722839176345'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4452352776668383514/posts/default/2149087722839176345'/><link rel='alternate' type='text/html' href='http://remote-interface.blogspot.com/2009/10/mac-os-x-mouse-acceleration.html' title='Mac OS X mouse acceleration'/><author><name>Zardosht Hodaie</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-4452352776668383514.post-2286607123586281074</id><published>2009-10-16T09:38:00.000-07:00</published><updated>2009-10-16T09:40:11.255-07:00</updated><title type='text'>Using Interfaces instead of Inheritance</title><content type='html'>The keyword is here "loose coupling". By using Interfaces we achieve loose coupling, because the consumers of an API do not dependt anymore on its implementation.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4452352776668383514-2286607123586281074?l=remote-interface.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://remote-interface.blogspot.com/feeds/2286607123586281074/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://remote-interface.blogspot.com/2009/10/using-interfaces-instead-of-inheritance.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4452352776668383514/posts/default/2286607123586281074'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4452352776668383514/posts/default/2286607123586281074'/><link rel='alternate' type='text/html' href='http://remote-interface.blogspot.com/2009/10/using-interfaces-instead-of-inheritance.html' title='Using Interfaces instead of Inheritance'/><author><name>Zardosht Hodaie</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-4452352776668383514.post-8505593236143664389</id><published>2009-10-14T07:09:00.001-07:00</published><updated>2009-10-16T09:42:32.482-07:00</updated><title type='text'>Bug me not - bypass compulsory registration</title><content type='html'>Have you ever got angry, trying to download something from a famous site (e.g. sun, or ibm) and you were asked to register for free to download the stuff?&lt;br /&gt;Here is the solution:&lt;br /&gt;http://www.bugmenot.com/&lt;br /&gt;Thank you guys, and thanks to Otto showing me this.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4452352776668383514-8505593236143664389?l=remote-interface.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://remote-interface.blogspot.com/feeds/8505593236143664389/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://remote-interface.blogspot.com/2009/10/im-looking-for-this-site.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4452352776668383514/posts/default/8505593236143664389'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4452352776668383514/posts/default/8505593236143664389'/><link rel='alternate' type='text/html' href='http://remote-interface.blogspot.com/2009/10/im-looking-for-this-site.html' title='Bug me not - bypass compulsory registration'/><author><name>Zardosht Hodaie</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></feed>
