{"id":56,"date":"2012-06-17T17:32:14","date_gmt":"2012-06-17T17:32:14","guid":{"rendered":"http:\/\/www.ninelocks.com\/jontrinder.com\/blog\/?p=56"},"modified":"2012-06-19T15:02:20","modified_gmt":"2012-06-19T15:02:20","slug":"unblocking-vue","status":"publish","type":"post","link":"https:\/\/www.jontrinder.com\/blog\/?p=56","title":{"rendered":"A Mindmap as the Desktop and Unblocking VUE"},"content":{"rendered":"<p>I use the Tufts University application <a href=\"http:\/\/vue.tufts.edu\/\">VUE<\/a> \u00a0the<em> Visual Understanding Environment<\/em> both as a pseudo mind map tool and as a way of organising my &#8216;desktop&#8217;.<\/p>\n<p>I find using MindMap and Concept map applications a handy way of quickly getting to the files and applications I need (I currently use Freeplan and XMind as well)<\/p>\n<p>For my purpose these tools be able need to be able to launch other applications as that allows me to click on a node of the map to open a document or suitable application for something I am working on. For example  if debugging a network problem I may want to launch Wireshark, so I would  then click on the\u00a0relevant\u00a0node in my map to launch wireshark<\/p>\n<p>But I had a problem with VUE, \u00a0if the application launched is\u00a0not already running then VUE &#8216;blocks&#8217; and you cannot do\u00a0anything\u00a0else within VUE until the launched application is exited.<\/p>\n<p>Fortunately as the source is available it meant it was possible to find why this was happening and fix it. VUE is written in \u00a0JAVA. (an \u00a0added the complication that I had just reinstalled Linux and had not got the JAVA tools installed, so that diverted my attention for a while).<\/p>\n<p>While the JAVA tools were installing \u00a0I set to finding out what was happening. I detail this, not because its especially new or exciting, but you may have a\u00a0similar\u00a0project and so by recounting what I did it may help you do the same.<\/p>\n<p>To find out what was going on I first launched VUE \u00a0from within a terminal so I could see the any messages. (This is always a handy starting point for debugging in Linux )<\/p>\n<p>This showed that it was using gnome-launch to call external applications. Next was to find where in the code this was used.<\/p>\n<p>I went for a brute for approach of grepping all the source folders.<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">&lt;\/pre&gt;\r\ngrep gnome * -r\r\n&lt;pre&gt;<\/pre>\n<p>Which showed that the gnome-action takes place in Util.java. To narrow down where it was hanging I added some extra debug messages to the source and modified some of the existing ones to narrow down where the hang was happening.<\/p>\n<p>The problem was the while statement at line 10. As nothing seems to be done with the data read into line, it seemed safe to comment out the statements. The modified code is shown below.<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">&lt;\/pre&gt;\r\nLog.info(&quot;gnome-open &quot; + url);\r\n process = runtime.exec(new String&#x5B;] {&quot;gnome-open&quot; , url});\r\n \/\/ out(&quot;process: &quot; + process);\r\n InputStream stdin = process.getErrorStream();\r\n InputStreamReader isr = new InputStreamReader(stdin);\r\n BufferedReader br = new BufferedReader(isr);\r\n String line = null;\r\n System.out.println(&quot;&lt;OUTPUTa&gt;&quot;);\r\n \/\/while ((line = br.readLine()) != null)\r\n \/\/ System.out.println(line);\r\n\r\n System.out.println(&quot;&lt;OUTPUTb&gt;&quot;);&lt;\/pre&gt;\r\n<\/pre>\n<p>Final thoughts&#8230; VUE also hooks in to using\u00a0<a href=\"http:\/\/www.opencalais.com\/\">http:\/\/www.opencalais.com\/<\/a>\u00a0to provide semantic analysis of resources. (if you are \u00a0not sure what that is, go and take a look&#8230;its worth it ).<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I use the Tufts University application VUE \u00a0the Visual Understanding Environment both as a pseudo mind map tool and as a way of organising my &#8216;desktop&#8217;. I find using MindMap and Concept map applications a handy way of quickly getting &hellip; <a href=\"https:\/\/www.jontrinder.com\/blog\/?p=56\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[80,79,15],"tags":[18,9,10,16,17,8,14],"class_list":["post-56","post","type-post","status-publish","format-standard","hentry","category-computing","category-linux","category-mindmaps","tag-code","tag-gnome","tag-java","tag-mindmap","tag-productivity","tag-software-architecture","tag-vue"],"_links":{"self":[{"href":"https:\/\/www.jontrinder.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/56","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.jontrinder.com\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.jontrinder.com\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.jontrinder.com\/blog\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.jontrinder.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=56"}],"version-history":[{"count":27,"href":"https:\/\/www.jontrinder.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/56\/revisions"}],"predecessor-version":[{"id":133,"href":"https:\/\/www.jontrinder.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/56\/revisions\/133"}],"wp:attachment":[{"href":"https:\/\/www.jontrinder.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=56"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.jontrinder.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=56"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.jontrinder.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=56"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}