<?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-1247170054733819860</id><updated>2011-10-15T10:28:38.919+09:00</updated><category term='Windows関連のTips'/><category term='Twitter'/><category term='JPA'/><category term='NyARToolkit'/><category term='proxy'/><category term='GWT'/><category term='Java3D'/><category term='javascript'/><category term='Lucene'/><category term='Eclipseプラグイン開発Tips'/><category term='Spring Framework'/><category term='jMonkey Engine'/><category term='Hibernate'/><category term='メモ'/><category term='Collada'/><category term='ssh'/><category term='Unity3D'/><category term='Eclipse Plugin'/><category term='Java'/><category term='Leopard'/><category term='Snow Leopard'/><category term='NyARToolkit関連、Google Android'/><category term='C#'/><category term='Tomcat'/><category term='Slim3'/><category term='Sen'/><category term='NyARToolkit関連'/><category term='Linux'/><category term='NyARToolkit Eclipse Plugin 開発'/><category term='Open CV'/><category term='JAXB'/><category term='Hadoop'/><category term='Emgu CV'/><category term='雑記'/><category term='Ubuntu'/><category term='Java関連Tips'/><category term='Google Apps Engine'/><category term='Mac OSX'/><title type='text'>Shiva's Cafe</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://shinoblogbyshiva.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1247170054733819860/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://shinoblogbyshiva.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Shinobu IZUMI</name><uri>http://www.blogger.com/profile/12353190872067808100</uri><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>29</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1247170054733819860.post-1553642562141747154</id><published>2011-08-21T21:18:00.009+09:00</published><updated>2011-08-21T22:09:10.113+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='Unity3D'/><category scheme='http://www.blogger.com/atom/ns#' term='Twitter'/><title type='text'>Using TwitterAPI from Unity Web Player</title><content type='html'>This blog is a translation of this entry that written by my student.&lt;br /&gt;&lt;a href="http://d.hatena.ne.jp/anchan828/20110821"&gt;http://d.hatena.ne.jp/anchan828/20110821&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;There's a crossdomain limitation to post a tweet from UnityWebPlayer.&lt;br /&gt;&lt;br /&gt;Here, we used some detour for this.&lt;br /&gt;The main idea is calling javascript function from Unity and using OAuth2.0 to POST.&lt;br /&gt;We used @Anywhere to implement this.&lt;br /&gt;&lt;br /&gt;1. Preparation&lt;br /&gt;&lt;br /&gt;Register your application to Twitter dev(https://dev.twitter.com/).&lt;br /&gt;After you finish registration, move to @Anywhere Domains in the settings section for the application and register your domain name.&lt;br /&gt;&lt;a href="http://cdn-ak.f.st-hatena.com/images/fotolife/a/anchan828/20110821/20110821194912.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 640px;" src="http://cdn-ak.f.st-hatena.com/images/fotolife/a/anchan828/20110821/20110821194912.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;ex.  unity-games.appspot.com for UnityGames(http://unity-games.appspot.com/)&lt;br /&gt;&lt;br /&gt;That's all for setting up your application.&lt;br /&gt;&lt;br /&gt;Then, insert the line into the webpage where you want to put your UnityWebPlayer.&lt;br /&gt;&lt;pre class="prettyprint"&gt;&amp;lt;script src="http://platform.twitter.com/anywhere.js?id=Consumer key for your Twitter App&amp;amp;v=1"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Now, you are ready to use @AnyWhere&lt;br /&gt;&lt;br /&gt;2. Implement javascript function in the webpage.&lt;br /&gt;&lt;br /&gt;The functions you need are Authorization and POST.&lt;br /&gt;Authorization function is here.&lt;br /&gt;&lt;pre class="prettyprint"&gt;function connect(){&lt;br /&gt;&lt;br /&gt;	var url = "https://oauth.twitter.com/2/authorize?oauth_callback_url="&lt;br /&gt;　　　　　　//the call back should be the webpage address where your Unity Web Player is.&lt;br /&gt;		+ encodeURIComponent(location.href)&lt;br /&gt;		+ "&amp;amp;oauth_mode=flow_web_client&amp;amp;oauth_client_identifier=Consumer Key for your Twitter App";&lt;br /&gt;	var F = 0;&lt;br /&gt;	if (screen.height &amp;gt; 500) {&lt;br /&gt;		F = Math.round((screen.height / 2) - (250))&lt;br /&gt;	}&lt;br /&gt;　　// The window option is a default for @AnyWhere&lt;br /&gt;	window.open(url, "twitter_anywhere_auth", "left=" + Math.round((screen.width / 2) - (250)) + ",top=" + F&lt;br /&gt;			+ ",width=500,height=500"&lt;br /&gt;			+ ",personalbar=no,toolbar=no,resizable=no,scrollbars=yes");&lt;br /&gt;}&lt;/pre&gt;Next, post function using ajax will be like this. (The function is using JQuery(http://jquery.com))&lt;br /&gt;&lt;pre class="prettyprint"&gt;//url will be something like "https://api.twitter.com/1/statuses/update.json". You must url encode the parameters.&lt;br /&gt;function post(url) {&lt;br /&gt;       $.ajax({&lt;br /&gt;           type: "post",&lt;br /&gt;　　　　 //The access token for twitter can be load with localStorage.getItem("twttr_anywhere")&lt;br /&gt;           url: url+ "&amp;amp;oauth_access_token="+encodeURIComponent(localStorage.getItem("twttr_anywhere")),&lt;br /&gt;           success: function (e) {&lt;br /&gt;          	// write whatever you want to do.&lt;br /&gt;           }&lt;br /&gt;       });&lt;br /&gt;}&lt;/pre&gt;Mind that you should use HTTPS protocol here.&lt;br /&gt;You must always give "oauth_access_token=取得したAccess_Token" as a parameter for posting to Twitter.&lt;br /&gt;&lt;br /&gt;3. Implementation in Unity.&lt;br /&gt;&lt;br /&gt;It's easy to call javascript function in the webpage from Unity.&lt;br /&gt;You can use,&lt;br /&gt;Application.ExternalCall (http://unity3d.com/support/documentation/ScriptReference/Application.ExternalCall.html)&lt;br /&gt;&lt;br /&gt;First, authorize your self. If you call the function,  a popup window will be shown.&lt;br /&gt;&lt;pre class="prettyprint"&gt;Application.ExternalCall ("connect");&lt;br /&gt;&lt;/pre&gt;Next, POST your tweet.&lt;br /&gt;&lt;pre class="prettyprint"&gt;//URL encode your twee (http://unity3d.com/support/documentation/ScriptReference/WWW.EscapeURL.html)&lt;br /&gt;Application.ExternalCall ("post", "https://api.twitter.com/1/statuses/update.json?status=" + WWW.EscapeURL (tweet));&lt;br /&gt;&lt;/pre&gt;Now, you can tweet from your Unity Web Player!&lt;br /&gt;You can try the working example here -&amp;gt;（&lt;a href="http://unity-games.appspot.com/unitygames/game/ug1118001"&gt;Let’s Twitter In UnityWebPlayer&lt;/a&gt;）&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1247170054733819860-1553642562141747154?l=shinoblogbyshiva.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinoblogbyshiva.blogspot.com/feeds/1553642562141747154/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1247170054733819860&amp;postID=1553642562141747154&amp;isPopup=true' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1247170054733819860/posts/default/1553642562141747154'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1247170054733819860/posts/default/1553642562141747154'/><link rel='alternate' type='text/html' href='http://shinoblogbyshiva.blogspot.com/2011/08/using-twitterapi-from-unity-web-player.html' title='Using TwitterAPI from Unity Web Player'/><author><name>Shinobu IZUMI</name><uri>http://www.blogger.com/profile/12353190872067808100</uri><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-1247170054733819860.post-5789914110340116436</id><published>2011-01-14T21:27:00.005+09:00</published><updated>2011-01-14T22:00:48.654+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Unity3D'/><category scheme='http://www.blogger.com/atom/ns#' term='Slim3'/><category scheme='http://www.blogger.com/atom/ns#' term='Google Apps Engine'/><title type='text'>Head to "Sojo University Unity3D Competition"</title><content type='html'>In our university, 3rd grade students are studying game development using Unity3D in the lecture called "Animation Study". Students are required to plan and create their original 3D/2D game with Unity3D. For most students, game development is a first trial (some of them did not even make any 3D models before). They studied Blender and Unity3D, that I introduced in the lecture. Also, some students studied Metasequoia or Google Sketchup to emphasize their work. Finally, their works are forming into a game.&lt;br /&gt;&lt;br /&gt;The evaluation of their games is done by public voting on the Web. If they get many votes, they will get a good mark!&lt;br /&gt;&lt;br /&gt;I am building the voting system with Slim3 and AppEngine/J. They are really powerful!&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img.f.hatena.ne.jp/images/fotolife/s/shinobu_siv/20110114/20110114210843.png"&gt;&lt;img style="float:none; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 387px; height: 461px;" src="http://img.f.hatena.ne.jp/images/fotolife/s/shinobu_siv/20110114/20110114210843.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;You will be able to vote with Google and Mixi OpenID. Also you can use Twitter authentication. &lt;br /&gt;Something like "Like" from Facebook will be supported as well. &lt;br /&gt;&lt;br /&gt;It will start on 26th of January, if there is no problem. We hope that many people get interested in the trial. We will post the link for our voting system on the blog later.&lt;br /&gt;&lt;br /&gt;Please vote for their games!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1247170054733819860-5789914110340116436?l=shinoblogbyshiva.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinoblogbyshiva.blogspot.com/feeds/5789914110340116436/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1247170054733819860&amp;postID=5789914110340116436&amp;isPopup=true' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1247170054733819860/posts/default/5789914110340116436'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1247170054733819860/posts/default/5789914110340116436'/><link rel='alternate' type='text/html' href='http://shinoblogbyshiva.blogspot.com/2011/01/head-to-university-of-sojo-unity3d.html' title='Head to &quot;Sojo University Unity3D Competition&quot;'/><author><name>Shinobu IZUMI</name><uri>http://www.blogger.com/profile/12353190872067808100</uri><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-1247170054733819860.post-3171069356625030499</id><published>2010-08-26T18:03:00.004+09:00</published><updated>2010-08-26T18:29:15.762+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Open CV'/><category scheme='http://www.blogger.com/atom/ns#' term='Snow Leopard'/><category scheme='http://www.blogger.com/atom/ns#' term='Mac OSX'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='Emgu CV'/><category scheme='http://www.blogger.com/atom/ns#' term='Leopard'/><title type='text'>Using Emgu CV on Mac OSX</title><content type='html'>&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:arial;"&gt;Yesterday, I thought of trying to run Emgu CV on Mac OSX.&lt;/span&gt;&lt;/span&gt;&lt;div  style="font-family:arial;"&gt;&lt;span style="font-size:100%;"&gt;I write what I did for that here.&lt;/span&gt;&lt;/div&gt;&lt;div  style="font-family:arial;"&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div  style="font-family:arial;"&gt;&lt;span style="font-size:100%;"&gt;*Emgu CV is a OSS Open CV wrapper for .Net framework.&lt;/span&gt;&lt;/div&gt;&lt;div  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="color: rgb(85, 85, 68); line-height: 18px;font-size:100%;" &gt;&lt;a href="http://www.emgu.com/wiki/index.php/Main_Page" style="font-weight: bold; text-decoration: underline; color: rgb(136, 187, 34); background-color: transparent;"&gt;http://www.emgu.com/wiki/index.php/Main_Page&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div  style="font-family:arial;"&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div  style="font-family:arial;"&gt;&lt;span style="font-size:100%;"&gt;OS: Mac OSX Snow Leopard (10.6.4) failed&lt;/span&gt;&lt;/div&gt;&lt;div  style="font-family:arial;"&gt;&lt;span style="font-size:100%;"&gt;        Mac OSX Leopard(10.5.8) succeed!&lt;/span&gt;&lt;/div&gt;&lt;div  style="font-family:arial;"&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div  style="font-family:arial;"&gt;&lt;span style="font-size:100%;"&gt;1. Installing Mono and Monodevelop (for now you dont really need Monodevelop)&lt;/span&gt;&lt;/div&gt;&lt;div  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="color: rgb(85, 85, 68); line-height: 18px;font-size:100%;" &gt;&lt;a href="http://www.mono-project.com/Main_Page" style="font-weight: bold; text-decoration: underline; color: rgb(136, 187, 34); background-color: transparent;"&gt;http://www.mono-project.com/Main_Page&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div  style="font-family:arial;"&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div  style="font-family:arial;"&gt;&lt;span style="font-size:100%;"&gt;== Japanese problem ==&lt;/span&gt;&lt;/div&gt;&lt;div  style="font-family:arial;"&gt;&lt;span style="font-size:100%;"&gt;You need to specify a font that can be used for your own language if you are using Multi-bytes.&lt;/span&gt;&lt;/div&gt;&lt;div  style="font-family:arial;"&gt;&lt;span style="font-size:100%;"&gt;Create next file with admin authority.&lt;/span&gt;&lt;/div&gt;&lt;div  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="color: rgb(85, 85, 68); line-height: 18px;font-size:100%;" &gt;&lt;div&gt;&lt;blockquote&gt;/Library/Frameworks/Mono.Framework/Version/Current/etc/pango/pango.aliases&lt;/blockquote&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 0);"&gt;&lt;span class="Apple-style-span" style="line-height: normal;"&gt;Write a line like below.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 0);"&gt;&lt;span class="Apple-style-span" style="line-height: normal;"&gt;&lt;span class="Apple-style-span" style="color: rgb(85, 85, 68); line-height: 18px;"&gt;&lt;blockquote&gt;"Lucida Grande" = "Hiragino Kaku Gothic Pro"&lt;/blockquote&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 0);"&gt;&lt;span class="Apple-style-span" style="line-height: normal;"&gt;[Ref.]&lt;/span&gt;&lt;/span&gt; &lt;a href="http://d.hatena.ne.jp/InoHiro/20090413/1239615631" style="font-weight: bold; text-decoration: none; color: rgb(102, 153, 34); background-color: transparent;"&gt;http://d.hatena.ne.jp/InoHiro/20090413/1239615631&lt;/a&gt; &lt;span class="Apple-style-span" style="color: rgb(0, 0, 0); line-height: normal;"&gt;(Japanese)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 0); line-height: normal;"&gt;==================&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 0); line-height: normal;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 0); line-height: normal;"&gt;2. Installing depending libraries via Macports&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 0); line-height: normal;"&gt;&lt;span class="Apple-style-span" style="color: rgb(85, 85, 68); line-height: 18px;"&gt;&lt;blockquote&gt;&lt;div&gt;sudo port selfupdate&lt;/div&gt;&lt;div&gt;sudo port upgrade outdated&lt;/div&gt;&lt;div&gt;sudo port install cmake&lt;/div&gt;&lt;div&gt;sudo port install ffmpeg&lt;/div&gt;&lt;div&gt;sudo port install tiff&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 0); line-height: normal;"&gt;3. Get a source code from SVN repository&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="line-height: normal;"&gt;&lt;span class="Apple-style-span" style="line-height: 18px;"&gt;&lt;blockquote style="color: rgb(0, 0, 0);"&gt;&lt;span class="Apple-style-span"&gt;svn co &lt;/span&gt;&lt;span class="Apple-style-span"&gt;https://emgucv.svn.sourceforge.net/svnroot/emgucv/trunk&lt;/span&gt;&lt;span class="Apple-style-span"&gt; emgucv&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size:100%;"&gt;4. Creating make file by cmake&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;font-family:'Hiragino Kaku Gothic Pro';font-size:100%;"  &gt;&lt;span class="Apple-style-span" style="color: rgb(85, 85, 68); line-height: 18px; text-align: left;font-family:tahoma,'Trebuchet MS',lucida,helvetica,sans-serif;" &gt;cmake -DBUILD_NEW_PYTHON_SUPPORT:BOOL=FALSE -DBUILD_TESTS:BOOL=FALSE .&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;5. Executing make&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;font-family:'Hiragino Kaku Gothic Pro';font-size:100%;"  &gt;&lt;span class="Apple-style-span" style="color: rgb(85, 85, 68); line-height: 18px; text-align: left;font-family:tahoma,'Trebuchet MS',lucida,helvetica,sans-serif;" &gt;&lt;/span&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;font-family:'Hiragino Kaku Gothic Pro';font-size:100%;"  &gt;&lt;span class="Apple-style-span" style="color: rgb(85, 85, 68); line-height: 18px; text-align: left;font-family:tahoma,'Trebuchet MS',lucida,helvetica,sans-serif;" &gt;make&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="font-size:100%;"&gt;6. Running samples&lt;br /&gt;move to bin directory&lt;br /&gt;set value to read library from current directory&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;font-family:'Hiragino Kaku Gothic Pro';font-size:100%;"  &gt;&lt;span class="Apple-style-span" style="color: rgb(85, 85, 68); line-height: 18px; text-align: left;font-family:tahoma,'Trebuchet MS',lucida,helvetica,sans-serif;" &gt;export LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="font-size:100%;"&gt;execute a sample&lt;br /&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;font-family:'Hiragino Kaku Gothic Pro';font-size:100%;"  &gt;&lt;span class="Apple-style-span" style="color: rgb(85, 85, 68); line-height: 18px; text-align: left;font-family:tahoma,'Trebuchet MS',lucida,helvetica,sans-serif;" &gt;mono Example.PlanarSubdivision.monoexe&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="font-size:100%;"&gt;Error!&lt;br /&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;font-family:'Hiragino Kaku Gothic Pro';font-size:100%;"  &gt;&lt;span class="Apple-style-span" style="color: rgb(85, 85, 68); line-height: 18px; text-align: left;font-family:tahoma,'Trebuchet MS',lucida,helvetica,sans-serif;" &gt;System.DllNotFoundException&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="font-size:100%;"&gt;7. Setting Log level and execute again&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;font-family:'Hiragino Kaku Gothic Pro';font-size:100%;"  &gt;&lt;span class="Apple-style-span" style="color: rgb(85, 85, 68); line-height: 18px; text-align: left;font-family:tahoma,'Trebuchet MS',lucida,helvetica,sans-serif;" &gt;MONO_LOG_LEVEL=debug mono Example.PlanarSubdivision.monoexe&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="font-size:100%;"&gt;It seems 64bit is not supported by Mono 2.6.7 so that it is hard to run on Snow Leopard.&lt;br /&gt;&lt;br /&gt;8. Trying to build with 32bit option&lt;br /&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;font-family:'Hiragino Kaku Gothic Pro';font-size:100%;"  &gt;&lt;span class="Apple-style-span" style="color: rgb(85, 85, 68); line-height: 18px; text-align: left;font-family:tahoma,'Trebuchet MS',lucida,helvetica,sans-serif;" &gt;cmake -DCMAKE_OSX_ARCHITECTURES=i386 -DBUILD_NEW_PYTHON_SUPPORT:BOOL=FALSE -DBUILD_TESTS:BOOL=FALSE .&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="font-size:100%;"&gt;got an error at make command.&lt;br /&gt;It said something like Open CV should be 64bit...&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;hmm, I gave up with Snow Leopard ...&lt;br /&gt;&lt;br /&gt;9. Trying with Leopard (10.5.8)&lt;br /&gt;Mostly same as above however library path was different so set as below.&lt;br /&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;font-family:'Hiragino Kaku Gothic Pro';font-size:100%;"  &gt;&lt;span class="Apple-style-span" style="color: rgb(85, 85, 68); line-height: 18px; text-align: left;font-family:tahoma,'Trebuchet MS',lucida,helvetica,sans-serif;" &gt;export LD_LIBRARY_PATH=../lib:.:$LD_LIBRARY_PATH&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="font-size:100%;"&gt;I could run the sample!&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;span class="Apple-style-span" style="color: rgb(85, 85, 68); line-height: 18px;font-size:100%;" &gt;&lt;span style="font-size:100%;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_hDSvncxv82M/THU9in7lEZI/AAAAAAAAAtw/-eMguIqvtdo/s400/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+1.png"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 381px; height: 400px;" src="http://3.bp.blogspot.com/_hDSvncxv82M/THU9in7lEZI/AAAAAAAAAtw/-eMguIqvtdo/s400/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+1.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1247170054733819860-3171069356625030499?l=shinoblogbyshiva.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinoblogbyshiva.blogspot.com/feeds/3171069356625030499/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1247170054733819860&amp;postID=3171069356625030499&amp;isPopup=true' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1247170054733819860/posts/default/3171069356625030499'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1247170054733819860/posts/default/3171069356625030499'/><link rel='alternate' type='text/html' href='http://shinoblogbyshiva.blogspot.com/2010/08/using-emgu-cv-on-mac-osx.html' title='Using Emgu CV on Mac OSX'/><author><name>Shinobu IZUMI</name><uri>http://www.blogger.com/profile/12353190872067808100</uri><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://3.bp.blogspot.com/_hDSvncxv82M/THU9in7lEZI/AAAAAAAAAtw/-eMguIqvtdo/s72-c/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1247170054733819860.post-6384492066466274294</id><published>2010-07-18T02:57:00.002+09:00</published><updated>2010-07-18T02:59:39.251+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GWT'/><category scheme='http://www.blogger.com/atom/ns#' term='Spring Framework'/><category scheme='http://www.blogger.com/atom/ns#' term='Tomcat'/><category scheme='http://www.blogger.com/atom/ns#' term='Lucene'/><category scheme='http://www.blogger.com/atom/ns#' term='Hibernate'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='JPA'/><title type='text'>Tomcat 6 grant setting for GWT, Lucene, JPA, HIbernate and Spring Framework</title><content type='html'>WIth Ubuntu 10.04, &lt;br /&gt;&lt;br /&gt;Running GWT on Tomcat6 with Lucene, JPA, Hibernate and Spring Framework,&lt;br /&gt;you need to grant many permissions.&lt;br /&gt;&lt;br /&gt;Write in, "04webapps.policy"&lt;br /&gt;&lt;br /&gt;grant { &lt;br /&gt;&lt;br /&gt;permission java.util.PropertyPermission "user.dir", "read";&lt;br /&gt;permission java.util.PropertyPermission "org.apache.lucene.lockDir", "read";&lt;br /&gt;permission java.util.PropertyPermission "sun.arch.data.model", "read";&lt;br /&gt;permission java.util.PropertyPermission "org.apache.lucene.store.FSDirectoryLockFactoryClass", "read";&lt;br /&gt;permission java.util.PropertyPermission "org.apache.lucene.analysis.standard.StandardAnalyzer.replaceInvalidAcronym", "read";&lt;br /&gt;permission java.util.PropertyPermission "cglib.debugLocation", "read";&lt;br /&gt;permission java.util.PropertyPermission "ANTLR_DO_NOT_EXIT", "read";&lt;br /&gt;permission java.util.PropertyPermission "ANTLR_USE_DIRECT_CLASS_LOADING", "read";&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;//Required for Spring Framework&lt;br /&gt;permission java.lang.RuntimePermission "createClassLoader";&lt;br /&gt;permission java.lang.reflect.ReflectPermission "suppressAccessChecks";&lt;br /&gt;permission java.lang.RuntimePermission "getProtectionDomain";&lt;br /&gt;permission java.net.SocketPermission "127.0.0.1:3306","connect,resolve,listen,accept";&lt;br /&gt;permission java.net.SocketPermission "localhost:3306","connect,resolve,listen,accept";&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1247170054733819860-6384492066466274294?l=shinoblogbyshiva.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinoblogbyshiva.blogspot.com/feeds/6384492066466274294/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1247170054733819860&amp;postID=6384492066466274294&amp;isPopup=true' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1247170054733819860/posts/default/6384492066466274294'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1247170054733819860/posts/default/6384492066466274294'/><link rel='alternate' type='text/html' href='http://shinoblogbyshiva.blogspot.com/2010/07/tomcat-6-grant-setting-for-gwt-lucene.html' title='Tomcat 6 grant setting for GWT, Lucene, JPA, HIbernate and Spring Framework'/><author><name>Shinobu IZUMI</name><uri>http://www.blogger.com/profile/12353190872067808100</uri><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-1247170054733819860.post-3169913994490106598</id><published>2010-07-18T02:54:00.002+09:00</published><updated>2010-07-18T02:56:57.634+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='proxy'/><title type='text'>Linux and Proxy setting notes</title><content type='html'>Linux &amp; proxy settings are always very bothersome to search.&lt;br /&gt;&lt;br /&gt;[apt-get] export command or set as a environmental variable&lt;br /&gt;export http_proxy=http://[address]:[port]/&lt;br /&gt;&lt;br /&gt;[wget] xport command or set as a environmental variable&lt;br /&gt;export http_proxy=http://[address]:[port]/&lt;br /&gt;&lt;br /&gt;[yum] 環xport command or set as a environmental variable&lt;br /&gt;export http_proxy=http://[address]:[port]/&lt;br /&gt;&lt;br /&gt;[rpm] use command line options&lt;br /&gt;rpm --httpproxy [address] --httpport [port]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1247170054733819860-3169913994490106598?l=shinoblogbyshiva.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinoblogbyshiva.blogspot.com/feeds/3169913994490106598/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1247170054733819860&amp;postID=3169913994490106598&amp;isPopup=true' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1247170054733819860/posts/default/3169913994490106598'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1247170054733819860/posts/default/3169913994490106598'/><link rel='alternate' type='text/html' href='http://shinoblogbyshiva.blogspot.com/2010/07/linux-and-proxy-setting-notes.html' title='Linux and Proxy setting notes'/><author><name>Shinobu IZUMI</name><uri>http://www.blogger.com/profile/12353190872067808100</uri><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-1247170054733819860.post-7658106476106593557</id><published>2010-07-18T02:49:00.003+09:00</published><updated>2010-07-18T02:54:22.219+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='ssh'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Ubuntu 10.04 sudo via ssh</title><content type='html'>When you try to send sudo command via ssh, I got this message.&lt;br /&gt;sudo: no tty present and no askpass program specified&lt;br /&gt;&lt;br /&gt;There are some entries that says you should comment out "Defaults requiretty" from /etc/sudoers, however, there is no such line in the file for Ubuntu 10.04.&lt;br /&gt;&lt;br /&gt;Writing "Defaults visibletty" works fine although you password will be visible when you type.&lt;br /&gt;&lt;br /&gt;It didn't sound the best solution and I found out that using "-t" option for ssh command is better way. Then the command will be something like this.&lt;br /&gt;&lt;br /&gt;ssh -t [address] sudo shutdown -h now&lt;br /&gt;&lt;br /&gt;In addition,&lt;br /&gt;Writing the following like in "/etc/sudoers" will let you "sudo" without prompting password request.&lt;br /&gt;username ALL=NOPASSWD: ALL&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1247170054733819860-7658106476106593557?l=shinoblogbyshiva.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinoblogbyshiva.blogspot.com/feeds/7658106476106593557/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1247170054733819860&amp;postID=7658106476106593557&amp;isPopup=true' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1247170054733819860/posts/default/7658106476106593557'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1247170054733819860/posts/default/7658106476106593557'/><link rel='alternate' type='text/html' href='http://shinoblogbyshiva.blogspot.com/2010/07/ubuntu-1004-sudo-via-ssh.html' title='Ubuntu 10.04 sudo via ssh'/><author><name>Shinobu IZUMI</name><uri>http://www.blogger.com/profile/12353190872067808100</uri><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-1247170054733819860.post-6741127979007779627</id><published>2010-03-01T02:05:00.004+09:00</published><updated>2010-03-01T02:14:12.137+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Slim3'/><category scheme='http://www.blogger.com/atom/ns#' term='Sen'/><category scheme='http://www.blogger.com/atom/ns#' term='Google Apps Engine'/><title type='text'>Japanese Morphological Analyzer on GAE</title><content type='html'>&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;I made a Japanese morphological analyzer on Google Apps Engine.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;You can input Japanese sentences and then you will see the analysis result.&lt;/span&gt;&lt;/div&gt;&lt;a href="http://onlinejpanalyser.appspot.com/sen/"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;http://onlinejpanalyser.appspot.com/sen/&lt;/span&gt;&lt;/a&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;I used &lt;/span&gt;&lt;a href="http://sites.google.com/site/slim3appengine/"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Slim3&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; that is a full-stack MVC framework optimized for Google App Engine/Java.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:Arial, Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span"  style="font-family:Georgia, serif;"&gt;&lt;span class="Apple-style-span"  style="font-family:Arial, Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span"  style="font-family:Georgia, serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Also, I used &lt;/span&gt;&lt;a href="http://www.mlab.im.dendai.ac.jp/~yamada/ir/MorphologicalAnalyzer/Sen.html"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Sen&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; to analyze Japanese sentences. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1247170054733819860-6741127979007779627?l=shinoblogbyshiva.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinoblogbyshiva.blogspot.com/feeds/6741127979007779627/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1247170054733819860&amp;postID=6741127979007779627&amp;isPopup=true' title='1 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1247170054733819860/posts/default/6741127979007779627'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1247170054733819860/posts/default/6741127979007779627'/><link rel='alternate' type='text/html' href='http://shinoblogbyshiva.blogspot.com/2010/03/japanese-morphological-analyzer-on-gae.html' title='Japanese Morphological Analyzer on GAE'/><author><name>Shinobu IZUMI</name><uri>http://www.blogger.com/profile/12353190872067808100</uri><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>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1247170054733819860.post-8437973102471322379</id><published>2009-10-31T19:05:00.015+09:00</published><updated>2009-10-31T20:38:32.287+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse Plugin'/><category scheme='http://www.blogger.com/atom/ns#' term='Hadoop'/><title type='text'>Hadoop Plugin for Eclipse 3.5.1 Galileo</title><content type='html'>&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Recently I started trying &lt;/span&gt;&lt;a href="http://hadoop.apache.org/"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Apache Hadoop&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; and there were some people wrote about Eclipse Plugin.I checked out latest source code but it seems they didn't include the plugin no longer, so I checked out version 0.19.2 that was the newest one I found that had the plugin.&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;I tried with hadoop 0.19.2 however the plugin didn't work well on Eclipse 3.5.1 Galileo.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;The error log said they couldn't find a class and couldn't instanciate the plugin when they try to run Hadoop program. I looked through the source and found that was using "internal"  class. It seemed the class was no longer in the latest Eclipse. I changed "import" sentences, fixed one bug about null checking and finally got the plugin working.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;===========================&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;The system specification was :&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Host OS : Mac OSX 10.5&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Guest OS on VMware : Ubuntu 9.04&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Eclipse 3.5.1 Galileo&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Hadoop 0.19.2&lt;/span&gt;&lt;/div&gt;===========================&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;I uploaded the fixed plugin &lt;/span&gt;&lt;a href="http://stagesp1.googlepages.com/org.apache.hadoop.eclipse_0.18.0.jar"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;here&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;. In case, if anyone is trying to use the plugin,  the following that I write about installation and usage will help.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;First, you need to install Hadoop. I prefere downloading not the latest but version 0.19.2.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://hadoop.apache.org/common/docs/current/quickstart.html"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Quick Start&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; will help greatly. Latest one( currently 0.20.1 ) is using separated files for configuration however you can just find same entries in  &lt;/span&gt;&lt;span class="Apple-style-span"  style="  line-height: 15px; font-family:'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;conf/hadoop-site.xml (&lt;/span&gt;&lt;span class="Apple-style-span"  style="  line-height: normal; font-family:Georgia, serif;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;you might need to copy from hadoop-default.xml first time ) . Please run hadoop and create directory input on Hadoop File System (HDFS) before you go to next step. You may also want't to copy some text files in it as it is done in Quick Start.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Second, download the plugin and copy it in "plugins" directory then start Eclipse. You will see "Map/Reduce Project" when you try to create "New Project". However, you can't create its project until you configure the plugin. So, open "Preference -&gt; Hadop Map/Reduce" and set Hadoop installed directory(fig 1). Finally we can start creating and run Hadoop project.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 200px; height: 120px;" src="http://1.bp.blogspot.com/_hDSvncxv82M/SuweeHf-KUI/AAAAAAAAAa0/3PsUxHnEh2U/s200/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+1.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5398723556068436290" /&gt; fig 1 : Setup Hadoop installed directory&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Create new Hadoop Project then Eclipse will lead you to Hadoop Plugin Perspective. Now, you can see blue elephant icons. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Open "Window-&gt;Show View-&gt;Other-&gt;MapReduce Tools-&gt;Map/Reduce Locations"(fig 2). &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Click "Blue Elephant" in "Map/Reduce Locations" view and define Hadoop location. For testing you need to edit "Location Name", "Host" and "Port" in General tab, also you need to set "eclipse.plugin.jobtracker.host", "eclipse.plugin.jobtracker.port", "fs.default.name" (fig 3, 4).&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Check if you can connect to HDFS from Eclipse. In "Project Explorer", open DFS Locations.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Create Hadoop programs (you can use &lt;/span&gt;&lt;a href="http://stagesp1.googlepages.com/hadoop.plugin.sample.zip"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;this sample&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;) and try running them. You can select a class that has main and "Right Click -&gt; Run As -&gt;Run on Hadoop" (fig 5).&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Choose Location and Finish then you will see Hadoop outputs in Console.&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 200px; height: 112px;" src="http://2.bp.blogspot.com/_hDSvncxv82M/Suwee0dsyLI/AAAAAAAAAbM/o0nxX-4GwYA/s200/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+5.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5398723568138504370" /&gt; fig 2 : Map/Reduce Location View and DFS Explorer&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 200px; height: 113px;" src="http://2.bp.blogspot.com/_hDSvncxv82M/SuweeXq-_RI/AAAAAAAAAa8/7SGB8QjV1Xo/s200/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+3.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5398723560409595154" /&gt;  &lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_hDSvncxv82M/Suweei0E-GI/AAAAAAAAAbE/DhWLKlo0UVQ/s1600-h/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+4.png"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 200px; height: 94px;" src="http://1.bp.blogspot.com/_hDSvncxv82M/Suweei0E-GI/AAAAAAAAAbE/DhWLKlo0UVQ/s200/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+4.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5398723563400525922" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; fig 3, 4 : Hadoop Location setup&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 200px; height: 82px;" src="http://2.bp.blogspot.com/_hDSvncxv82M/SuwefH5PA7I/AAAAAAAAAbU/lVp6TVzZxEc/s200/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+6.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5398723573354267570" /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 200px; height: 53px;" src="http://3.bp.blogspot.com/_hDSvncxv82M/Suwen-npQJI/AAAAAAAAAbc/jeR05Ddwc1o/s200/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+7.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5398723725483393170" /&gt; fig 5 : Running Hadoop Program&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="  line-height: 15px; font-family:'Courier New', Courier, monospace;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1247170054733819860-8437973102471322379?l=shinoblogbyshiva.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinoblogbyshiva.blogspot.com/feeds/8437973102471322379/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1247170054733819860&amp;postID=8437973102471322379&amp;isPopup=true' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1247170054733819860/posts/default/8437973102471322379'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1247170054733819860/posts/default/8437973102471322379'/><link rel='alternate' type='text/html' href='http://shinoblogbyshiva.blogspot.com/2009/10/hadoop-plugin-for-eclipse-353-galileo.html' title='Hadoop Plugin for Eclipse 3.5.1 Galileo'/><author><name>Shinobu IZUMI</name><uri>http://www.blogger.com/profile/12353190872067808100</uri><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://1.bp.blogspot.com/_hDSvncxv82M/SuweeHf-KUI/AAAAAAAAAa0/3PsUxHnEh2U/s72-c/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1247170054733819860.post-2646782763263441900</id><published>2009-09-02T00:28:00.008+09:00</published><updated>2009-09-02T15:28:31.334+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='jMonkey Engine'/><category scheme='http://www.blogger.com/atom/ns#' term='NyARToolkit'/><title type='text'>NyArtoolkit on jMonkeyEngine</title><content type='html'>&lt;div&gt;I was trying to use &lt;a href="http://www.jmonkeyengine.com/"&gt;jMonkeyEngine&lt;/a&gt; for a 3D engine with &lt;a href="http://nyatla.jp/nyartoolkit/wiki/index.php?FrontPage.en"&gt;NyArtoolkit&lt;/a&gt; these few days. I uploaded my first result on Youtube.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;jMonkeyEngine is a 3D game engine written in Java. It supports many features such as collisions, particle systems, shaders, terrain system and so on.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/P_36b7nhYno&amp;amp;hl=ja&amp;amp;fs=1&amp;amp;"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/P_36b7nhYno&amp;amp;hl=ja&amp;amp;fs=1&amp;amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Here, I put my source codes however I modified original NyARToolkit utils library for a compatibility between mac and windows so they might not work. If you have any question, feel free to ask.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://stagesp1.googlepages.com/JmeNyARParam.java"&gt;JmeNyARParam.java&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://stagesp1.googlepages.com/JmeSimpleLite.java"&gt;JmeSimpleLite.java&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1247170054733819860-2646782763263441900?l=shinoblogbyshiva.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinoblogbyshiva.blogspot.com/feeds/2646782763263441900/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1247170054733819860&amp;postID=2646782763263441900&amp;isPopup=true' title='6 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1247170054733819860/posts/default/2646782763263441900'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1247170054733819860/posts/default/2646782763263441900'/><link rel='alternate' type='text/html' href='http://shinoblogbyshiva.blogspot.com/2009/09/nyartoolkit-on-jmonkeyengine.html' title='NyArtoolkit on jMonkeyEngine'/><author><name>Shinobu IZUMI</name><uri>http://www.blogger.com/profile/12353190872067808100</uri><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>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1247170054733819860.post-4741506623711540408</id><published>2009-03-21T14:21:00.003+09:00</published><updated>2009-03-21T14:36:40.903+09:00</updated><title type='text'>Source code for Java3D Collada1.4.1 Loader</title><content type='html'>&lt;div&gt;After I answered Mariano's comment I got another work and was a bit busy so it got so late to upload my source code here. This source code is originally from j3d-incubator project so every rights should follow their policy except some codes that I wrote entirely new. My codes are published under GPL for now. I'd love to marge my code to incubator project when I get time.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Sorry for this inconvenience.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;You can download source code here.&lt;/div&gt;&lt;div&gt;&lt;a href="http://stagesp1.googlepages.com/j3dcollada14loader_shiva.zip"&gt;archive&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1247170054733819860-4741506623711540408?l=shinoblogbyshiva.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinoblogbyshiva.blogspot.com/feeds/4741506623711540408/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1247170054733819860&amp;postID=4741506623711540408&amp;isPopup=true' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1247170054733819860/posts/default/4741506623711540408'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1247170054733819860/posts/default/4741506623711540408'/><link rel='alternate' type='text/html' href='http://shinoblogbyshiva.blogspot.com/2009/03/source-code-for-java3d-collada141.html' title='Source code for Java3D Collada1.4.1 Loader'/><author><name>Shinobu IZUMI</name><uri>http://www.blogger.com/profile/12353190872067808100</uri><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-1247170054733819860.post-744450167049340232</id><published>2009-01-26T15:29:00.010+09:00</published><updated>2009-01-26T17:08:19.584+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java3D'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='JAXB'/><category scheme='http://www.blogger.com/atom/ns#' term='Collada'/><title type='text'>Java3D model loader for Google SketchUp</title><content type='html'>&lt;div&gt;I'm trying to implement a Java3D model loader for Collada 1.4.1 format.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;There's an implementation on &lt;a href="https://j3d-incubator.dev.java.net/"&gt;j3d-incubator project&lt;/a&gt; however it doesn't seem that is supporting many functions so that I checked out from their repository and tried implementing additional functions.&lt;/div&gt;&lt;div&gt;When I get some result, I'd like to submit my codes.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;For the first step, I tried loading models that were made with Google SketchUp (it's using Collada format) &lt;/div&gt;&lt;div&gt;As you know, there is a lot of great models on &lt;a href="http://sketchup.google.com/3dwarehouse/"&gt;3D Warehouse&lt;/a&gt; and it must be very helpful if you can load them into your java 3d application.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I made a very simple &lt;a href="http://www.ylab.ai.kyutech.ac.jp/~shiva/jws/kmzloader/"&gt;applet&lt;/a&gt; to try loading them.&lt;/div&gt;&lt;div&gt;(I sincerely ask you guys to accept my personal signature that is needed to access local files by the applet)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;img style="cursor:pointer; cursor:hand;width: 240px; height: 180px;" src="http://3.bp.blogspot.com/_hDSvncxv82M/SX1hOWu2WiI/AAAAAAAAASg/7G-Mk7eE0dk/s320/pic1.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5295495636105714210" /&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;img style="cursor:pointer; cursor:hand;width: 240px; height: 180px;" src="http://3.bp.blogspot.com/_hDSvncxv82M/SX1hOXHGfQI/AAAAAAAAASo/HtoqnI1T1Hg/s320/pic2.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5295495636207435010" /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&gt;It hasn't been supporting a lot of functions however it is able to load geometry, basic materials (such as diffuse or ambient colours) and simple textures.&lt;/div&gt;&lt;div&gt;Please be careful loading a large file, it might require a huge amount of memory space.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;You can also download &lt;a href="http://www.ylab.ai.kyutech.ac.jp/~shiva/jws/kmzloader/kmzloader.jar"&gt;jar binary archive.&lt;/a&gt;&lt;/div&gt;&lt;div&gt;Here's a code fragment to try it. Please refer Java3D object loader usage that you can find on several web sites. &lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;loader.KmzLoader l = new loader.KmzLoader();&lt;/div&gt;&lt;div&gt;Scene s = l.load(new URL(path));&lt;/div&gt;&lt;div&gt;BranchGroup bg = s.getSceneGraph();&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;You may also need to adjust camera location or things.&lt;/div&gt;&lt;div&gt;I found out if the model is too large Java3D is not able to handle z buffer orders so then you need to use Transform group to scale it smaller. &lt;/div&gt;&lt;div&gt;If someone has information on this problem and solution please let me know.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Hope you can enjoy it. :)&lt;/div&gt;&lt;div&gt;When you find bugs or have any requirements, I'd be grateful if you leave messages here.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1247170054733819860-744450167049340232?l=shinoblogbyshiva.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinoblogbyshiva.blogspot.com/feeds/744450167049340232/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1247170054733819860&amp;postID=744450167049340232&amp;isPopup=true' title='13 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1247170054733819860/posts/default/744450167049340232'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1247170054733819860/posts/default/744450167049340232'/><link rel='alternate' type='text/html' href='http://shinoblogbyshiva.blogspot.com/2009/01/java3d-model-loader-for-google-sketchup.html' title='Java3D model loader for Google SketchUp'/><author><name>Shinobu IZUMI</name><uri>http://www.blogger.com/profile/12353190872067808100</uri><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://3.bp.blogspot.com/_hDSvncxv82M/SX1hOWu2WiI/AAAAAAAAASg/7G-Mk7eE0dk/s72-c/pic1.png' height='72' width='72'/><thr:total>13</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1247170054733819860.post-9173058065922395144</id><published>2009-01-22T12:29:00.005+09:00</published><updated>2009-01-22T13:21:45.770+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='JAXB'/><category scheme='http://www.blogger.com/atom/ns#' term='Collada'/><title type='text'>Compiling Collada 1.5 schema by JAXB</title><content type='html'>I had a problem compiling Collada 1.5 schema by JAXB so I write problems and the way I solved it.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;What you need to prepare is&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;Download &lt;a href="http://www.khronos.org/collada/"&gt;Collada 1.5.0 Schema&lt;/a&gt; (if the extension is "txt", the change it to "xsd")&lt;/li&gt;&lt;li&gt;Download latest &lt;a href="https://jaxb.dev.java.net/"&gt;JAXB&lt;/a&gt; (currently 2.1.9 is the latest)&lt;/li&gt;&lt;li&gt;Open and place them as you need. (also set a path for Java and others)&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;First, I tried the command "xjc collada_schema_1_5.xsd" and got the following errors.&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;br /&gt;[ERROR] Property "Source" is already defined. Use &amp;lt;jaxb:property&gt; to resolve this conflict.&lt;br /&gt;line 8785 of file:/Users/shiva/TMP/collada/collada_schema_1_5.xsd&lt;br /&gt;...&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;This problem is occurred by name collision it seemed and I found a solution &lt;a href="http://weblogs.java.net/blog/kohsuke/archive/2006/03/simple_and_bett.html"&gt;here&lt;/a&gt;&lt;/div&gt;&lt;div&gt;"simpleMode.xml" helped to avoid the first problem. (and it worked well for collada 1.4 schema)&lt;/div&gt;&lt;div&gt;The Command was &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;"xjc collada_schema_1_5.xsd -extension simpleMode.xml"&lt;/div&gt;&lt;div&gt;(make sure the path to "simpleMode.xml")&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;When I tried it, "xjc" died of OutOfMemory error however I could not find a way to enlarge memory space for "xjc" command.&lt;/div&gt;&lt;div&gt;So that I needed to call "xjc" from "java" command as follows.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;"java -Xmx1024m -jar jaxb-xjc.jar collada_schema_1_5.xsd -extension simpleMode.xsd"&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This worked enough and I could get java classes for the schema.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1247170054733819860-9173058065922395144?l=shinoblogbyshiva.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinoblogbyshiva.blogspot.com/feeds/9173058065922395144/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1247170054733819860&amp;postID=9173058065922395144&amp;isPopup=true' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1247170054733819860/posts/default/9173058065922395144'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1247170054733819860/posts/default/9173058065922395144'/><link rel='alternate' type='text/html' href='http://shinoblogbyshiva.blogspot.com/2009/01/compiling-collada-15-schema-by-jaxb.html' title='Compiling Collada 1.5 schema by JAXB'/><author><name>Shinobu IZUMI</name><uri>http://www.blogger.com/profile/12353190872067808100</uri><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-1247170054733819860.post-1670639687685127612</id><published>2008-06-25T02:34:00.003+09:00</published><updated>2008-06-25T02:51:55.875+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='NyARToolkit Eclipse Plugin 開発'/><category scheme='http://www.blogger.com/atom/ns#' term='Eclipseプラグイン開発Tips'/><title type='text'>64-bit Mac OSXではSWTがサポートされていないんだね、、、</title><content type='html'>&lt;span class="Apple-style-span"  style=" ;font-family:Times;"&gt;&lt;div style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 3px; padding-right: 3px; padding-bottom: 3px; padding-left: 3px; width: auto; font: normal normal normal 100%/normal Georgia, serif; text-align: left; "&gt;以前公開したプラグインがMacで動かせないとの報告をいただいていたのですが、&lt;/div&gt;&lt;div style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 3px; padding-right: 3px; padding-bottom: 3px; padding-left: 3px; width: auto; font: normal normal normal 100%/normal Georgia, serif; text-align: left; "&gt;今日Mac Bookを入手したのでいろいろ調べてみたところ&lt;/div&gt;&lt;div style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 3px; padding-right: 3px; padding-bottom: 3px; padding-left: 3px; width: auto; font: normal normal normal 100%/normal Georgia, serif; text-align: left; "&gt;どうやら原因はSWTがサポートされていないということらしい。&lt;/div&gt;&lt;div style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 3px; padding-right: 3px; padding-bottom: 3px; padding-left: 3px; width: auto; font: normal normal normal 100%/normal Georgia, serif; text-align: left; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 3px; padding-right: 3px; padding-bottom: 3px; padding-left: 3px; width: auto; font: normal normal normal 100%/normal Georgia, serif; text-align: left; "&gt;&lt;a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=216051"&gt;https://bugs.eclipse.org/bugs/show_bug.cgi?id=216051&lt;/a&gt;&lt;/div&gt;&lt;div style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 3px; padding-right: 3px; padding-bottom: 3px; padding-left: 3px; width: auto; font: normal normal normal 100%/normal Georgia, serif; text-align: left; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 3px; padding-right: 3px; padding-bottom: 3px; padding-left: 3px; width: auto; font: normal normal normal 100%/normal Georgia, serif; text-align: left; "&gt;困ったなぁ。&lt;/div&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1247170054733819860-1670639687685127612?l=shinoblogbyshiva.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinoblogbyshiva.blogspot.com/feeds/1670639687685127612/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1247170054733819860&amp;postID=1670639687685127612&amp;isPopup=true' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1247170054733819860/posts/default/1670639687685127612'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1247170054733819860/posts/default/1670639687685127612'/><link rel='alternate' type='text/html' href='http://shinoblogbyshiva.blogspot.com/2008/06/64-bit-mac-osxswt.html' title='64-bit Mac OSXではSWTがサポートされていないんだね、、、'/><author><name>Shinobu IZUMI</name><uri>http://www.blogger.com/profile/12353190872067808100</uri><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-1247170054733819860.post-4325963074401770938</id><published>2008-06-03T14:47:00.003+09:00</published><updated>2008-06-03T14:55:56.937+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='NyARToolkit Eclipse Plugin 開発'/><title type='text'>NyARToolkit Eclipse Plugin 更新</title><content type='html'>リフレクションでネイティブライブラリのロードを実現するように更新しました。&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;あと、&lt;a href="http://nyatla.jp/nyartoolkit/wiki/index.php?NyARToolkit%20Eclipse%20Plugin"&gt;NyARToolkit Eclipse Plugin 解説&lt;/a&gt;をA虎@さんのNyARToolkit wikiに執筆中です。&lt;/div&gt;&lt;div&gt;今までマニュアル皆無でごめんなさい。&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Sourceforgeからダウンロードしてくださった方々。&lt;/div&gt;&lt;div&gt;私の説明不足だったのですが、上がっているのはソースコードでプラグインとしてインストールできる形のものではありません。&lt;/div&gt;&lt;div&gt;インストールはEclipseの更新マネージャを使って&lt;/div&gt;&lt;div&gt;&lt;blockquote&gt;http://www.ylab.ai.kyutech.ac.jp/~shiva/nativecapable/update&lt;/blockquote&gt;&lt;/div&gt;&lt;div&gt;からお願いします。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;P.S.&lt;/div&gt;&lt;div&gt;Macで試された方から新規プロジェクト生成ウィザードがの開始できないという報告をいただいています。近日中にMacを手に入れてやってみる予定です。しばしお待ちくださいm(_ _)m&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1247170054733819860-4325963074401770938?l=shinoblogbyshiva.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinoblogbyshiva.blogspot.com/feeds/4325963074401770938/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1247170054733819860&amp;postID=4325963074401770938&amp;isPopup=true' title='2 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1247170054733819860/posts/default/4325963074401770938'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1247170054733819860/posts/default/4325963074401770938'/><link rel='alternate' type='text/html' href='http://shinoblogbyshiva.blogspot.com/2008/06/nyartoolkit-eclipse-plugin.html' title='NyARToolkit Eclipse Plugin 更新'/><author><name>Shinobu IZUMI</name><uri>http://www.blogger.com/profile/12353190872067808100</uri><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>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1247170054733819860.post-5572199629957480492</id><published>2008-05-27T19:49:00.004+09:00</published><updated>2008-05-27T19:59:48.807+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java関連Tips'/><title type='text'>Appletからネイティブライブラリをロードする(リフレクション編)</title><content type='html'>以前、NyARToolkitをApplet化するときに、かなり複雑なことをしてネイティブライブラリをロードしていました。&lt;div&gt;が、リフレクション使えばもっと簡単に出来そうなことに今更ながら気が付きました。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;                &lt;blockquote&gt;URL url = NativeLoadTest.class.getResource("jogl_awt.dll");&lt;br /&gt; File file = new File(url.toURI());&lt;br /&gt;&lt;br /&gt; ClassLoader cl = Thread.currentThread().getContextClassLoader();&lt;br /&gt;&lt;br /&gt; Field f = ClassLoader.class.getDeclaredField("usr_paths");&lt;br /&gt; f.setAccessible(true);&lt;br /&gt; String[] paths = (String[]) f.get(cl);&lt;br /&gt;&lt;br /&gt; String[] paths2 = new String[paths.length + 1];&lt;br /&gt; System.arraycopy(paths, 0, paths2, 0, paths.length);&lt;br /&gt; paths2[paths2.length - 1] = file.getParentFile().getAbsolutePath();&lt;br /&gt;&lt;br /&gt; f.set(cl, paths2);&lt;br /&gt; f.setAccessible(false);&lt;br /&gt;&lt;br /&gt; System.loadLibrary("jogl_awt");&lt;/blockquote&gt;&lt;/span&gt;まだAppletでは試していませんが、これならかなり簡単。&lt;/span&gt;&lt;div&gt;&lt;span&gt;&lt;/span&gt;もちろんセキュリティーは無視するとして。&lt;br /&gt;&lt;div&gt;ClassLoaderの実装依存(フィールド名が変わったらダメ)なのが問題点ですが、今更変わるものでもないでしょう。&lt;/div&gt;&lt;div&gt;ということで、近々NativeCapableフレームワーク更新します。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;SunがApplet Launcherというものを公開しているのを最近知りました。&lt;/div&gt;&lt;div&gt;&lt;a href="https://applet-launcher.dev.java.net/"&gt;applet-launcher&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Java Web StartのApplet適用っていう感じです。&lt;/div&gt;&lt;div&gt;Sunが署名しているため、安心して使うことが出来ます。&lt;/div&gt;&lt;div&gt;メジャーなネイティブライブラリ(JOGLやJava３Dなど)を使う場合はこれを使うのがよさそうです。&lt;/div&gt;&lt;div&gt;(ライブラリ側で対応しておかないといけないのが難点ですが)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;時間があれば使ってみて感想を書きたいと思います。&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1247170054733819860-5572199629957480492?l=shinoblogbyshiva.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinoblogbyshiva.blogspot.com/feeds/5572199629957480492/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1247170054733819860&amp;postID=5572199629957480492&amp;isPopup=true' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1247170054733819860/posts/default/5572199629957480492'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1247170054733819860/posts/default/5572199629957480492'/><link rel='alternate' type='text/html' href='http://shinoblogbyshiva.blogspot.com/2008/05/applet.html' title='Appletからネイティブライブラリをロードする(リフレクション編)'/><author><name>Shinobu IZUMI</name><uri>http://www.blogger.com/profile/12353190872067808100</uri><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-1247170054733819860.post-8358650468777558839</id><published>2008-05-21T18:49:00.002+09:00</published><updated>2008-05-21T18:54:08.571+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='メモ'/><title type='text'>Sourceforge.jpのSVNをEclipseから使う</title><content type='html'>ちょっと面倒くさいので、参考リンクをメモ。&lt;div&gt;どっちもSourceforgeJPにきちんと書いてあるんだけどね。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: 13px; "&gt;&lt;a href="http://sourceforge.jp/projects/sourceforge/document/how_to_use_subversion/ja/15/how_to_use_subversion.html" style="text-decoration: none; color: rgb(0, 51, 153); "&gt;SourceForge.jp: Subversion の使い方&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: 13px;"&gt;&lt;a href="http://sourceforge.jp/projects/f-11/document/eclipse_setting/ja/4/eclipse_setting.html" style="text-decoration: none; color: rgb(0, 51, 153); "&gt;EclipseとSubclipseでSF.jpにsshでアクセスする&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1247170054733819860-8358650468777558839?l=shinoblogbyshiva.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinoblogbyshiva.blogspot.com/feeds/8358650468777558839/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1247170054733819860&amp;postID=8358650468777558839&amp;isPopup=true' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1247170054733819860/posts/default/8358650468777558839'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1247170054733819860/posts/default/8358650468777558839'/><link rel='alternate' type='text/html' href='http://shinoblogbyshiva.blogspot.com/2008/05/sourceforgejpsvneclipse.html' title='Sourceforge.jpのSVNをEclipseから使う'/><author><name>Shinobu IZUMI</name><uri>http://www.blogger.com/profile/12353190872067808100</uri><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-1247170054733819860.post-1175701562503700632</id><published>2008-05-20T05:01:00.003+09:00</published><updated>2008-05-20T05:37:35.954+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='NyARToolkit関連、Google Android'/><title type='text'>NyARToolkit on Google Android　更新と公開</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_hDSvncxv82M/SDHdMhVeThI/AAAAAAAAABQ/ioLCeYpXI1E/s1600-h/image.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp3.blogger.com/_hDSvncxv82M/SDHdMhVeThI/AAAAAAAAABQ/ioLCeYpXI1E/s320/image.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5202182251766238738" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;ずいぶん前にNyARToolkitをAndroidの上で動かしてみたわけですが、&lt;/div&gt;NyARToolkitの作者 A虎@ さんのご好意によりSourceforge.jpにてサブプロジェクトとして公開することになりました！&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="  white-space: pre; font-family:'Lucida Grande';font-size:12px;"&gt;&lt;a href="http://sourceforge.jp/projects/nyartoolkit"&gt;http://sourceforge.jp/projects/nyartoolkit&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="  white-space: pre;font-family:'Lucida Grande';font-size:12px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="  white-space: pre;font-family:'Lucida Grande';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Eclipseのプロジェクトをエクスポートしたものなので、動かすにはAndroidSDKおよびプラグインが必要です。&lt;/span&gt;&lt;/span&gt;&lt;div&gt;&lt;a href="http://code.google.com/android/"&gt;Androidホームページ&lt;/a&gt;&lt;/div&gt;&lt;div&gt;(みゅおさんがAndroidのドキュメントを&lt;a href="http://www.muo.jp/android/"&gt;日本語化&lt;/a&gt;しておられます。ありがたい！)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;当時にくらべて本家NyARToolkitが格段にブラッシュアップされているため速度も大幅に改善。&lt;/div&gt;&lt;div&gt;１．２秒に一回ぐらい認識できます、、、前は１０秒だったからね。。。&lt;/div&gt;&lt;div&gt;(開発環境がとても貧弱なため、Androidエミュレータの制限によるものでは無い可能性もあります)&lt;/div&gt;&lt;div&gt;ついでに少しUIも付けてみました。実機欲しいなぁ～。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;エミュレータでは現在のところカメラデバイスは実装されていないので&lt;/div&gt;&lt;div&gt;JMFでキャプチャした画像をソケット通信で送ってます。&lt;/div&gt;&lt;div&gt;送信用のプログラムサンプルも同封してありますが、&lt;/div&gt;&lt;div&gt;関連ライブラリが必要で面倒なのでApplet及びJWSにしたものを公開します。&lt;/div&gt;&lt;div&gt;現在のところWindows版のみです。&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="  white-space: pre; font-family:'Lucida Grande';font-size:12px;"&gt;&lt;a href="http://www.ylab.ai.kyutech.ac.jp/~shiva/webcambroadcaster/index.htm"&gt;http://www.ylab.ai.kyutech.ac.jp/~shiva/webcambroadcaster/index.htm&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="  white-space: pre;font-family:'Lucida Grande';font-size:12px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="  white-space: pre;font-family:'Lucida Grande';font-size:12px;"&gt;P.S.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="  white-space: pre;font-family:'Lucida Grande';font-size:12px;"&gt;Flash版も開発され空前のAR移植ブームですなぁ。しみじみ。&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="  white-space: pre;font-family:'Lucida Grande';font-size:12px;"&gt;開発環境およびNativeCapableフレームワークもほぼ完成し今週中には公開できそうです。&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="  white-space: pre;font-family:'Lucida Grande';font-size:12px;"&gt;いろんなARアプリがブラウザの上で遊べる時代になると楽しいな！！&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1247170054733819860-1175701562503700632?l=shinoblogbyshiva.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinoblogbyshiva.blogspot.com/feeds/1175701562503700632/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1247170054733819860&amp;postID=1175701562503700632&amp;isPopup=true' title='6 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1247170054733819860/posts/default/1175701562503700632'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1247170054733819860/posts/default/1175701562503700632'/><link rel='alternate' type='text/html' href='http://shinoblogbyshiva.blogspot.com/2008/05/nyartoolkit-on-google-android.html' title='NyARToolkit on Google Android　更新と公開'/><author><name>Shinobu IZUMI</name><uri>http://www.blogger.com/profile/12353190872067808100</uri><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/_hDSvncxv82M/SDHdMhVeThI/AAAAAAAAABQ/ioLCeYpXI1E/s72-c/image.png' height='72' width='72'/><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1247170054733819860.post-6786082935052459569</id><published>2008-05-08T05:32:00.002+09:00</published><updated>2008-05-08T05:45:51.462+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Eclipseプラグイン開発Tips'/><title type='text'>テキストフィールド等で入力補完を使う</title><content type='html'>テキストエディタに対してコード補完を設定する方法は幾つか紹介されているのだが、&lt;br /&gt;テキストフィールドやリストなどで入力補完を行う方法は見つけ難かったのでメモ。&lt;br /&gt;&lt;span class="Apple-style-span"   style="  white-space: pre-wrap;font-family:'Lucida Grande';font-size:11px;"&gt;&lt;br /&gt;  Text text = ....&lt;br /&gt;  IControlContentAdapter contentAdapter = new TextContentAdapter();&lt;br /&gt;    IContentProposalProvider provider = new IContentProposalProvider() {&lt;br /&gt;      public IContentProposal[] getProposals(String contents, int position) {&lt;br /&gt;        IContentProposal[] icps = ....&lt;br /&gt;      }&lt;br /&gt;    }&lt;br /&gt;    ContentAssistCommandAdapter ca = new ContentAssistCommandAdapter(&lt;br /&gt;    text, contentAdapter, provider, null, new char[] {}, true);&lt;br /&gt;&lt;/span &gt;&lt;br /&gt;解ってしまえば非常に簡単。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1247170054733819860-6786082935052459569?l=shinoblogbyshiva.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinoblogbyshiva.blogspot.com/feeds/6786082935052459569/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1247170054733819860&amp;postID=6786082935052459569&amp;isPopup=true' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1247170054733819860/posts/default/6786082935052459569'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1247170054733819860/posts/default/6786082935052459569'/><link rel='alternate' type='text/html' href='http://shinoblogbyshiva.blogspot.com/2008/05/blog-post.html' title='テキストフィールド等で入力補完を使う'/><author><name>Shinobu IZUMI</name><uri>http://www.blogger.com/profile/12353190872067808100</uri><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-1247170054733819860.post-5145090285887239472</id><published>2008-05-08T04:09:00.008+09:00</published><updated>2008-05-08T04:45:07.798+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='NyARToolkit Eclipse Plugin 開発'/><title type='text'>NyARToolkit Eclipse Plugin 更新 ～ エクスポート機能</title><content type='html'>ずいぶん間が空きましたが、少し機能追加や変更を行いました。&lt;br /&gt;NyARToolkitに限らず、NativeなApplet(及びデスクトップアプリ)を開発する環境に方向が変わってきつつあります。&lt;br /&gt;名前をNativeCapableプラグインに変更しました。&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ylab.ai.kyutech.ac.jp/~shiva/plugins/NativeCapablePlugin.zip"&gt;Native Capable Eclipse Plugin&lt;/a&gt;&lt;br /&gt;ダウンロードしてpluginsフォルダに配置してください。&lt;br /&gt;&lt;br /&gt;Eclipseプロジェクトを圧縮したものは以下からダウンロードできます。&lt;br /&gt;&lt;a href="http://www.ylab.ai.kyutech.ac.jp/~shiva/plugins/NativeCapablePlugin_EclipseProject.zip"&gt;Eclipse Project&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;小さな変更点：&lt;br /&gt;Windows以外のプラットフォームでも利用できるようにネイティブライブラリの配備を変更&lt;br /&gt;(手元に他の環境がないため、Windows以外のライブラリは同封されていません)&lt;br /&gt;&lt;br /&gt;大きな機能追加：&lt;br /&gt;NativeCapableModuleを実装したクラスからAppletとアプリケーションを自動生成するExportウィザードを追加しました。&lt;br /&gt;&lt;br /&gt;作業中のプロジェクトで&lt;br /&gt;PackageExplorer-&gt;右クリックメニュー-&gt;Export(エクスポート)&lt;br /&gt;を選びます。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_hDSvncxv82M/SCICOpcjE4I/AAAAAAAAABA/j_bbXw_0U6o/s1600-h/image1.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://bp1.blogger.com/_hDSvncxv82M/SCICOpcjE4I/AAAAAAAAABA/j_bbXw_0U6o/s320/image1.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5197719370605990786" /&gt;&lt;/a&gt;&lt;img src="http://bp3.blogger.com/_hDSvncxv82M/SCIChJcjE5I/AAAAAAAAABI/pk95dzCxwrY/s320/image2.png" /&gt;&lt;br /&gt;&lt;br /&gt;Module: 対象となるNativeCapableModule実装クラスを指定&lt;br /&gt;Create: 生成物を指定&lt;br /&gt;Targets: 対象クラスの設定&lt;br /&gt;Strategy: 対象クラスのロード方法を指定&lt;br /&gt;-Delegate Targets: 対象クラス&lt;b&gt;以外&lt;/b&gt;をNativeCapableローダでロード&lt;br /&gt;-Load Targets:対象クラスをNativeCapableローダでロード&lt;br /&gt;&lt;br /&gt;次回目標:&lt;br /&gt;Antファイルの自動生成、自動実行でApplet及びJWSとしてデプロイ可能な状態にするExport機能の実装！！&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1247170054733819860-5145090285887239472?l=shinoblogbyshiva.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinoblogbyshiva.blogspot.com/feeds/5145090285887239472/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1247170054733819860&amp;postID=5145090285887239472&amp;isPopup=true' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1247170054733819860/posts/default/5145090285887239472'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1247170054733819860/posts/default/5145090285887239472'/><link rel='alternate' type='text/html' href='http://shinoblogbyshiva.blogspot.com/2008/05/nyartoolkit-eclipse-plugin.html' title='NyARToolkit Eclipse Plugin 更新 ～ エクスポート機能'/><author><name>Shinobu IZUMI</name><uri>http://www.blogger.com/profile/12353190872067808100</uri><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://bp1.blogger.com/_hDSvncxv82M/SCICOpcjE4I/AAAAAAAAABA/j_bbXw_0U6o/s72-c/image1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1247170054733819860.post-7689630485245867821</id><published>2008-04-27T05:44:00.007+09:00</published><updated>2008-05-08T16:25:54.169+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java関連Tips'/><title type='text'>Native library loading framework for Applet (Native Capable)</title><content type='html'>&lt;div&gt;NyARToolkitのデモAppletを作る際、JMFやJOGLなど実行時にネイティブライブラリを必要とするAPI利用のためにクラスローダ等を実装したのですが、全体をフレームワーク化したので公開します。&lt;/div&gt;&lt;div&gt;ライセンスはLGPLとしています。&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;(2008/5/8 追記) テンポラリファイルが削除されないバグを修正しました。&lt;/div&gt;&lt;div&gt;File.deleteOnExit関数がWindows上では正しく機能しない既知のバグ&lt;/div&gt;&lt;div&gt;&lt;a href="http://developer.java.sun.com/developer/bugParade/bugs/4171239.html"&gt;バグ番号4171239&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://developer.java.sun.com/developer/bugParade/bugs/4950148.html"&gt;バグ番号4950148&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;によるものです。&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.ylab.ai.kyutech.ac.jp/~shiva/nativecapable/nativecapable.zip"&gt;バイナリ＆ソース＆サンプル&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.ylab.ai.kyutech.ac.jp/~shiva/nativecapable/nativecapable_eclipse_project.zip"&gt;Eclipseプロジェクト&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Applet、Java Web Startまたはスタンドアロンアプリケーションにおいて、ネイティブライブラリを可能な限り同じコードで利用できることを目的として作成したフレームワークです。(JWSにはネイティブを扱う機構が存在します)&lt;/div&gt;&lt;div&gt;動作には、nativecapable.jarのほかにjavassist.jar、ant.jarが必要です。&lt;/div&gt;&lt;div&gt;(バイナリ＆ソース＆サンプルに同封)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;何かに使って見た際にでも感想などいただけると幸せです＾＾&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;以下に使用方法を説明します。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;1. NativeCapableModuleの実装&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;ネイティブライブラリを利用したいモジュールはNativeCapableModuleインタフェースを実装します。NativeCapableModuleインタフェースでは４つのメソッドが定義されています。&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;       //モジュールの初期化処理を記述します&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre; "&gt; &lt;/span&gt;      public boolean initModule();&lt;br /&gt;&lt;/div&gt;&lt;div&gt;       //モジュールの停止及び破棄処理を記述します&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;      public boolean destroyModule();&lt;/div&gt;&lt;div&gt;       //GUIアプリケーションの場合、&lt;/div&gt;&lt;div&gt;       //最上位に配置されるコンポーネントを返す処理を記述します&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre; "&gt; &lt;/span&gt;      public Component getRootComponent();&lt;/div&gt;&lt;div&gt;       //モジュールの開始処理を記述します&lt;/div&gt;&lt;div&gt;&lt;div&gt;      &lt;span class="Apple-tab-span" style="white-space: pre; "&gt; &lt;/span&gt;public boolean startModule();&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;NativeCapableModuleの実装クラスはApplet及びスタンドアロンアプリケーションとして利用することができます。&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;2.Appletとして実装する&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Appletとして実装する場合はNativeCapableAppletクラスを継承して利用します。&lt;/div&gt;&lt;div&gt;NativeCapableAppletクラスはJAppletクラスを継承し、NativeCapableインタフェースを実装しています。&lt;/div&gt;&lt;div&gt;Java3DTestAppletをもとに説明します。(バイナリ＆ソース＆サンプルに含まれる)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;public class Java3DTestApplet extends NativeCapableApplet {&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;    public void init() {&lt;/div&gt;&lt;div&gt;               //Moduleの生成を行うインスタンスを生成します&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;             NativeCapableModuleBuilder builder = new NativeCapableModuleBuilder(&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;    &lt;/span&gt;           this, "java3d.Java3DTestModule");&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;               //ネイティブライブラリを利用するクラスのロードについて設定します -  ①&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;             Collection&lt;string&gt; col = new HashSet&lt;string&gt;();&lt;/string&gt;&lt;/string&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;             col.add("javax.media.j3d");&lt;/div&gt;&lt;div&gt;             &lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;builder.setTargetPackages(col);&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;             &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;builder.setDelegateTargets(false);&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;               //Moduleインスタンスを生成します&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;             &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;NativeCapableModule module = builder.newModule();&lt;/div&gt;&lt;div&gt;               //モジュールの初期化&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;             &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;module.initModule();&lt;/div&gt;&lt;div&gt;               //モジュールからAppletに追加するコンポネントを取得して追加します&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;             &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;add(module.getRootComponent());&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;               //必要に応じてstartやdestroyを呼び出します。&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre; "&gt; &lt;/span&gt;              //module.startModule();&lt;br /&gt;&lt;/div&gt;&lt;span class="Apple-tab-span" style="white-space: pre; "&gt; &lt;/span&gt;              //module.destroyModule();&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;}&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;① クラスのロードについて&lt;/div&gt;&lt;div&gt;NativeCapableModuleBuilder#setDelegateTarget(boolean)メソッドによりターゲット指定されたパッケージに属するクラスをNativeCapableClassLoaderでロードするか、指定されたもの意外をロードするかを設定することができます。&lt;br /&gt;&lt;/div&gt;&lt;div&gt;NyARToolkitのデモであるJavaSimpleLiteAppletでは次のように使用しています。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;               Collection&lt;string&gt; col = new HashSet&lt;string&gt;();&lt;/string&gt;&lt;/string&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;             boolean dTargets = true;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;              if (!dTargets) {&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;               col.add("javax.media.");&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;               col.add("com.sun.opengl.");&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;               col.add("jp.nyatla.");&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;               &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;col.add("com.sun.media.");&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;               &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;col.add("jp.ac.kyutech.ai.ylab.shiva");&lt;/div&gt;&lt;div&gt;            &lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;} else {&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;               col.add("java.");&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;               &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;col.add("javax.swing.");&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;               &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;col.add("sun.reflect.");&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;            &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;}&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;            builder.setTargetPackages(col);&lt;/div&gt;&lt;div&gt;            &lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;builder.setDelegateTargets(dTargets);&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;3.スタンドアロンアプリケーションとして実装する&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Appletの場合とほぼ同じですが、NativeCapableApplicationを利用します。&lt;/div&gt;&lt;div&gt;&lt;div&gt;public class Java3DTestApplication {&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;    public static void main(String[] args) throws Exception {&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;           NativeCapableApplication nca = new NativeCapableApplication();&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;           NativeCapableModuleBuilder builder = new NativeCapableModuleBuilder(&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;    &lt;/span&gt;         nca, "java3d.Java3DTestModule");&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;           &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;Collection&lt;string&gt; col = new HashSet&lt;string&gt;();&lt;/string&gt;&lt;/string&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;           &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;col.add("javax.media.j3d");&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;           builder.setTargetPackages(col);&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;           &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;builder.setDelegateTargets(false);&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;           final NativeCapableModule module = builder.newModule();&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;           &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;module.initModule();&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;           nca.add(module.getRootComponent());&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;           nca.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;           &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;nca.addWindowListener(new WindowAdapter() {&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;          &lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;    public void windowClosing(WindowEvent e) {&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;                 &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;module.destroyModule();&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;              }&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;           &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;});&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;           nca.setBounds(100, 100, 640, 480);&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;           nca.setVisible(true);&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;           module.startModule();&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;}&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;4.ネイティブライブラリを配備&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;以下に説明する設定ファイルで指定したディレクトリに必要なネイティブライブラリを配備します。&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;ネイティブライブラリ設定ファイル(os.xml)&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;OSごとに利用するライブラリの設定をos.xmlに記述します。os.xmlはNativeCapableModuleのクラスファイルが存在するディレクトリルートに配備します。&lt;/div&gt;&lt;div&gt;配備例&lt;/div&gt;&lt;div&gt;&lt;img src="http://bp1.blogger.com/_hDSvncxv82M/SBee4LpQ_XI/AAAAAAAAAA4/_F2i-i-ZtRY/s320/tree.PNG" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;記述例&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&amp;lt;?xml version="1.0" encoding="UTF-8" ?&gt;&lt;/div&gt;&lt;div&gt;&amp;lt;libraries&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;&amp;lt;library arch="x86" name="Windows" path="native/x86/windows" /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;&amp;lt;library arch="x86" name="Linux" path="native/x86/linux" /&gt;&lt;/div&gt;&lt;div&gt;&amp;lt;/libraries&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;archプロパティにはアーキテクチャをnameプロパティはOSの名前を指定します。&lt;/div&gt;&lt;div&gt;それぞれつぎのJavaプログラムで取得される文字列と前方一致を行います。&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;  System.getProperty("os.name");&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;  System.getProperty("os.arch");&lt;/div&gt;&lt;div&gt;pathプロパティにはネイティブライブラリの位置をos.xmlファイルからの相対パスで指定します。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;5.&lt;span class="Apple-style-span" style="font-weight: normal; "&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;AppletやJavaWebStart(JWS)として公開する場合の&lt;/span&gt;&lt;span class="Apple-style-span" style="font-weight: bold; "&gt;注意点&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;ネイティブライブラリを実行時に展開するためにサンドボックス外へのアクセスが必要となります。&lt;/div&gt;&lt;div&gt;そのため、AppletやJWSにする場合はJARファイルに署名を行う必要があります。&lt;/div&gt;&lt;div&gt;署名つきJARファイルの作成やJWSでのパーミッション設定などはここでは省略します。&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1247170054733819860-7689630485245867821?l=shinoblogbyshiva.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinoblogbyshiva.blogspot.com/feeds/7689630485245867821/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1247170054733819860&amp;postID=7689630485245867821&amp;isPopup=true' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1247170054733819860/posts/default/7689630485245867821'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1247170054733819860/posts/default/7689630485245867821'/><link rel='alternate' type='text/html' href='http://shinoblogbyshiva.blogspot.com/2008/04/native-library-loading-framework-for.html' title='Native library loading framework for Applet (Native Capable)'/><author><name>Shinobu IZUMI</name><uri>http://www.blogger.com/profile/12353190872067808100</uri><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://bp1.blogger.com/_hDSvncxv82M/SBee4LpQ_XI/AAAAAAAAAA4/_F2i-i-ZtRY/s72-c/tree.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1247170054733819860.post-3145754163288109911</id><published>2008-04-23T02:39:00.007+09:00</published><updated>2008-04-23T03:03:35.213+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='NyARToolkit関連、Google Android'/><title type='text'>NyARToolkit on Google Android!!</title><content type='html'>NyARToolkit を Google Android エミュレータ上で動作させました！！&lt;br /&gt;ものすっごい、お馬鹿なミスで５日ぐらい悩まされましたが。。。&lt;br /&gt;&lt;br /&gt;移植自体は非常にスムーズに、行きました。&lt;br /&gt;OpenGL ESがdoubleが扱えなかったので、一部floatで取得する関数などを追加しましたが、NyARToolkit自体はほとんどいじらずに動きました。&lt;br /&gt;これは一重にA虎＠さんがシンプルにJavaで記述してくださった結果です。いやー、ありがたい！&lt;br /&gt;とりあえず以下に画像をば。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_hDSvncxv82M/SA4jBLpQ_VI/AAAAAAAAAAo/p20_4o3pdaI/s1600-h/NyarOnAndroid.JPG"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://bp0.blogger.com/_hDSvncxv82M/SA4jBLpQ_VI/AAAAAAAAAAo/p20_4o3pdaI/s320/NyarOnAndroid.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5192125923617471826" /&gt;&lt;/a&gt;&lt;img src="http://bp1.blogger.com/_hDSvncxv82M/SA4jTbpQ_WI/AAAAAAAAAAw/-_2TYIFhMz8/s320/P1020502.JPG" /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;現状ではエミュレータが動画キャプチャに対応していないため&lt;br /&gt;キャプチャ部分は、JMFを使って書いたJavaサーバアプリにAndroidからソケット接続し画像を取得しています。&lt;br /&gt;&lt;a href="http://www.tomgibara.com/android/camera-source"&gt;Live Camera Previews in Android&lt;/a&gt;&lt;br /&gt;こちらを参考にさせていただきました。&lt;br /&gt;&lt;br /&gt;ただし、エミュレータでは１つのアプリケーションが使えるメモリが最大16M程度であるらしく、&lt;br /&gt;320*240*3の配列をコピーするのに４秒近く、マーカの認識に７秒かかってしまいます。&lt;br /&gt;結果、一枚の画像がかかれるまでに１０数秒です。とても使い物になりません。&lt;br /&gt;(時々なぜか速くなって７秒台がでますが、、、)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;何はともあれ、携帯電話でARが少しは近づいたかな、と。&lt;/div&gt;さて、Applet, JWSまわりのフレームワーク化をまとめよう！&lt;div&gt;&lt;br /&gt;&lt;div&gt;P.S.&lt;/div&gt;&lt;div&gt;A虎@さんがNyARToolkitの高速化を行っておられますので、新しいバージョンと統合次第、&lt;/div&gt;&lt;div&gt;ソースも公開します。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1247170054733819860-3145754163288109911?l=shinoblogbyshiva.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinoblogbyshiva.blogspot.com/feeds/3145754163288109911/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1247170054733819860&amp;postID=3145754163288109911&amp;isPopup=true' title='5 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1247170054733819860/posts/default/3145754163288109911'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1247170054733819860/posts/default/3145754163288109911'/><link rel='alternate' type='text/html' href='http://shinoblogbyshiva.blogspot.com/2008/04/nyartoolkit-on-google-android.html' title='NyARToolkit on Google Android!!'/><author><name>Shinobu IZUMI</name><uri>http://www.blogger.com/profile/12353190872067808100</uri><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://bp0.blogger.com/_hDSvncxv82M/SA4jBLpQ_VI/AAAAAAAAAAo/p20_4o3pdaI/s72-c/NyarOnAndroid.JPG' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1247170054733819860.post-8849114718448056913</id><published>2008-04-20T16:23:00.000+09:00</published><updated>2008-04-20T18:58:51.904+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='雑記'/><title type='text'>限定じゃんけんα！</title><content type='html'>先日弟とEカード（「&lt;a href="http://ja.wikipedia.org/wiki/%E8%B3%AD%E5%8D%9A%E9%BB%99%E7%A4%BA%E9%8C%B2%E3%82%AB%E3%82%A4%E3%82%B8#.E3.83.86.E3.83.AC.E3.83.93.E3.82.A2.E3.83.8B.E3.83.A1"&gt;賭博黙示録カイジ&lt;/a&gt;」というアニメでカイジと利根川が対決したゲーム)で遊んだ時に面白いゲームを思いついたので公開してみます。&lt;br /&gt;(既に世の中にあるかもしれませんが、、、)&lt;br /&gt;&lt;br /&gt;基本はジャンケン(グー、チョキ、パーのあれ)です。&lt;br /&gt;そこに次のようなルールをつけます。&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;ol&gt;&lt;li&gt;プレイヤーは１対１で対戦&lt;/li&gt;&lt;li&gt;６ゲーム(あいこも一回とカウントしジャンケン６回)を１セットとし、４セット(計２４ゲーム)行う&lt;/li&gt;&lt;li&gt;グーで勝つと＋５ポイント&lt;/li&gt;&lt;li&gt;チョキ、パーで勝つと＋２ポイント&lt;/li&gt;&lt;li&gt;あいこの場合、負けているプレイヤーが＋１ポイント(同点の場合はポイントなし)&lt;/li&gt;&lt;li&gt;６ゲーム目であいこの場合は勝敗がつくまで延長(両者のポイントが並んだ時点でセット終了)&lt;/li&gt;&lt;li&gt;どちらかのプレイヤーが手を出さなかった場合手を出さなかったプレイヤーは無条件にチョキで負けたとし、勝ったプレイヤーが５ポイント獲得&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;(補足ルール - 当事者間で変更しても大丈夫です)&lt;br /&gt;&lt;ul&gt;&lt;li&gt;ジャンケンは基本的にお互いが手を決めてから行うものとする&lt;/li&gt;&lt;li&gt;掛け声は「最初はグー、ジャンケンポン」が好ましい&lt;/li&gt;&lt;li&gt;どちらが掛け声を発してもいいですが、手が決まっていない場合は即座に「待って」と声をかける事で静止できるものとする&lt;/li&gt;&lt;li&gt;「待って」は「最初はグー」を言い終わるまでに言わなければならない&lt;/li&gt;&lt;li&gt;掛け声が始まってから「最初はグー」以前に「待って」が言われなかった場合ゲームは開始されたものとみなし、必ず双方ともに手を出さなければならない&lt;br /&gt;(片方が手を出さなかった場合は上記ルールを適用)&lt;/li&gt;&lt;li&gt;紳士的にプレーすること&lt;/li&gt;&lt;/ul&gt;&lt;/span&gt;&lt;br /&gt;これだけでは解りにくいと思うので次に例を示します。&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;１セット目&lt;/i&gt;&lt;/b&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;th&gt;ゲーム数&lt;/th&gt;&lt;th&gt;プレイヤＡ&lt;/th&gt;&lt;th&gt;プレイヤB&lt;/th&gt;&lt;th&gt;勝敗&lt;/th&gt;&lt;th&gt;A獲得ポイント&lt;/th&gt;&lt;th&gt;B獲得ポイント&lt;/th&gt;&lt;th&gt;解説&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;１&lt;/td&gt;&lt;td&gt;パー&lt;/td&gt;&lt;td&gt;パー&lt;/td&gt;&lt;td&gt;あいこ&lt;/td&gt;&lt;td&gt;０&lt;/td&gt;&lt;td&gt;０&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;２&lt;/td&gt;&lt;td&gt;パー&lt;/td&gt;&lt;td&gt;パー&lt;/td&gt;&lt;td&gt;あいこ&lt;/td&gt;&lt;td&gt;０&lt;/td&gt;&lt;td&gt;０&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;３&lt;/td&gt;&lt;td&gt;パー&lt;/td&gt;&lt;td&gt;チョキ&lt;/td&gt;&lt;td&gt;Ｂ勝ち&lt;/td&gt;&lt;td&gt;０&lt;/td&gt;&lt;td&gt;２&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;４&lt;/td&gt;&lt;td&gt;グー&lt;/td&gt;&lt;td&gt;グー&lt;/td&gt;&lt;td&gt;あいこ&lt;/td&gt;&lt;td&gt;１&lt;/td&gt;&lt;td&gt;２&lt;/td&gt;&lt;td&gt;負けているＡに＋１&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;５&lt;/td&gt;&lt;td&gt;パー&lt;/td&gt;&lt;td&gt;グー&lt;/td&gt;&lt;td&gt;Ａ勝ち&lt;/td&gt;&lt;td&gt;３&lt;/td&gt;&lt;td&gt;２&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;６&lt;/td&gt;&lt;td&gt;パー&lt;/td&gt;&lt;td&gt;グー&lt;/td&gt;&lt;td&gt;Ａ勝ち&lt;/td&gt;&lt;td&gt;５&lt;/td&gt;&lt;td&gt;２&lt;/td&gt;&lt;td&gt;セット終了&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;１セット目結果：Ａ－５ポイント、Ｂ－２ポイント&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;２セット目&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;th&gt;ゲーム数&lt;/th&gt;&lt;th&gt;プレイヤＡ&lt;/th&gt;&lt;th&gt;プレイヤB&lt;/th&gt;&lt;th&gt;勝敗&lt;/th&gt;&lt;th&gt;A獲得ポイント&lt;/th&gt;&lt;th&gt;B獲得ポイント&lt;/th&gt;&lt;th&gt;解説&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;１&lt;/td&gt;&lt;td&gt;パー&lt;/td&gt;&lt;td&gt;パー&lt;/td&gt;&lt;td&gt;あいこ&lt;/td&gt;&lt;td&gt;０&lt;/td&gt;&lt;td&gt;０&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;２&lt;/td&gt;&lt;td&gt;グー&lt;/td&gt;&lt;td&gt;チョキ&lt;/td&gt;&lt;td&gt;Ａ勝ち&lt;/td&gt;&lt;td&gt;５&lt;/td&gt;&lt;td&gt;０&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;３&lt;/td&gt;&lt;td&gt;パー&lt;/td&gt;&lt;td&gt;チョキ&lt;/td&gt;&lt;td&gt;Ｂ勝ち&lt;/td&gt;&lt;td&gt;５&lt;/td&gt;&lt;td&gt;２&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;４&lt;/td&gt;&lt;td&gt;グー&lt;/td&gt;&lt;td&gt;グー&lt;/td&gt;&lt;td&gt;あいこ&lt;/td&gt;&lt;td&gt;５&lt;/td&gt;&lt;td&gt;３&lt;/td&gt;&lt;td&gt;負けているＢに＋１&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;５&lt;/td&gt;&lt;td&gt;パー&lt;/td&gt;&lt;td&gt;グー&lt;/td&gt;&lt;td&gt;Ａ勝ち&lt;/td&gt;&lt;td&gt;７&lt;/td&gt;&lt;td&gt;３&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;６&lt;/td&gt;&lt;td&gt;パー&lt;/td&gt;&lt;td&gt;パー&lt;/td&gt;&lt;td&gt;あいこ&lt;/td&gt;&lt;td&gt;７&lt;/td&gt;&lt;td&gt;４&lt;/td&gt;&lt;td&gt;あいこなので延長&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;７(延長１)&lt;/td&gt;&lt;td&gt;パー&lt;/td&gt;&lt;td&gt;パー&lt;/td&gt;&lt;td&gt;あいこ&lt;/td&gt;&lt;td&gt;７&lt;/td&gt;&lt;td&gt;５&lt;/td&gt;&lt;td&gt;あいこなので延長&lt;/td&gt;&lt;tr&gt;&lt;td&gt;８(延長２)&lt;/td&gt;&lt;td&gt;チョキ&lt;/td&gt;&lt;td&gt;グー&lt;/td&gt;&lt;td&gt;Ｂ勝ち&lt;/td&gt;&lt;td&gt;７&lt;/td&gt;&lt;td&gt;１０&lt;/td&gt;&lt;td&gt;セット終了&lt;/td&gt;&lt;/tr&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;２セット目結果：Ａ－７ポイント、Ｂ－１０ポイント&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;３セット目&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;th&gt;ゲーム数&lt;/th&gt;&lt;th&gt;プレイヤＡ&lt;/th&gt;&lt;th&gt;プレイヤB&lt;/th&gt;&lt;th&gt;勝敗&lt;/th&gt;&lt;th&gt;A獲得ポイント&lt;/th&gt;&lt;th&gt;B獲得ポイント&lt;/th&gt;&lt;th&gt;解説&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;１&lt;/td&gt;&lt;td&gt;パー&lt;/td&gt;&lt;td&gt;パー&lt;/td&gt;&lt;td&gt;あいこ&lt;/td&gt;&lt;td&gt;０&lt;/td&gt;&lt;td&gt;０&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;２&lt;/td&gt;&lt;td&gt;パー&lt;/td&gt;&lt;td&gt;パー&lt;/td&gt;&lt;td&gt;あいこ&lt;/td&gt;&lt;td&gt;０&lt;/td&gt;&lt;td&gt;０&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;３&lt;/td&gt;&lt;td&gt;パー&lt;/td&gt;&lt;td&gt;パー&lt;/td&gt;&lt;td&gt;あいこ&lt;/td&gt;&lt;td&gt;０&lt;/td&gt;&lt;td&gt;０&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;４&lt;/td&gt;&lt;td&gt;パー&lt;/td&gt;&lt;td&gt;グー&lt;/td&gt;&lt;td&gt;Ａ勝ち&lt;/td&gt;&lt;td&gt;２&lt;/td&gt;&lt;td&gt;０&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;５&lt;/td&gt;&lt;td&gt;パー&lt;/td&gt;&lt;td&gt;パー&lt;/td&gt;&lt;td&gt;あいこ&lt;/td&gt;&lt;td&gt;２&lt;/td&gt;&lt;td&gt;１&lt;/td&gt;&lt;td&gt;負けているＢに＋１&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;６&lt;/td&gt;&lt;td&gt;パー&lt;/td&gt;&lt;td&gt;パー&lt;/td&gt;&lt;td&gt;あいこ&lt;/td&gt;&lt;td&gt;２&lt;/td&gt;&lt;td&gt;２&lt;/td&gt;&lt;td&gt;同点でセット終了&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;３セット目結果：Ａ－２ポイント、Ｂ－２ポイント&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;４セット目&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;th&gt;ゲーム数&lt;/th&gt;&lt;th&gt;プレイヤＡ&lt;/th&gt;&lt;th&gt;プレイヤB&lt;/th&gt;&lt;th&gt;勝敗&lt;/th&gt;&lt;th&gt;A獲得ポイント&lt;/th&gt;&lt;th&gt;B獲得ポイント&lt;/th&gt;&lt;th&gt;解説&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;１&lt;/td&gt;&lt;td&gt;パー&lt;/td&gt;&lt;td&gt;パー&lt;/td&gt;&lt;td&gt;あいこ&lt;/td&gt;&lt;td&gt;０&lt;/td&gt;&lt;td&gt;０&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;２&lt;/td&gt;&lt;td&gt;パー&lt;/td&gt;&lt;td&gt;パー&lt;/td&gt;&lt;td&gt;あいこ&lt;/td&gt;&lt;td&gt;０&lt;/td&gt;&lt;td&gt;０&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;３&lt;/td&gt;&lt;td&gt;パー&lt;/td&gt;&lt;td&gt;チョキ&lt;/td&gt;&lt;td&gt;Ｂ勝ち&lt;/td&gt;&lt;td&gt;０&lt;/td&gt;&lt;td&gt;２&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;４&lt;/td&gt;&lt;td&gt;グー&lt;/td&gt;&lt;td&gt;パー&lt;/td&gt;&lt;td&gt;Ｂ勝ち&lt;/td&gt;&lt;td&gt;０&lt;/td&gt;&lt;td&gt;４&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;５&lt;/td&gt;&lt;td&gt;グー&lt;/td&gt;&lt;td&gt;グー&lt;/td&gt;&lt;td&gt;あいこ&lt;/td&gt;&lt;td&gt;１&lt;/td&gt;&lt;td&gt;４&lt;/td&gt;&lt;td&gt;負けているＡに＋１&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;６&lt;/td&gt;&lt;td&gt;パー&lt;/td&gt;&lt;td&gt;グー&lt;/td&gt;&lt;td&gt;Ａ勝ち&lt;/td&gt;&lt;td&gt;３&lt;/td&gt;&lt;td&gt;４&lt;/td&gt;&lt;td&gt;セット終了&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;４セット目結果：Ａ－３ポイント、Ｂ－５ポイント&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;最終結果：Ａ－１７ポイント、Ｂ－１９ポイントでＢの勝ち&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;実際やってみると心理の読みあいがかなりエキサイティングです。&lt;br /&gt;また、１回戦ではパーが常套手段となるなど考えどころも多くあると思います。&lt;br /&gt;&lt;span style="font-size:50%;"&gt;(心理)&lt;br /&gt;チョキで負けた場合いきなり５ポイント差がつくから１回戦のチョキはかなり勇気がいる、、、&lt;br /&gt;チョキはほぼ無いと考えれば、パーかグー、、、&lt;br /&gt;パーなら最悪あいこスタート、、、ざわざわ、、、&lt;/span&gt;&lt;br /&gt;ってな具合に。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;もし遊んでみた方おられましたら、感想や攻略法なんか書き込んでもらえたら嬉しいです！！&lt;br /&gt;では、エンジョイ限定ジャンケンα！！&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;(Eカード概要)&lt;br /&gt;２人で行うゲームです。&lt;br /&gt;皇帝、奴隷、市民という三つのカードをそれぞれ次のように配り&lt;br /&gt;皇帝側プレイヤーには皇帝×１、市民×４&lt;br /&gt;奴隷側プレイヤーは奴隷×１、市民×４&lt;br /&gt;３ゲーム１セットで皇帝奴隷を入れ替えて合計４セット行うことで勝敗を決めるゲームです。&lt;br /&gt;皇帝は市民に勝ち、市民は奴隷に勝ちます。ただし、皇帝は奴隷に負けます。&lt;br /&gt;１ゲーム５回戦で、それぞれ一枚ずつ手持ちのカードから選んで対戦を行います。&lt;br /&gt;皇帝側プレイヤーが勝つと１ポイント、奴隷側プレイヤーが勝つと５ポイント獲得です。&lt;br /&gt;相手がどのタイミングで、皇帝を通してくるか、また奴隷で皇帝をうちに来るかを探り合う心理ゲームです。&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;/li&gt;&lt;ol&gt;&lt;/ol&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1247170054733819860-8849114718448056913?l=shinoblogbyshiva.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinoblogbyshiva.blogspot.com/feeds/8849114718448056913/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1247170054733819860&amp;postID=8849114718448056913&amp;isPopup=true' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1247170054733819860/posts/default/8849114718448056913'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1247170054733819860/posts/default/8849114718448056913'/><link rel='alternate' type='text/html' href='http://shinoblogbyshiva.blogspot.com/2008/04/blog-post.html' title='限定じゃんけんα！'/><author><name>Shinobu IZUMI</name><uri>http://www.blogger.com/profile/12353190872067808100</uri><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-1247170054733819860.post-2827249365075436192</id><published>2008-04-17T06:34:00.000+09:00</published><updated>2008-04-19T22:26:16.416+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='NyARToolkit関連'/><title type='text'>メタセコローダなＡＲなのJWSとApplet</title><content type='html'>A虎＠さん作NyARMqoViewerをJWS及びAppletにしました。&lt;br /&gt;(ご本人からの依頼ありです。なくてもやったかもしれませんが、、、笑)&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;Webサーバーにあるメタセコイアデータを表示するARプログラムです。 インターネットとARToolkitの連携をコンセプトにした試作品です。&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;とのことです。相変わらず面白いこと考えるな～と、関心しきり。&lt;br /&gt;オリジナルはこちら&lt;br /&gt;&lt;a href="http://nyatla.jp/nyartoolkit/wiki/index.php?Sample%2FNyARMqoViewer"&gt;NyARMqoViewer&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;JWS版&lt;br /&gt;&lt;a href="http://www.ylab.ai.kyutech.ac.jp/~shiva/jws/nyartoolkit/mqoloader.jnlp"&gt;http://www.ylab.ai.kyutech.ac.jp/~shiva/jws/nyartoolkit/mqoloader.jnlp&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Applet版&lt;br /&gt;&lt;a href="http://www.ylab.ai.kyutech.ac.jp/~shiva/applet/nyartoolkit/mqoloader.htm"&gt;http://www.ylab.ai.kyutech.ac.jp/~shiva/applet/nyartoolkit/mqoloader.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;マーカーPDFファイル&lt;br /&gt;&lt;a href="http://www.ylab.ai.kyutech.ac.jp/~shiva/jws/nyartoolkit/sample/pattHiro.pdf"&gt;http://www.ylab.ai.kyutech.ac.jp/~shiva/jws/nyartoolkit/sample/pattHiro.pdf&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;サンプルURL&lt;br /&gt;&lt;s&gt;http://www.ylab.ai.kyutech.ac.jp/~shiva/jws/nyartoolkit/sample/sample.xml&lt;/s&gt;&lt;br /&gt;起動後の画面に上記URLを入れてConnectをクリックすると、サンプルを試してみることが出来ます。&lt;br /&gt;3Dデータは三次元ＣＧ＠七葉さんからnh0072.zipをお借りしました。&lt;br /&gt;&lt;br /&gt;（追記）&lt;br /&gt;3Dモデルの位置がずれていたようです。&lt;br /&gt;A虎@さんが正しく設定されたものを公開してくださいましたので、こちらをお使いください。&lt;br /&gt;http://nyatla.jp/nyartoolkit/app/NyARMqoViewerAPP/sample/sample.xml&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;個人発行の証明書なので警告が出ますが、めげずに実行してやってくださいm(_ _)m&lt;br /&gt;&lt;br /&gt;ちなみに、設定ＸＭＬファイルは次のような形式で記述します。&lt;br /&gt;(A虎＠さんのWikiからダウンロードできるソースコード中に詳しい定義が書かれています)&lt;br /&gt;オリジナルのものは、絶対パス(http://やfile:///ではじまる)指定でしたが、&lt;br /&gt;改造して(設定XMLファイルからの)相対パス指定を可能にしてあります。&lt;br /&gt;(絶対パスも使えます。　jar:とかも使えるはず、、、です)&lt;br /&gt;また、mqoファイルをZIPファイルから読み込めるようにも拡張してあります。&lt;br /&gt;2つ以上mqoが入っている場合は先に見つかったほうが選ばれます)&lt;br /&gt;直接mqoファイルを指定することも出来ます。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_hDSvncxv82M/SAZ7yYamwcI/AAAAAAAAAAc/yLwTDxbk_fk/s1600-h/nyardemo.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;" src="http://bp3.blogger.com/_hDSvncxv82M/SAZ7yYamwcI/AAAAAAAAAAc/yLwTDxbk_fk/s320/nyardemo.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5189971726068793794" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;pre&gt;&amp;lt;?xml version="1.0"?&gt;&lt;br /&gt;&amp;lt;root&gt;&lt;br /&gt; &amp;lt;version&gt;NyARMqoViewer/0.1&amp;lt;/version&gt;&lt;br /&gt; &amp;lt;config&gt;&lt;br /&gt;  &amp;lt;ar_code&gt;&lt;br /&gt;   &amp;lt;url&gt;patt.hiro&amp;lt;/url&gt;&lt;br /&gt;   &amp;lt;size&gt;80.0&amp;lt;/size&gt;&lt;br /&gt;  &amp;lt;/ar_code&gt;&lt;br /&gt;  &amp;lt;ar_param&gt;&lt;br /&gt;   &amp;lt;url&gt;camera_para.dat&amp;lt;/url&gt;&lt;br /&gt;   &amp;lt;screen&gt;&lt;br /&gt;    &amp;lt;x&gt;640&amp;lt;/x&gt;&lt;br /&gt;    &amp;lt;y&gt;480&amp;lt;/y&gt;&lt;br /&gt;   &amp;lt;/screen&gt;&lt;br /&gt;  &amp;lt;/ar_param&gt;&lt;br /&gt;  &amp;lt;frame_rate&gt;15.0&amp;lt;/frame_rate&gt;&lt;br /&gt; &amp;lt;/config&gt;&lt;br /&gt; &amp;lt;content&gt;&lt;br /&gt;  &amp;lt;scale&gt;0.2&amp;lt;/scale&gt;&lt;br /&gt;  &amp;lt;comment&gt;TEST&lt;/comment&gt;&lt;br /&gt;  &amp;lt;mqo_file&gt;nh0072.zip&lt;/mqo_file&gt;&lt;br /&gt; &amp;lt;/content&gt;&lt;br /&gt;&amp;lt;/root&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;動作報告とかいただけたら嬉しいです＾＾&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1247170054733819860-2827249365075436192?l=shinoblogbyshiva.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinoblogbyshiva.blogspot.com/feeds/2827249365075436192/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1247170054733819860&amp;postID=2827249365075436192&amp;isPopup=true' title='7 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1247170054733819860/posts/default/2827249365075436192'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1247170054733819860/posts/default/2827249365075436192'/><link rel='alternate' type='text/html' href='http://shinoblogbyshiva.blogspot.com/2008/04/jwsapplet.html' title='メタセコローダなＡＲなのJWSとApplet'/><author><name>Shinobu IZUMI</name><uri>http://www.blogger.com/profile/12353190872067808100</uri><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/_hDSvncxv82M/SAZ7yYamwcI/AAAAAAAAAAc/yLwTDxbk_fk/s72-c/nyardemo.jpg' height='72' width='72'/><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1247170054733819860.post-8701373805381933016</id><published>2008-04-08T02:22:00.002+09:00</published><updated>2008-05-03T17:19:43.203+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='NyARToolkit Eclipse Plugin 開発'/><title type='text'>NyARToolkit Eclipse Plugin 開発スタート</title><content type='html'>NyARToolkit Eclipse Pluginなるものを作りはじめてみました。&lt;br /&gt;「手軽にNyARToolkitでの開発、公開ができる環境づくり」がコンセプトです。&lt;br /&gt;需要あるのか解りませんが、概ね自己満足で(笑)&lt;br /&gt;&lt;br /&gt;とりあえず、プロジェクトを作るとライブラリを自動的に設定して、ソース、出力フォルダを生成するところまでを実装してみました。&lt;br /&gt;&lt;a href="http://www.ylab.ai.kyutech.ac.jp/~shiva/plugins/NyARToolkitPlugin_0.0.2.zip"&gt;NyARToolkit Eclipse Plugin&lt;/a&gt;&lt;br /&gt;ダウンロードしてpluginsフォルダに配置してください。&lt;br /&gt;Windows XP,  Eclipse3.3, JRE 1.6.0_05 でのみ動作を確認しています。&lt;br /&gt;&lt;br /&gt;Eclipseを日本語化しないで使っているので日本語版での動作方法は想像で書きます。&lt;br /&gt;英語版：&lt;br /&gt;１．Package Explorer で右クリック&lt;br /&gt;２．New-&gt;Project...&lt;br /&gt;日本語版：&lt;br /&gt;１．パッケージ・エクスプローラ で右クリック&lt;br /&gt;２．新規-&gt;プロジェクト...&lt;br /&gt;&lt;br /&gt;後は共通です。&lt;br /&gt;３．NyARToolkit Project Wizard -&gt; NyARToolkit Project Wizard　を選択後 Next(次へ)&lt;br /&gt;４．Project Nameを適当に入力して Finish(完了)&lt;br /&gt;&lt;br /&gt;これで、NyARToolkitでの開発に必要なライブラリが設定されたJava プロジェクトが生成されます。&lt;br /&gt;現時点では、ライブラリとしてJMF, JOGL及びJavassistが入っています(ネイティブも含む)&lt;br /&gt;&lt;br /&gt;WebStartやAppletとしてエクスポート的な機能をつけようと思っているのですが、中々難しい。。。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1247170054733819860-8701373805381933016?l=shinoblogbyshiva.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinoblogbyshiva.blogspot.com/feeds/8701373805381933016/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1247170054733819860&amp;postID=8701373805381933016&amp;isPopup=true' title='2 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1247170054733819860/posts/default/8701373805381933016'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1247170054733819860/posts/default/8701373805381933016'/><link rel='alternate' type='text/html' href='http://shinoblogbyshiva.blogspot.com/2008/04/nyartoolkit-eclipse-plugin.html' title='NyARToolkit Eclipse Plugin 開発スタート'/><author><name>Shinobu IZUMI</name><uri>http://www.blogger.com/profile/12353190872067808100</uri><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>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1247170054733819860.post-8362730528633844811</id><published>2008-04-08T02:01:00.000+09:00</published><updated>2008-04-08T02:22:27.570+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Eclipseプラグイン開発Tips'/><title type='text'>Javaプロジェクトを作る</title><content type='html'>プログラム中でJavaプロジェクトを生成する方法。&lt;br /&gt;ライブラリをコピーしたりする部分も含まれているが、、、きにしな～い。&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span"   style="  white-space: pre-wrap;font-family:'Lucida Grande';font-size:11px;"&gt;private void doFinish(final String projectName, String srcFolderName,&lt;br /&gt;   String binFolderName, String libFolderName,&lt;br /&gt;   final IProgressMonitor monitor) throws CoreException {&lt;br /&gt;&lt;br /&gt; // プロジェクトを作成&lt;br /&gt; IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();&lt;br /&gt; IProject project = root.getProject(projectName);&lt;br /&gt; project.create(monitor);&lt;br /&gt; project.open(monitor);&lt;br /&gt;&lt;br /&gt; // Java Nature をプロジェクトに追加&lt;br /&gt; IProjectDescription description = project.getDescription();&lt;br /&gt; String[] natures = description.getNatureIds();&lt;br /&gt; String[] newNatures = new String[natures.length + 1];&lt;br /&gt; System.arraycopy(natures, 0, newNatures, 0, natures.length);&lt;br /&gt; newNatures[natures.length] = JavaCore.NATURE_ID;&lt;br /&gt; description.setNatureIds(newNatures);&lt;br /&gt; project.setDescription(description, monitor);&lt;br /&gt; // Java プロジェクトを作成&lt;br /&gt; final IJavaProject javaProject = JavaCore.create(project);&lt;br /&gt;&lt;br /&gt; Set&lt;iclasspathentry&gt; entries = new HashSet&lt;iclasspathentry&gt;();&lt;br /&gt; // Adding source path&lt;br /&gt; IPath sourcePath = javaProject.getPath().append(srcFolderName);&lt;br /&gt; //ソースフォルダを作成&lt;br /&gt; IFolder sourceDir = project.getFolder(new Path(srcFolderName));&lt;br /&gt; if (!sourceDir.exists()) {&lt;br /&gt;  sourceDir.create(false, true, null);&lt;br /&gt; }&lt;br /&gt; // 出力先フォルダを作成&lt;br /&gt; IPath outputPath = javaProject.getPath().append(binFolderName);&lt;br /&gt; IFolder outputDir = project.getFolder(new Path(binFolderName));&lt;br /&gt; if (!outputDir.exists()) {&lt;br /&gt;  outputDir.create(false, true, null);&lt;br /&gt; }&lt;br /&gt; // ソースフォルダ、出力フォルダを設定&lt;br /&gt; IClasspathEntry srcEntry = JavaCore.newSourceEntry(sourcePath,&lt;br /&gt;   new IPath[] {}, outputPath);&lt;br /&gt; entries.add(srcEntry);&lt;br /&gt;&lt;br /&gt; // ライブラリ を追加&lt;br /&gt; final IPath libPath = javaProject.getPath().append(libFolderName);&lt;br /&gt; final IFolder libDir = project.getFolder(new Path(libFolderName));&lt;br /&gt; if (!libDir.exists()) {&lt;br /&gt;  libDir.create(false, true, null);&lt;br /&gt; }&lt;br /&gt; final IPath conNativePath = javaProject.getPath().append(&lt;br /&gt;   libFolderName + "/native");&lt;br /&gt; IFolder conNativeDir = project.getFolder(new Path(libFolderName&lt;br /&gt;   + "/native"));&lt;br /&gt; if (!conNativeDir.exists()) {&lt;br /&gt;  conNativeDir.create(false, true, null);&lt;br /&gt; }&lt;br /&gt; // ライブラリをコピー&lt;br /&gt; String[] jars = new String[] { "gluegen-rt.jar", "jmf.jar", "jogl.jar",&lt;br /&gt;   "javassist.jar", "NyARToolKit.jar" };&lt;br /&gt; for (String string : jars) {&lt;br /&gt;  InputStream is = getClass().getResourceAsStream(&lt;br /&gt;    "/resources/lib/" + string);&lt;br /&gt;  IFile f = libDir.getFile(string);&lt;br /&gt;  f.create(is, true, null);&lt;br /&gt; }&lt;br /&gt; String[] libs = new String[] { "gluegen-rt.dll", "jmacm.dll",&lt;br /&gt;   "jmam.dll", "jmcvid.dll", "jmdaud.dll", "jmdaudc.dll",&lt;br /&gt;   "jmddraw.dll", "jmfjawt.dll", "jmg723.dll", "jmgdi.dll",&lt;br /&gt;   "jmgsm.dll", "jmh261.dll", "jmh263enc.dll", "jmjpeg.dll",&lt;br /&gt;   "jmmci.dll", "jmmpa.dll", "jmmpegv.dll", "jmutil.dll",&lt;br /&gt;   "jmvcm.dll", "jmvfw.dll", "jmvh263.dll", "jogl_awt.dll",&lt;br /&gt;   "jogl_cg.dll", "jogl.dll", "jsound.dll" };&lt;br /&gt; for (String string : libs) {&lt;br /&gt;  InputStream is = getClass().getResourceAsStream(&lt;br /&gt;    "/resources/native/" + string);&lt;br /&gt;  IFile f = conNativeDir.getFile(string);&lt;br /&gt;  f.create(is, true, null);&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; IClasspathContainer libContainer = new IClasspathContainer() {&lt;br /&gt;  public IClasspathEntry[] getClasspathEntries() {&lt;br /&gt;   System.out.println("get!");&lt;br /&gt;   List&lt;iclasspathentry&gt; ices = new ArrayList&lt;iclasspathentry&gt;();&lt;br /&gt;   try {&lt;br /&gt;    IResource[] rs = libDir.members();&lt;br /&gt;    for (IResource r : rs) {&lt;br /&gt;     if (r instanceof IFile) {&lt;br /&gt;      IFile f = (IFile) r;&lt;br /&gt;      System.out.println("\t" + f);&lt;br /&gt;      IClasspathEntry entry = JavaCore.newLibraryEntry(f&lt;br /&gt;        .getFullPath(), null, null, false);&lt;br /&gt;      ices.add(entry);&lt;br /&gt;     }&lt;br /&gt;    }&lt;br /&gt;   } catch (CoreException e) {&lt;br /&gt;    e.printStackTrace();&lt;br /&gt;   }&lt;br /&gt;   return ices.toArray(new IClasspathEntry[ices.size()]);&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  public String getDescription() {&lt;br /&gt;   return "Application library container";&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  public int getKind() {&lt;br /&gt;   return IClasspathContainer.K_APPLICATION;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  public IPath getPath() {&lt;br /&gt;   return libPath;&lt;br /&gt;  }&lt;br /&gt; };&lt;br /&gt;&lt;br /&gt; JavaCore.setClasspathContainer(libPath,&lt;br /&gt;   new IJavaProject[] { javaProject }, // value for 'myProject'&lt;br /&gt;   new IClasspathContainer[] { libContainer }, null);&lt;br /&gt; // no source, no source, not exported&lt;br /&gt;&lt;br /&gt; IClasspathEntry libEntry = JavaCore.newContainerEntry(libPath, null,&lt;br /&gt;   new IClasspathAttribute[] { JavaCore.newClasspathAttribute(&lt;br /&gt;     JavaRuntime.CLASSPATH_ATTR_LIBRARY_PATH_ENTRY,&lt;br /&gt;     conNativePath.toString().substring(1)) }, false);&lt;br /&gt; entries.add(libEntry);&lt;br /&gt;&lt;br /&gt; // デフォルトJREを追加&lt;br /&gt; entries.add(JavaRuntime.getDefaultJREContainerEntry());&lt;br /&gt; javaProject.setRawClasspath(entries.toArray(new IClasspathEntry[entries&lt;br /&gt;   .size()]), monitor);&lt;br /&gt;&lt;br /&gt; monitor.worked(1);&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1247170054733819860-8362730528633844811?l=shinoblogbyshiva.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinoblogbyshiva.blogspot.com/feeds/8362730528633844811/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1247170054733819860&amp;postID=8362730528633844811&amp;isPopup=true' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1247170054733819860/posts/default/8362730528633844811'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1247170054733819860/posts/default/8362730528633844811'/><link rel='alternate' type='text/html' href='http://shinoblogbyshiva.blogspot.com/2008/04/java.html' title='Javaプロジェクトを作る'/><author><name>Shinobu IZUMI</name><uri>http://www.blogger.com/profile/12353190872067808100</uri><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-1247170054733819860.post-523798445703161283</id><published>2008-04-03T01:55:00.000+09:00</published><updated>2008-04-17T07:29:10.318+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='NyARToolkit関連'/><title type='text'>NyARToolkitをJWSとAppletにする！</title><content type='html'>MixiのJavaコミュで"A虎＠"さんが公開されたARToolkitのJava実装NyARToolkitを&lt;br /&gt;JavaWebStart化、及びJava Applet化してみました。&lt;br /&gt;&lt;br /&gt;NyARToolkitのページ&lt;br /&gt;&lt;a href="http://nyatla.jp/nyartoolkit/wiki/index.php"&gt;http://nyatla.jp/nyartoolkit/wiki/index.php&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;JWSサンプル&lt;br /&gt;&lt;a href="http://www.ylab.ai.kyutech.ac.jp/~shiva/jws/nyartoolkit/simplelite.jnlp" target="_blank"&gt;http://www.ylab.ai.kyutech.ac.jp/~shiva/jws/nyartoolkit/simplelite.jnlp&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Java Applet サンプル&lt;br /&gt;&lt;a href="http://www.ylab.ai.kyutech.ac.jp/~shiva/applet/nyartoolkit/index.htm" target="_blank"&gt;http://www.ylab.ai.kyutech.ac.jp/~shiva/applet/nyartoolkit/index.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;マーカー用PDF(NyARToolkitに同封されているものです)&lt;br /&gt;&lt;a href="http://www.ylab.ai.kyutech.ac.jp/~shiva/jws/nyartoolkit/pattHiro.pdf" target="_blank"&gt;http://www.ylab.ai.kyutech.ac.jp/~shiva/jws/nyartoolkit/pattHiro.pdf&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;ビデオキャプチャデバイスを接続した状態で起動してください。&lt;br /&gt;デバイス探索に２，３分かかる場合があります。&lt;br /&gt;証明書が個人で発行したものであるため、警告が出ますが無視してください。&lt;br /&gt;&lt;br /&gt;JMFインストール済みでない環境での動作が確認されていないので、&lt;br /&gt;動いた！！という方、報告いただけると嬉しいです＾＾&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1247170054733819860-523798445703161283?l=shinoblogbyshiva.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinoblogbyshiva.blogspot.com/feeds/523798445703161283/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1247170054733819860&amp;postID=523798445703161283&amp;isPopup=true' title='4 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1247170054733819860/posts/default/523798445703161283'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1247170054733819860/posts/default/523798445703161283'/><link rel='alternate' type='text/html' href='http://shinoblogbyshiva.blogspot.com/2008/04/nyartoolkitjwsapplet.html' title='NyARToolkitをJWSとAppletにする！'/><author><name>Shinobu IZUMI</name><uri>http://www.blogger.com/profile/12353190872067808100</uri><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-1247170054733819860.post-4703324834759955280</id><published>2008-03-30T21:49:00.001+09:00</published><updated>2008-04-03T01:37:37.231+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java関連Tips'/><title type='text'>JMF を Java Web Startから扱う</title><content type='html'>&lt;p&gt;Java Media Framework(JMF)を使ってJava Web Startからクライアントのカメラデバイスを通じて動画のキャプチャなどを行うとした場合、セキュリティとデバイスの問題がある。&lt;/p&gt;&lt;p&gt;１つの方法としてクライアント側でJMFを事前にインストールしてセキュリティの設定をJMFRegistryを用いて行う方法があるが、いつの時代もインストールは面倒なものだし、JWS使う利点が無くなってしまう。&lt;br /&gt;ということで、色々調べた結果、次のような方法が見つかった。&lt;/p&gt;&lt;br /&gt;&lt;p&gt;後に書く方法でデバイスを見つけるとjmf.propertiesに書き込みに行くが、JWSでの実行時にはセキュリティマネージャが次のような例外を出す。&lt;br /&gt;&lt;br /&gt;&lt;i&gt;"Exception on commit = java.lang.SecurityException: commit: Permission denied"&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;jarファイルを署名し、JNLPファイルで&amp;lt;all-permissions/&gt;を設定しても無関係に発生する。&lt;br /&gt;仕方がないので原因を探りにソースコードを覗くと、JMFにはJMFSecurityManagerというやつがいて、Registry#commitなどの際に書き込み権限のチェックなどをやっているらしい。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;結果として、JMFSecurityManagerを無効化することは無理のようだが、&lt;br /&gt;&lt;br /&gt;&lt;i&gt;System.setSecurityManger(null);&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;とすることでJWSではJMFSecurityMangerを生成させずにおくことが出来た。&lt;br /&gt;一度でも、JMFSecurityManagerが生成されてしまったら無効化する方法はないようだ。&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;続いて、デバイスの探索だが、これはJMFRegistryのソースコードから該当部分を拝借した以下のコードで実現できる。&lt;/p&gt;&lt;p&gt;&lt;br /&gt;// Check if VFWAuto or SunVideoAuto is available&lt;br /&gt;Class&lt;?&gt; directAudio = null;&lt;br /&gt;Class&lt;?&gt; autoAudio = null;&lt;br /&gt;Class&lt;?&gt; autoVideo = null;&lt;br /&gt;Class&lt;?&gt; autoVideoPlus = null;&lt;br /&gt;&lt;br /&gt;try {&lt;br /&gt;directAudio = Class.forName("DirectSoundAuto");&lt;br /&gt;} catch (Exception e) {&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;try {&lt;br /&gt;autoAudio = Class.forName("JavaSoundAuto");&lt;br /&gt;} catch (Exception e) {&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;try {&lt;br /&gt;autoVideo = Class.forName("VFWAuto");&lt;br /&gt;} catch (Exception e) {&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;if (autoVideo == null) {&lt;br /&gt;try {&lt;br /&gt;autoVideo = Class.forName("SunVideoAuto");&lt;br /&gt;} catch (Exception ee) {&lt;br /&gt;}&lt;br /&gt;try {&lt;br /&gt;autoVideoPlus = Class.forName("SunVideoPlusAuto");&lt;br /&gt;} catch (Exception ee) {&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;if (autoVideo == null) {&lt;br /&gt;try {&lt;br /&gt;autoVideo = Class.forName("V4LAuto");&lt;br /&gt;} catch (Exception eee) {&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;if (directAudio == null &amp;amp;&amp;amp; autoAudio == null &amp;amp;&amp;amp; autoVideo == null&lt;br /&gt;&amp;amp;&amp;amp; autoVideoPlus == null)&lt;br /&gt;return;&lt;br /&gt;&lt;br /&gt;try {&lt;br /&gt;if (directAudio != null) {&lt;br /&gt;directAudio.newInstance();&lt;br /&gt;}&lt;br /&gt;if (autoAudio != null) {&lt;br /&gt;autoAudio.newInstance();&lt;br /&gt;}&lt;br /&gt;if (autoVideo != null) {&lt;br /&gt;autoVideo.newInstance();&lt;br /&gt;}&lt;br /&gt;if (autoVideoPlus != null) {&lt;br /&gt;autoVideoPlus.newInstance();&lt;br /&gt;}&lt;br /&gt;} catch (InstantiationException e) {&lt;br /&gt;e.printStackTrace();&lt;br /&gt;} catch (IllegalAccessException e) {&lt;br /&gt;e.printStackTrace();&lt;br /&gt;}&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1247170054733819860-4703324834759955280?l=shinoblogbyshiva.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinoblogbyshiva.blogspot.com/feeds/4703324834759955280/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1247170054733819860&amp;postID=4703324834759955280&amp;isPopup=true' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1247170054733819860/posts/default/4703324834759955280'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1247170054733819860/posts/default/4703324834759955280'/><link rel='alternate' type='text/html' href='http://shinoblogbyshiva.blogspot.com/2008/03/jmf-java-web-start.html' title='JMF を Java Web Startから扱う'/><author><name>Shinobu IZUMI</name><uri>http://www.blogger.com/profile/12353190872067808100</uri><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-1247170054733819860.post-6664762162788933101</id><published>2008-03-20T18:06:00.001+09:00</published><updated>2008-03-20T18:56:58.690+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows関連のTips'/><title type='text'>SSHサーバをFTP経由でつかう</title><content type='html'>&lt;div align="left"&gt;Windowsの「ネットワークプレースの追加」を使うと&lt;/div&gt;ネットワーク上のファイルをローカルのフォルダのように扱うことが出来る。&lt;br /&gt;で、FTPにも対応してるんだけど、残念ながらSSH(SFTP)は使えない。&lt;br /&gt;&lt;br /&gt;サーバ側にFTPが上がってるならSSHでトンネルしてやればいいことだが、&lt;br /&gt;(たぶん)セキュリティ的な問題で大学のサーバではFTPが動いてない(っぽい)　&lt;br /&gt;確認しろよ俺！！ん？&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;span style="font-size:130%;"&gt;&lt;strong&gt;&lt;span style="font-family:lucida grande;font-size:180%;"&gt;&lt;em&gt;圧倒的ひらめき！！&lt;/em&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;(カイジより)&lt;/div&gt;&lt;div align="center"&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align="center"&gt;FTP-SSHブリッジ的なものあったらできるんじゃ、、、？&lt;span style="font-size:50%;"&gt;　ざわざわ&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="left"&gt;調べてみたら、発見。&lt;br /&gt;&lt;a href="http://www.bitvise.com/ftp-bridge"&gt;http://www.bitvise.com/ftp-bridge&lt;/a&gt;&lt;br /&gt;しかも個人使用に関してはフリー。&lt;br /&gt;&lt;br /&gt;ってことで、以下に手順を記録。&lt;br /&gt;&lt;br /&gt;1. DownloadからTunnelier installerを落としてきてインストール&lt;br /&gt;&lt;br /&gt;2. 接続設定&lt;br /&gt;&lt;img id="BLOGGER_PHOTO_ID_5179751316681311522" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://bp3.blogger.com/_hDSvncxv82M/R-IsYQemxSI/AAAAAAAAAAM/elxA9BcYPFo/s320/img1.JPG" border="0" /&gt;&lt;br /&gt;起動画面&lt;br /&gt;&lt;br /&gt;Host, Port, Username, Initial Method等を設定して&lt;br /&gt;左下部のLoginで接続&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;3. ServiceタブからFTP-toSFTP Bridgeを有効化&lt;br /&gt;&lt;a href="http://bp2.blogger.com/_hDSvncxv82M/R-It3AemxTI/AAAAAAAAAAU/KtWBu61b6_Q/s1600-h/img2.JPG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5179752944473916722" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://bp2.blogger.com/_hDSvncxv82M/R-It3AemxTI/AAAAAAAAAAU/KtWBu61b6_Q/s320/img2.JPG" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Enabledにチェック&lt;br /&gt;Listen Portは任意に設定&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;これで完了。&lt;br /&gt;&lt;br /&gt;Loginをクリックした際に出てくるログの最後のほうに次のような一文があれば成功。&lt;br /&gt;&lt;em&gt;Initializing FTP-to-SFTP bridge on 127.0.0.1:10021 succeeded.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;後は localhostに対して通常のFTP接続が可能、と。&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1247170054733819860-6664762162788933101?l=shinoblogbyshiva.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinoblogbyshiva.blogspot.com/feeds/6664762162788933101/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1247170054733819860&amp;postID=6664762162788933101&amp;isPopup=true' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1247170054733819860/posts/default/6664762162788933101'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1247170054733819860/posts/default/6664762162788933101'/><link rel='alternate' type='text/html' href='http://shinoblogbyshiva.blogspot.com/2008/03/sshftp.html' title='SSHサーバをFTP経由でつかう'/><author><name>Shinobu IZUMI</name><uri>http://www.blogger.com/profile/12353190872067808100</uri><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/_hDSvncxv82M/R-IsYQemxSI/AAAAAAAAAAM/elxA9BcYPFo/s72-c/img1.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1247170054733819860.post-7398800652815494307</id><published>2008-03-20T17:46:00.000+09:00</published><updated>2008-03-20T18:51:18.233+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Eclipseプラグイン開発Tips'/><title type='text'>プラグインにDLLを含める方法</title><content type='html'>自作のEclipseプラグインでJNIなどを利用した際にライブラリを配置する場合は&lt;br /&gt;プラグインルートに置けばいいらしい。&lt;br /&gt;&lt;br /&gt;dll中で他のdllを指定している場合はJVMが見つけられなくなるので&lt;br /&gt;正しい順序でSystem.loadLibrary("something.dll")を明示的に行う必要がある。&lt;br /&gt;&lt;br /&gt;&lt;a href="http://dev.eclipse.org/newslists/news.eclipse.platform/msg50613.html"&gt;http://dev.eclipse.org/newslists/news.eclipse.platform/msg50613.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;公式な情報どこかにないかな？&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1247170054733819860-7398800652815494307?l=shinoblogbyshiva.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinoblogbyshiva.blogspot.com/feeds/7398800652815494307/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1247170054733819860&amp;postID=7398800652815494307&amp;isPopup=true' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1247170054733819860/posts/default/7398800652815494307'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1247170054733819860/posts/default/7398800652815494307'/><link rel='alternate' type='text/html' href='http://shinoblogbyshiva.blogspot.com/2008/03/dll.html' title='プラグインにDLLを含める方法'/><author><name>Shinobu IZUMI</name><uri>http://www.blogger.com/profile/12353190872067808100</uri><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>
