<?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-9176013</id><updated>2012-01-09T18:01:04.727+09:00</updated><category term='Tcl 関連'/><category term='ビットウォーク版Tcl/Tk'/><category term='Windows Mobile'/><category term='Fedora'/><category term='コンパイラ'/><category term='仮想化'/><category term='Let&apos;s Wine'/><category term='ReactOS'/><category term='perl'/><category term='Rivet'/><category term='ブックマーク'/><category term='はじめに'/><category term='フォント'/><category term='YouTube'/><category term='その他'/><category term='Windows'/><category term='Wine'/><category term='NAS'/><category term='Java'/><category term='Gnome'/><category term='HAIKU'/><category term='Google Chrome OS'/><category term='COBOL'/><category term='Chrome'/><category term='備忘録'/><category term='X server'/><category term='Linux'/><category term='GTK+'/><category term='TeX'/><category term='Qt'/><category term='統計計算'/><category term='FOX Toolkit'/><category term='Lua'/><category term='Mono'/><category term='Ubuntu'/><category term='TclOO'/><category term='ビットウォーク版Lua'/><category term='リリース情報'/><category term='Android'/><category term='クラウド'/><category term='wxWidgets'/><category term='催し物'/><category term='R'/><category term='MinGW クロスコンパイラ'/><category term='Tcl/Tk 入門'/><title type='text'>bitWalk's</title><subtitle type='html'>すぐりふひとのプログラミングメモ</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://bitwalk.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://bitwalk.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default?start-index=101&amp;max-results=100'/><author><name>bitWalk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>302</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-9176013.post-7407190492613615050</id><published>2012-01-01T20:20:00.007+09:00</published><updated>2012-01-09T18:01:04.753+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='統計計算'/><title type='text'>2012 年 一年の計</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_76ucAFyAIec/Szs2snLfd4I/AAAAAAAAA1s/vOhN8Yt4gS4/s1600-h/java.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 38px; height: 38px;" src="http://3.bp.blogspot.com/_76ucAFyAIec/Szs2snLfd4I/AAAAAAAAA1s/vOhN8Yt4gS4/s200/java.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5420986716529850242" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s1600-h/fedora.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 43px; height: 44px;" src="http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s200/fedora.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5280249589920714050" /&gt;&lt;/a&gt;&lt;big&gt;8&lt;/big&gt; 月にブログを更新してから、気がつけば年が変わってしまっていました。今や週末プログラマである私の進捗は、牛歩のごとくで遅々として進みません。それに、日々の仕事に追い立てられ、ブログの更新に関してはすっかり怠け癖がついてしまいました。&lt;br /&gt;&lt;br /&gt;それでも、自分が納得できる統計計算用アプリケーション実現に向けて少しずつではありますが進展はあるのです。&lt;a href="http://ja.wikipedia.org/wiki/%E3%82%B0%E3%83%A9%E3%83%95%E3%82%A3%E3%82%AB%E3%83%AB%E3%83%A6%E3%83%BC%E3%82%B6%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%95%E3%82%A7%E3%83%BC%E3%82%B9"&gt;GUI&lt;/a&gt; の部分を &lt;a href="http://ja.wikipedia.org/wiki/Tcl/Tk"&gt;Tcl/Tk&lt;/a&gt; で作る、という考えから、&lt;a href="http://ja.wikipedia.org/wiki/Java"&gt;Java&lt;/a&gt; でいこうと考えを変えたのが、2011 年の 5 月の連休のこと。その後、基本となるアプリケーションの&lt;a href="http://ja.wikipedia.org/wiki/%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A0%E3%83%AF%E3%83%BC%E3%82%AF"&gt;フレームワーク&lt;/a&gt;を決めるに際して、Java に関する知識不足を補強するため、情報の整理を始めています。&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://bitwalk.sitemix.jp/java.php"&gt;Java - Workshop Complex at bitWalk&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;使用環境は相変わらず OS に &lt;a href="http://fedoraproject.org/ja/"&gt;Fedora&lt;/a&gt; を使っており、Java のバージョンは現時点で以下の通りになっています。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://bitwalk.sitemix.jp/pic/Java/Java_version.png" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="115" width="218" src="http://bitwalk.sitemix.jp/pic/Java/Java_version.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Java の基本的なプログラミングについてまとめようとすると、情報量が膨大で出口が見えず、いつまで経っても終わりません。それに自分がそのような情報をまとめなくとも、良質な Java のプログラミング情報は巷にたくさんあるので、何を今さら、という気がしないでもありません。そこで、自分が興味のある GUI の情報だけに絞って、&lt;a href="http://ja.wikipedia.org/wiki/Abstract_Window_Toolkit"&gt;AWT&lt;/a&gt; と &lt;a href="http://ja.wikipedia.org/wiki/Swing"&gt;Swing&lt;/a&gt; の情報だけでも、と始めてみました。それでも情報量が多いため、網羅できるのはまだまだ先になりそうです。&lt;br /&gt;&lt;br /&gt;&lt;a href="http://ja.wikipedia.org/wiki/Android"&gt;Android&lt;/a&gt; のプログラミングや &lt;a href="http://ja.wikipedia.org/wiki/JavaFX"&gt;JavaFX&lt;/a&gt; など、Java に関連する話題に対して興味のおもむくままに首を突っ込んでいるので、話題の方向は常に発散気味です。&lt;br /&gt;&lt;br /&gt;今日は元日なので、一年の計を立てようと思います。&lt;br /&gt;&lt;ol&gt;&lt;li&gt;拡張可能な統計計算用アプリケーションの GUI フレームワークを完成させる。&lt;/li&gt;&lt;li&gt;Java による統計・数値計算ライブラリの情報を充実させる。&lt;/li&gt;&lt;/ol&gt;二番目の統計・数値計算については、今まで C や FORTRAN を中心に情報を集めていましたので、今年は Java に特化して情報を集めていこうということです。本ブログでは、相変わらずの不定期にではありますが、こういった情報を中心に発信していきたいと考えています。&lt;br /&gt;&lt;br /&gt;本年もどうぞ宜しくお願いいたします。&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;iframe src="http://rcm-jp.amazon.co.jp/e/cm?lt1=_blank&amp;bc1=FFFFFF&amp;IS1=1&amp;bg1=FFFFFF&amp;fc1=000000&amp;lc1=0000FF&amp;t=bitwalk00-22&amp;o=9&amp;p=8&amp;l=as4&amp;m=amazon&amp;f=ifr&amp;ref=ss_til&amp;asins=489471499X" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9176013-7407190492613615050?l=bitwalk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitwalk.blogspot.com/feeds/7407190492613615050/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9176013&amp;postID=7407190492613615050' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/7407190492613615050'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/7407190492613615050'/><link rel='alternate' type='text/html' href='http://bitwalk.blogspot.com/2012/01/2012.html' title='2012 年 一年の計'/><author><name>bitWalk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_76ucAFyAIec/Szs2snLfd4I/AAAAAAAAA1s/vOhN8Yt4gS4/s72-c/java.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9176013.post-1708675772133253975</id><published>2011-08-22T09:38:00.010+09:00</published><updated>2011-08-22T21:45:30.836+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='統計計算'/><title type='text'>8 月連休の成果</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_76ucAFyAIec/Szs2snLfd4I/AAAAAAAAA1s/vOhN8Yt4gS4/s1600-h/java.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 38px; height: 38px;" src="http://3.bp.blogspot.com/_76ucAFyAIec/Szs2snLfd4I/AAAAAAAAA1s/vOhN8Yt4gS4/s200/java.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5420986716529850242" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s1600-h/fedora.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 43px; height: 44px;" src="http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s200/fedora.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5280249589920714050" /&gt;&lt;/a&gt;&lt;big&gt;今&lt;/big&gt;年の会社の夏期休暇は 8/13 - 8/21 の 9 日間もあり、さらに 8/22 を有休にしてしまいました。5 月の連休で、重回帰分析のための ContourMap 実現に目処がついたので、次はアプリケーションとして利用するためのプラットフォーム作りに取り組もうと考えていました。ContourMap を作成するだけの単機能なアプリケーションではなく、基本的な統計解析をこなし、自分の趣味に合ったグラフを作成してくれるようなツール、加えて ContourMap を存分に活用できる実験計画法などのアドバンスな解析にも対応できるようにすることが目標です。&lt;br /&gt;&lt;br /&gt;ともあれ、まずは簡単なグラフ、手始めにトレンドグラフを作成できるツールを作ることをこの夏期休暇の目標としました。しかし振り返ってみると、この目標はハードルが高かったように思います。なにがしかのグラフを作成するにはデータが必要になります。したがってスプレッドシート状のテーブルを用意したくなります。そうするとデータやグラフなど複数のウィンドウを扱うことになるので、汎用的な使用に耐えるベースとなる GUI を用意しておかなければなりません。&lt;br /&gt;&lt;br /&gt;GUI の構成としては、&lt;a href="http://ja.wikipedia.org/wiki/Multiple_Document_Interface"&gt;MDI&lt;/a&gt; にするか、&lt;a href="http://ja.wikipedia.org/wiki/%E3%82%BF%E3%83%96_(GUI)"&gt;タブ&lt;/a&gt;で切り替えるか、あれこれ悩み、結局両方とも利用することにしました。一式のデータセットに対して、ひとつの子ウィンドウを割り当て、その中でタブを切り替えてグラフや解析結果を表示する、という作りです。まともな仕様を決めずに試行錯誤を重ねてしまったため、この基本的なウィンドウ制御を作り込むのに、休みの大半を費やしてしまいました。休みの成果として、せめてグラフらしいものを表示したいと、最後の日曜日に突貫工事でトレンドグラフを表示できるようにしました。グラフを描画するプログラムを書くより、ウィンドウ制御のケアの方が、はるかに時間がかかっています。現状は以下のような出来です。&lt;br /&gt;&lt;br /&gt;まずは、サンプルのデータを読み込んだ状態。今のところ CSV 形式のファイルしか読み込めません。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-VviE_hL_u3o/TlGf5Fw82CI/AAAAAAAABIo/z-7HSGbbowI/s1600/Coral1.png" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="240" width="320" src="http://4.bp.blogspot.com/-VviE_hL_u3o/TlGf5Fw82CI/AAAAAAAABIo/z-7HSGbbowI/s320/Coral1.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;トレンドグラフを描画した状態。まだ未完成です。目盛の表示処理に時間をかけた割には、出来が今ひとつ。グラフタイトルや軸ラベルの表示がまだできていないし、グラフを編集するためのツールボックスが欲しい。グラフを画像出力できるようにする機能が最低限必要ですが、未対応です。簡単にコピペできるともっといいのですが…。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-CrGSmSdUdvY/TlGgDHVQEgI/AAAAAAAABIw/h7FrYwCwDRQ/s1600/Coral2.png" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="240" width="320" src="http://4.bp.blogspot.com/-CrGSmSdUdvY/TlGgDHVQEgI/AAAAAAAABIw/h7FrYwCwDRQ/s320/Coral2.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;グラフに求める機能が多すぎて、納得できるレベルまで持っていくのには時間がかかりそうです。9 月の連休には、少し前進したいですね。公開できるようなレベルの完成度になるのはいつのことか、道のりは長い…。&lt;br /&gt;&lt;br /&gt;ちなみに以下は Windows 上で実行した例です。Look &amp; Feel はケアしていませんが、マルチプラットフォーム対応は必要条件です。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-lDdIzfAjRb8/TlJPQPxatzI/AAAAAAAABJA/DPyOO14yOT8/s1600/Coral3.png" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="240" width="320" src="http://3.bp.blogspot.com/-lDdIzfAjRb8/TlJPQPxatzI/AAAAAAAABJA/DPyOO14yOT8/s320/Coral3.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;iframe src="http://rcm-jp.amazon.co.jp/e/cm?lt1=_blank&amp;bc1=FFFFFF&amp;IS1=1&amp;bg1=FFFFFF&amp;fc1=000000&amp;lc1=0000FF&amp;t=bitwalk00-22&amp;o=9&amp;p=8&amp;l=as4&amp;m=amazon&amp;f=ifr&amp;ref=ss_til&amp;asins=4798120987" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9176013-1708675772133253975?l=bitwalk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitwalk.blogspot.com/feeds/1708675772133253975/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9176013&amp;postID=1708675772133253975' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/1708675772133253975'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/1708675772133253975'/><link rel='alternate' type='text/html' href='http://bitwalk.blogspot.com/2011/08/8.html' title='8 月連休の成果'/><author><name>bitWalk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_76ucAFyAIec/Szs2snLfd4I/AAAAAAAAA1s/vOhN8Yt4gS4/s72-c/java.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9176013.post-2050928445389105958</id><published>2011-06-29T21:19:00.011+09:00</published><updated>2011-08-28T02:43:01.382+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='その他'/><title type='text'>「太陽系はここまでわかった」を読んで</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-ODzcubSTBds/TgxEWxzOgYI/AAAAAAAABHw/AbuItyBfPro/s1600/03387438.jpg" imageanchor="1" style="clear:left; float:left;margin-right:1em; margin-bottom:1em"&gt;&lt;img border="0" height="144" width="100" src="http://4.bp.blogspot.com/-ODzcubSTBds/TgxEWxzOgYI/AAAAAAAABHw/AbuItyBfPro/s200/03387438.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;big&gt;I&lt;/big&gt;T 関係の本ではありませんが、宇宙探査とそれにまつわる技術開発のロマンを感じた本でした。宇宙探査の話は IT と結構密接な関係があったりもしますが、本書は半導体技術と探査機との関係をフォーカスしているわけではないので、結構気楽に読みこなせます。嬉しいことに 2011 年の文庫本化の際に、著者の加筆修正が加わった最新の内容になっています。&lt;br /&gt;&lt;br /&gt;最近の宇宙探査の話題は、インターネットなどで断片的にしか確認していなかったのですが、本書を読むことで歴代の探査から現在まで一気に系統立てて成果を確認できてしまいました。報道ではあまり伝えられていないかもしれない NASA や JPL のチャレンジや失敗もなかなか興味深かったです。決して専門的過ぎるということではないのですが、ほど良く専門的な内容がちりばめられていて、しかも無理に易しい用語を選んで説明しようとはしていないところに却って好感が持てました。&lt;br /&gt;&lt;br /&gt;太陽の章から始まり、おおむねそそれぞれの惑星のことを一つの章として順番に解説されています。最終章は冥王星カイパーベルトです。ここで太陽系外惑星の発見についてもページが割かれています。個人的には、お隣の惑星である金星と火星の章が特に面白く読めました。&lt;br /&gt;&lt;br /&gt;子供の頃、朝刊の一面を飾ったヴァイキング一号が送ってきた火星の地上の画像は、それが単なる（着色処理がされている）赤茶けた荒地であれ、遠く宇宙空間を隔てた隣の惑星から送られてきた画像ということで、その技術の凄さに衝撃を受けたことを今でも憶えています。その後、火星探査は何度も繰り返されたにも関わらず、新しい発見に対する感動はだんだんと薄れてきてしまいました。やはり生命が存在する可能性が極めて低いからでしょうか。&lt;br /&gt;&lt;br /&gt;生命の存在可能性という点では、木星の衛星探査の話も興味深かったです。地球外生命体はまだ発見されていないけれど、我々地球は宇宙で、いや太陽系内でただ一つの生命を育む惑星ではないことを、そう遠くない日に発見できれば…、夢が膨らみます。&lt;br /&gt;&lt;iframe src="http://rcm-jp.amazon.co.jp/e/cm?lt1=_blank&amp;bc1=FFFFFF&amp;IS1=1&amp;bg1=FFFFFF&amp;fc1=000000&amp;lc1=0000FF&amp;t=bitwalk00-22&amp;o=9&amp;p=8&amp;l=as4&amp;m=amazon&amp;f=ifr&amp;ref=ss_til&amp;asins=4167651734" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9176013-2050928445389105958?l=bitwalk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitwalk.blogspot.com/feeds/2050928445389105958/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9176013&amp;postID=2050928445389105958' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/2050928445389105958'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/2050928445389105958'/><link rel='alternate' type='text/html' href='http://bitwalk.blogspot.com/2011/06/blog-post.html' title='「太陽系はここまでわかった」を読んで'/><author><name>bitWalk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-ODzcubSTBds/TgxEWxzOgYI/AAAAAAAABHw/AbuItyBfPro/s72-c/03387438.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9176013.post-6878203012227971576</id><published>2011-05-07T08:59:00.020+09:00</published><updated>2011-05-07T21:53:12.749+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='統計計算'/><title type='text'>Contour Map - 5 月連休の成果</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_76ucAFyAIec/Szs2snLfd4I/AAAAAAAAA1s/vOhN8Yt4gS4/s1600-h/java.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 38px; height: 38px;" src="http://3.bp.blogspot.com/_76ucAFyAIec/Szs2snLfd4I/AAAAAAAAA1s/vOhN8Yt4gS4/s200/java.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5420986716529850242" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s1600-h/fedora.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 43px; height: 44px;" src="http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s200/fedora.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5280249589920714050" /&gt;&lt;/a&gt;&lt;big&gt;4&lt;/big&gt; 月 30 日から始まった（私の）今年の 5 月の連休も、残りあと 2 日となりました。そろそろ、通常の生活リズムに戻さないといけません。今回の連休では、Fedora 15（ベータ版）のクリーンインストールの他に、もうひとつ取り組みたいことがありました。それは、Contour Map（等高線図）を描くプログラムを作ることでした。&lt;br /&gt;&lt;br /&gt;等高線図と言うと、&lt;a href="http://www.google.co.jp/search?q=Contour+Map&amp;hl=ja&amp;prmd=ivns&amp;tbm=isch&amp;tbo=u&amp;source=univ&amp;sa=X&amp;ei=4ZTETYiOK4TmvQObltSQAQ&amp;ved=0CB0QsAQ"&gt;地図の等高線図&lt;/a&gt;を想像するかもしれませんが、今回、興味があったのは、汎用の等高線図描画プログラムを作ることではなく、既知の複数の関数、特に高々 2 次の多項式 &lt;i&gt;z = f(x, y)&lt;/i&gt; を、等高線図にして重ね合わして表示できるプログラムを作ることでした。具体的には、例えば参考文献 [1] や [2] に示されているような RSM (&lt;i&gt;Response Surface Methodology&lt;/i&gt;, 応答曲面法) を利用した統計解析をするための、基本プログラムを作ることです。ポピュラーなデータ分析ツールの一つである JMP&lt;sup&gt;[3]&lt;/sup&gt; でも、応答曲面を扱う機能があります。会社では JMP も使っていますが、個人で買うには高価ですし Linux は適用外です。それに、個人的には JMP のこの機能には満足していません。&lt;br /&gt;&lt;br /&gt;昔、RSM を利用した実験および解析をするのに、BBN RS/Discover, RS/Explorer というソフトウェアを &lt;a href="http://ja.wikipedia.org/wiki/VAX"&gt;VAXstation&lt;/a&gt; や &lt;a href="http://ja.wikipedia.org/wiki/SunOS"&gt;Sun OS&lt;/a&gt; のワークステーション上で使っていました。いつの頃の話だと言うぐらい古い話です。実験して最適解を探し出したいエンジニアにとって、痒いところに手が届く、大変よくできた素晴らしいソフトウェアだったのですが、残念なことに今は販売されていないようです&lt;sup&gt;[4]&lt;/sup&gt;。そもそも、べらぼうに高価なソフトウェアでした。RPL (&lt;i&gt;RS Programming Language&lt;/i&gt;) という言語が利用でき、半導体製造ラインのデータを収集して、統計処理をすることに威力を発揮しましたが、そんなことは、今時のソフトウェアであれば選択肢がいくらでもあります。しかし、応答曲面法の解析の部分については、使いやすさを含めて、期待を上回るソフトウェアに出会っていません。&lt;br /&gt;&lt;br /&gt;このように興味のある機能が限定的であるので、いっそ、自分で作ってしまおうと考え、ずーっと取り組んでいます。いまだに Tcl/Tk と付き合っているのも、根底には Contour Map をはじめとしたグラフを GUI 化しやすいプログラミング言語を常に使えるようにしておきたい、という思いがあるからです。実際、Contour Map を描画するプログラムは、Tcl/Tk と C 言語を組み合わせて、何年も前から何度も作ってきました。しかし、何度作っても納得できるプログラムにならず、発展させることができませんでした。とにかく、コーディングが美しくないのです。お客様に期限までに納品しなければならないような場合、それでもなんとか使い物になるレベルまで仕上げなければなりませんが、幸い、そういう縛りはありません。本件は、自分が納得できるプログラムに仕上げることがとても重要なのです。&lt;br /&gt;&lt;br /&gt;今回はプログラミング言語を Java に変えてみました。プログラミング言語を変えても、基本的なアルゴリズムが変わるわけではありませんので、同じといえばそうなのですが、やはりクラスに機能をまとめると、幾分すっきりしたプログラム構成になります。Java での計算速度を心配していましたが杞憂でした。全然ストレスを感じません。実行例を下記に示しました。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-E6Lh-XJrSig/TcRxOZZ8zWI/AAAAAAAABGE/togYd55QlO8/s1600/ContourMap.png" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="320" width="296" src="http://4.bp.blogspot.com/-E6Lh-XJrSig/TcRxOZZ8zWI/AAAAAAAABGE/togYd55QlO8/s320/ContourMap.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;この連休中のマイルストーンは、複数の任意の 2 次多項式&lt;br /&gt;&lt;br /&gt;&lt;i&gt;z = f(x, y) = c&lt;sub&gt;0&lt;/sub&gt; + c&lt;sub&gt;1&lt;/sub&gt;x&lt;sup&gt;2&lt;/sup&gt; + c&lt;sub&gt;2&lt;/sub&gt;x + c&lt;sub&gt;3&lt;/sub&gt;xy + c&lt;sub&gt;4&lt;/sub&gt;y + c&lt;sub&gt;5&lt;/sub&gt;y&lt;sup&gt;2&lt;/sup&gt;&lt;/i&gt; （ただし &lt;i&gt;c&lt;sub&gt;1&lt;/sub&gt;&lt;/i&gt; ≠ 0, &lt;i&gt;c&lt;sub&gt;5&lt;/sub&gt;&lt;/i&gt; ≠ 0）&lt;br /&gt;&lt;br /&gt;を Contour Map で表現することでしたので、所期の目的は達成できたことになります。&lt;br /&gt;&lt;br /&gt;しかし残念ながら、以前 Tcl/Tk と C 言語で作ったときと同様に、IF 文だらけで重複した処理がごちゃごちゃたくさんある、という作りは変わっていません。今後時間をかけて整理していきます。今年のお盆の連休に、なにか公開できるようなレベルになっているといいな。（気の長い話です。）&lt;br /&gt;&lt;br /&gt;余談ですが、Fedora 15 の新しい Gnome 3 デスクトップの操作にも慣れてきました。画面を切り替えるのに Alt + Tab の使用頻度が激増です。&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;&lt;u&gt;参考文献&lt;/u&gt;&lt;/h3&gt;[1] &lt;a href="http://www.ncbi.nlm.nih.gov/pmc/articles/PMC242336/?page=4"&gt;Application of Response Surface Methodology to Evaluation of Bioconversion Experimental Conditions&lt;/a&gt;&lt;br /&gt;[2] &lt;a href="http://www.i-juse.co.jp/statistics/product/func/doe/rsm-unary-property-optimization.html"&gt;(株)日科技研：応答曲面法(RSM) 一特性の最適化とは（実験計画法） | 機能・手法一覧&lt;/a&gt;&lt;br /&gt;[3] &lt;a href="http://www.jmp.com/japan/index.shtml"&gt;JMP -- 探索的統計解析ソフトウェア | データ分析 - 統計 - Six Sigma - 実験計画法（DOE）&lt;/a&gt;&lt;br /&gt;[4] &lt;a href="http://www.g-link.co.jp/"&gt;ジーリンクシステムコンサルティング株式会社&lt;/a&gt;&lt;br /&gt;&lt;iframe src="http://rcm-jp.amazon.co.jp/e/cm?lt1=_blank&amp;bc1=FFFFFF&amp;IS1=1&amp;bg1=FFFFFF&amp;fc1=000000&amp;lc1=0000FF&amp;t=bitwalk00-22&amp;o=9&amp;p=8&amp;l=as4&amp;m=amazon&amp;f=ifr&amp;ref=ss_til&amp;asins=0470128666" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9176013-6878203012227971576?l=bitwalk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitwalk.blogspot.com/feeds/6878203012227971576/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9176013&amp;postID=6878203012227971576' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/6878203012227971576'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/6878203012227971576'/><link rel='alternate' type='text/html' href='http://bitwalk.blogspot.com/2011/05/contour-map.html' title='Contour Map - 5 月連休の成果'/><author><name>bitWalk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_76ucAFyAIec/Szs2snLfd4I/AAAAAAAAA1s/vOhN8Yt4gS4/s72-c/java.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9176013.post-7699978979540538745</id><published>2011-04-30T15:31:00.014+09:00</published><updated>2011-05-08T06:41:45.110+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Fedora'/><title type='text'>Fedora 15 Beta リリースをインストール</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s1600-h/fedora.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 43px; height: 44px;" src="http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s200/fedora.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5280249589920714050" /&gt;&lt;/a&gt;&lt;big&gt;私&lt;/big&gt;が勤めている会社の場合、今年は 4 月 30 日から連休、いわゆるゴールデンウィークが始まりました。この時期は新しいリリースの Fedora をクリーンインストールすることが年中行事のようになってしまっています。できることであれば、RC 版か正式版をインストールしたいのですが、Fedora 15 はまだベータ版までしかリリースされていません。ある程度のトラブルは覚悟して、ベータ版をメインの 64 bit 機にインストールしてみました。&lt;br /&gt;&lt;br /&gt;デスクトップ用途でインストールしてログインするとビックリです。VMware Player でアルファ版を試用していたときは気がつきませんでしたが、画面がまるでスマートフォンです。&lt;sup&gt;†&lt;/sup&gt;&lt;br /&gt;&lt;small&gt;&lt;sup&gt;†&lt;/sup&gt;今回、ベータ版をインストールして確認をしましたが、どうやら、私の VMware Player の環境では Gnome 3 shell が正しく起動できていないようです。&lt;/small&gt;&lt;br /&gt;&lt;br /&gt;最近の Linux のデスクトップ事情にすっかり疎くなってしまった感があります。日経 Linux とか読まないと時流に追いついていけないのかな？いや、ただ単に Gnome 3 の情報に疎いだけかも…。&lt;br /&gt;&lt;br /&gt;まだ使いにくいのですが、慣れれば苦にならなくなるでしょう、きっと。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-GuYb_TRVgio/TbusZHC8jiI/AAAAAAAABF0/j5etiiVvmck/s1600/F15-beta-Screenshot-1.png" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="256" width="320" src="http://2.bp.blogspot.com/-GuYb_TRVgio/TbusZHC8jiI/AAAAAAAABF0/j5etiiVvmck/s320/F15-beta-Screenshot-1.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-U7yiHxqnVDU/Tbuse4PXc_I/AAAAAAAABF8/OFKXr6YTMeI/s1600/F15-beta-Screenshot-2.png" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="256" width="320" src="http://4.bp.blogspot.com/-U7yiHxqnVDU/Tbuse4PXc_I/AAAAAAAABF8/OFKXr6YTMeI/s320/F15-beta-Screenshot-2.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;インストール後に気になったことは、有線ネットワークがデフォルトで有効になっていなかったことです。ネットワークが使えるものだと信じ込んでいたので、パッケージのアップデートができず慌てました。&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;&lt;u&gt;参考サイト&lt;/u&gt;&lt;/h3&gt;[1] &lt;a href="http://fedorapeople.org/groups/docs/release-notes/ja-JP/sect-Release_Notes-Changes_for_Desktop_Users.html#sect-RelNotes-Desktop"&gt;2. Fedora の変更点 - デスクトップユーザー向け&lt;/a&gt;&lt;br /&gt;[2] &lt;a href="http://www.gnome3.org/"&gt;GNOME 3 - Made of Easy&lt;/a&gt;&lt;br /&gt;[3] &lt;a href="http://gihyo.jp/admin/clip/01/linux_dt/201104/05"&gt;Linux Daily Topics：2011年4月5日　Fedora 15のGNOME 3は慣れるまでに時間がかかるかも&lt;/a&gt;&lt;br /&gt;[4] &lt;a href="http://live.gnome.org/GnomeShell/Tour"&gt;GnomeShell/Tour - GNOME Live!&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;iframe src="http://rcm-jp.amazon.co.jp/e/cm?lt1=_blank&amp;bc1=FFFFFF&amp;IS1=1&amp;bg1=FFFFFF&amp;fc1=000000&amp;lc1=0000FF&amp;t=bitwalk00-22&amp;o=9&amp;p=8&amp;l=as4&amp;m=amazon&amp;f=ifr&amp;ref=ss_til&amp;asins=4774145017" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9176013-7699978979540538745?l=bitwalk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitwalk.blogspot.com/feeds/7699978979540538745/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9176013&amp;postID=7699978979540538745' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/7699978979540538745'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/7699978979540538745'/><link rel='alternate' type='text/html' href='http://bitwalk.blogspot.com/2011/04/fedora-15-beta.html' title='Fedora 15 Beta リリースをインストール'/><author><name>bitWalk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s72-c/fedora.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9176013.post-5682722689721041404</id><published>2011-04-15T22:20:00.004+09:00</published><updated>2011-04-16T06:47:55.714+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tcl 関連'/><title type='text'>NaTcl を試す</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_76ucAFyAIec/R0tu8qqzG5I/AAAAAAAAABk/MPZg3XxPtPY/s1600-h/logo64.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://bp2.blogger.com/_76ucAFyAIec/R0tu8qqzG5I/AAAAAAAAABk/MPZg3XxPtPY/s200/logo64.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5137321788471188370" /&gt;&lt;/a&gt;&lt;big&gt;N&lt;/big&gt;aTcl -- Native Client Tcl Module は、Chrome の Native Client (NaCl) サンドボックス で Tcl スクリプトを走らせ、HTML5 の canvas に直接アクセスすることができます&lt;sup&gt;[1]&lt;/sup&gt;。&lt;br /&gt;&lt;br /&gt;Google の Native Client (NaCl)&lt;sup&gt;[2]&lt;/sup&gt;を利用すると、Webブラウザからネイティブコードを安全に実行することができるのだそうです。そういえば、Chrome でネイティブコードが実行できるようになるなんて話が確かにありましたが、恥ずかしながら、すっかり忘却の彼方です。そういうわけで仕組みが解っていないのですが、とにかくインストラクションにしたがって動かしてみました。&lt;br /&gt;&lt;br /&gt;使用した環境は、Fedora 14 (x86_64) 上の Google Chrome 11.0.696.43 beta です。&lt;br /&gt;&lt;br /&gt;まず、Google Chrome で URL に &lt;tt&gt;about:flags&lt;/tt&gt; を入力して「試験運用機能」の画面を表示します。そこで、ネイティブ クライアントを有効にします。&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-NZ8sU479-fQ/Tag73L5CnzI/AAAAAAAABEo/G6YGRFCFro4/s1600/Screenshot-about%253Aflags%2B-%2BGoogle%2BChrome1.png" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="320" width="259" src="http://1.bp.blogspot.com/-NZ8sU479-fQ/Tag73L5CnzI/AAAAAAAABEo/G6YGRFCFro4/s320/Screenshot-about%253Aflags%2B-%2BGoogle%2BChrome1.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;一旦、Google Chrome を全て終了し、コンソール上で &lt;tt&gt;google-chrome&lt;/tt&gt; を &lt;tt&gt;--no-sandbox&lt;/tt&gt; オプションをつけて起動します。&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-u9-zYKue5oM/Tag8ERvWFfI/AAAAAAAABE4/H0fNVGz-vLQ/s1600/Screenshot-bitwalk%2540desktop%253A%257E.png" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="214" width="320" src="http://2.bp.blogspot.com/-u9-zYKue5oM/Tag8ERvWFfI/AAAAAAAABE4/H0fNVGz-vLQ/s320/Screenshot-bitwalk%2540desktop%253A%257E.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;起動した Google Chrome で、参考サイト[1] をサクセスすると、以下のように Google の図形が表示され、マウスのポインタを近づけると、それに応じたアニメーションを見ることができます。&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-W32YhR1UFnk/Tag7-SWI3JI/AAAAAAAABEw/0O-6Cfy_a6Y/s1600/Screenshot-NaTcl%2B%253A%2BTcl%2Bin%2BNacl%2B-%2BGoogle%2BChrome.png" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="320" width="259" src="http://4.bp.blogspot.com/-W32YhR1UFnk/Tag7-SWI3JI/AAAAAAAABEw/0O-6Cfy_a6Y/s320/Screenshot-NaTcl%2B%253A%2BTcl%2Bin%2BNacl%2B-%2BGoogle%2BChrome.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;まだ NaTcl を使いこなすことはできませんが、ちゃんと使いこなせばおもしろいことができそうです。今後、Tk widget が動く NaTk というのも使えるようになるということで、第二の Tcl Plugin とも呼べる環境で Web プログラミングが楽しめるようになりそうです。&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;&lt;u&gt;参考サイト&lt;/u&gt;&lt;/h3&gt;[1] &lt;a href="http://wiki.tcl.tk/_natcl/balls.html"&gt;NaTcl : Tcl in Nacl&lt;/a&gt;&lt;br /&gt;[2] &lt;a href="http://code.google.com/chrome/nativeclient/"&gt;Native Client SDK - Google Code&lt;/a&gt;&lt;br /&gt;[3] &lt;a href="http://developers.slashdot.org/story/11/04/13/055219/Tcl-Announces-NaTcl-Native-Client-Tcl"&gt;Tcl Announces NaTcl: Native Client Tcl - Slashdot&lt;/a&gt;&lt;br /&gt;&lt;iframe src="http://rcm-jp.amazon.co.jp/e/cm?lt1=_blank&amp;bc1=FFFFFF&amp;IS1=1&amp;bg1=FFFFFF&amp;fc1=000000&amp;lc1=0000FF&amp;t=bitwalk00-22&amp;o=9&amp;p=8&amp;l=as4&amp;m=amazon&amp;f=ifr&amp;ref=ss_til&amp;asins=4844328468" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9176013-5682722689721041404?l=bitwalk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitwalk.blogspot.com/feeds/5682722689721041404/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9176013&amp;postID=5682722689721041404' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/5682722689721041404'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/5682722689721041404'/><link rel='alternate' type='text/html' href='http://bitwalk.blogspot.com/2011/04/natcl.html' title='NaTcl を試す'/><author><name>bitWalk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_76ucAFyAIec/R0tu8qqzG5I/AAAAAAAAABk/MPZg3XxPtPY/s72-c/logo64.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9176013.post-2406025877332009770</id><published>2011-04-03T18:49:00.000+09:00</published><updated>2011-04-04T18:58:42.439+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ReactOS'/><title type='text'>ReactOS 0.3.13</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_76ucAFyAIec/SoYa0U6YnLI/AAAAAAAAAqQ/0ySFeBAXlHQ/s1600-h/ros_logo_08s.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 100px; height: 51px;" src="http://2.bp.blogspot.com/_76ucAFyAIec/SoYa0U6YnLI/AAAAAAAAAqQ/0ySFeBAXlHQ/s200/ros_logo_08s.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5370009091955006642" /&gt;&lt;/a&gt;&lt;big&gt;3&lt;/big&gt; 月 22 日付で ReactOS 0.3.13 がリリースされていました&lt;sup&gt;[1]&lt;/sup&gt;。VMware 用のイメージをダウンロードして、&lt;a href="http://www.vmware.com/jp/products/player/"&gt;VMware Player&lt;/a&gt; で起動してみました。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-eUwqNWwEfjA/TZmKx6VqIeI/AAAAAAAABEY/6uBFx7sR-wY/s1600/ReactOS-0.3.13-VMware.png" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="255" width="320" src="http://1.bp.blogspot.com/-eUwqNWwEfjA/TZmKx6VqIeI/AAAAAAAABEY/6uBFx7sR-wY/s320/ReactOS-0.3.13-VMware.png" /&gt;&lt;/a&gt;&lt;/div&gt;リリースノート&lt;sup&gt;[2]&lt;/sup&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;/li&gt;&lt;li&gt;Firefox や Thunderbird などのアプリケーションにおけるビジュアルアーティファクツ(?)の修整&lt;/li&gt;&lt;li&gt;インストーラのバグをいくつか修整&lt;/li&gt;&lt;li&gt;あらたなアプリケーション対応&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Stellarium 0.10.2&lt;/li&gt;&lt;li&gt;LHelp&lt;/li&gt;&lt;li&gt;winpcap&lt;/li&gt;&lt;li&gt;FlashPlayer 10.1&lt;/li&gt;&lt;li&gt;Mono 2.8&lt;/li&gt;&lt;li&gt;OllyDbg 1.10&lt;/li&gt;&lt;li&gt;Xenon 2000&lt;/li&gt;&lt;li&gt;VLC 1.1.5&lt;/li&gt;&lt;li&gt;Foobar 2000&lt;/li&gt;&lt;li&gt;Skype 4.0.0&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;対応する SATA デバイスを増やした。&lt;/li&gt;&lt;li&gt;メモリーマネージャーにおける数多くの改善&lt;/li&gt;&lt;/ul&gt;気のせいかもしれませんが、動作が前よりきびきびしているように感じます。ReactOS が安定し、主要なアプリケーションを動かせるようになったら、廉価な PC あるいは中古の PC を買ってテスト機として使ってみたいものです。いよいよ次のリリースは 0.4 の番号が付くかもしれません。&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;&lt;u&gt;参考サイト&lt;/u&gt;&lt;/h3&gt;[1] &lt;a href="http://www.reactos.org/ja/index.html"&gt;Frontpage - ReactOS ウェブサイト&lt;/a&gt;&lt;br /&gt;[2] &lt;a href="http://www.reactos.org/ja/news_page_65.html"&gt;The ReactOS team is proud to announce the release of ReactOS 0.3.13.&lt;/a&gt;&lt;br /&gt;&lt;iframe src="http://rcm-jp.amazon.co.jp/e/cm?lt1=_top&amp;bc1=FFFFFF&amp;IS1=1&amp;bg1=FFFFFF&amp;fc1=000000&amp;lc1=0000FF&amp;t=bitwalk00-22&amp;o=9&amp;p=8&amp;l=as4&amp;m=amazon&amp;f=ifr&amp;ref=ss_til&amp;asins=4774118419" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9176013-2406025877332009770?l=bitwalk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitwalk.blogspot.com/feeds/2406025877332009770/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9176013&amp;postID=2406025877332009770' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/2406025877332009770'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/2406025877332009770'/><link rel='alternate' type='text/html' href='http://bitwalk.blogspot.com/2011/04/reactos-0313.html' title='ReactOS 0.3.13'/><author><name>bitWalk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_76ucAFyAIec/SoYa0U6YnLI/AAAAAAAAAqQ/0ySFeBAXlHQ/s72-c/ros_logo_08s.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9176013.post-4132486707044851011</id><published>2011-04-02T18:12:00.007+09:00</published><updated>2011-04-03T06:50:00.075+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Fedora'/><title type='text'>Fedora 15 Alpha リリースを試す</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s1600-h/fedora.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 43px; height: 44px;" src="http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s200/fedora.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5280249589920714050" /&gt;&lt;/a&gt;&lt;big&gt;F&lt;/big&gt;edora 15 の Alpha リリース&lt;sup&gt;[1]&lt;/sup&gt; をインストールしてみました。正式なリリースまで待ちきれませんでした。&lt;br /&gt;ちなみに正式なリリースは、リリーススケジュール&lt;sup&gt;[2]&lt;/sup&gt; によると、今日時点で、当初の予定より 2 週間遅れて 5 月 24 日となってしまっています。&lt;br /&gt;&lt;br /&gt;Fedora 15 Alpha のリリースノート&lt;sup&gt;[3]&lt;/sup&gt; によると、今回のリリースの主な目玉は次のようになっています。&lt;br /&gt;&lt;ul&gt;&lt;li&gt;GNOME 3&lt;/li&gt;&lt;li&gt;LibreOffice&lt;/li&gt;&lt;li&gt;systemd&lt;/li&gt;&lt;li&gt;Dynamic Firewall&lt;/li&gt;&lt;li&gt;DNSSEC for workstations&lt;/li&gt;&lt;li&gt;KDE 4.6&lt;/li&gt;&lt;li&gt;BoxGrinder&lt;/li&gt;&lt;li&gt;...&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;DVD のイメージ (i386) からクリーンインストールをした後、パッケージをアップデートしました。その状態のスクリーンショットを紹介します。そのため、インストーライメージからインストールした直後の状態とは異なっています。&lt;br /&gt;&lt;small&gt;【ご注意】Fedora 15 Alpha リリースの今日時点でのスクリーンショットですので、正式リリースでは異なる可能性があることをご理解ください。&lt;/small&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-AJB-NpdPRVc/TZbkMenHpbI/AAAAAAAABD4/BgALgSPXN5o/s1600/fadora15-1.png" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="240" width="320" src="http://1.bp.blogspot.com/-AJB-NpdPRVc/TZbkMenHpbI/AAAAAAAABD4/BgALgSPXN5o/s320/fadora15-1.png" /&gt;&lt;/a&gt;&lt;/div&gt;まずログイン画面です。背景のイメージは相変わらず寒色系ではありますが、抽象的な幾何学的、鋭角的デザインは影をひそめ、ずいぶん親しみやすい具体的なイメージになっています。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-DgLsDqHuwE0/TZbk48Z-4fI/AAAAAAAABEA/_GB-gYq8hVI/s1600/fadora15-2.png" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="240" width="320" src="http://2.bp.blogspot.com/-DgLsDqHuwE0/TZbk48Z-4fI/AAAAAAAABEA/_GB-gYq8hVI/s320/fadora15-2.png" /&gt;&lt;/a&gt;&lt;/div&gt;ログイン後の画面です。一瞬、&lt;a href="http://itpro.nikkeibp.co.jp/article/COLUMN/20101216/355300/?SS=imgview&amp;FD=-654642772&amp;ST=oss"&gt;Ubuntu 10.10 の Gnome デスクトップ&lt;/a&gt;かと思ってしまいました。システム設定のメニューが、メニューバーの右側に移っています。デスクトップ上のアイコンは（デフォルトでは）無くなりました。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-87blttzCThA/TZblR8wv3xI/AAAAAAAABEI/0b-sS5tx578/s1600/fadora15-3.png" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="240" width="320" src="http://3.bp.blogspot.com/-87blttzCThA/TZblR8wv3xI/AAAAAAAABEI/0b-sS5tx578/s320/fadora15-3.png" /&gt;&lt;/a&gt;&lt;/div&gt;システムの設定は Windows のコントロールパネルのように一つにまとまりました。それぞれのアイコンはワンクリックで起動します。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-HAYGo0bCWQs/TZblgmcfs4I/AAAAAAAABEQ/_GBzQSRo5Io/s1600/fadora15-4.png" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="240" width="320" src="http://2.bp.blogspot.com/-HAYGo0bCWQs/TZblgmcfs4I/AAAAAAAABEQ/_GBzQSRo5Io/s320/fadora15-4.png" /&gt;&lt;/a&gt;&lt;/div&gt;オフィススイーツは、OpenOffice.org から LibreOffice に変更になっています。なかなか早い対応にビックリです。&lt;br /&gt;&lt;br /&gt;ちなみに MinGW クロスコンパイラのパッケージ群は、精査はしていませんが、Fedora 14 のものと変わらないように見えました。&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;&lt;u&gt;参考サイト&lt;/u&gt;&lt;/h3&gt;[1] &lt;a href="http://fedoraproject.org/ja/get-prerelease"&gt;次の Fedora を入手する − Fedora Project&lt;/a&gt;&lt;br /&gt;[2] &lt;a href="http://fedoraproject.org/wiki/Releases/15/Schedule"&gt;Releases/15 - FedoraProject&lt;/a&gt;&lt;br /&gt;[3] &lt;a href="http://fedoraproject.org/wiki/Fedora_15_Alpha_release_notes"&gt;Fedora 15 Alpha release notes - FedoraProject&lt;/a&gt;&lt;br /&gt;[4] &lt;a href="http://e-words.jp/w/E382A2E383ABE38395E382A1E78988.html"&gt;アルファ版とは【alpha version】（α版） - 意味/解説/説明/定義 ： IT用語辞典&lt;/a&gt;&lt;br /&gt;&lt;iframe src="http://rcm-jp.amazon.co.jp/e/cm?lt1=_blank&amp;bc1=FFFFFF&amp;IS1=1&amp;bg1=FFFFFF&amp;fc1=000000&amp;lc1=0000FF&amp;t=bitwalk00-22&amp;o=9&amp;p=8&amp;l=as4&amp;m=amazon&amp;f=ifr&amp;ref=ss_til&amp;asins=B004NVB470" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9176013-4132486707044851011?l=bitwalk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitwalk.blogspot.com/feeds/4132486707044851011/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9176013&amp;postID=4132486707044851011' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/4132486707044851011'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/4132486707044851011'/><link rel='alternate' type='text/html' href='http://bitwalk.blogspot.com/2011/04/fedora-15-alpha.html' title='Fedora 15 Alpha リリースを試す'/><author><name>bitWalk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s72-c/fedora.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9176013.post-834216151612557800</id><published>2011-03-20T15:29:00.002+09:00</published><updated>2011-03-20T15:32:36.544+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Fedora'/><category scheme='http://www.blogger.com/atom/ns#' term='Tcl 関連'/><category scheme='http://www.blogger.com/atom/ns#' term='Rivet'/><title type='text'>Apache Rivet 2.0.3</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_76ucAFyAIec/TTp3erRD-DI/AAAAAAAABB4/PATAPM75RKk/s1600/Rivetlogo_s.png" imageanchor="1" style="clear:left; float:left;margin-right:1em; margin-bottom:1em"&gt;&lt;img border="0" height="51" width="80" src="http://2.bp.blogspot.com/_76ucAFyAIec/TTp3erRD-DI/AAAAAAAABB4/PATAPM75RKk/s200/Rivetlogo_s.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;big&gt;3&lt;/big&gt; 月 19 日付けで Apache Rivet 2.0.3 がリリースされました。&lt;sup&gt;[1]&lt;/sup&gt;&lt;br /&gt;早速 Fedora 用 RPM を作成して Sourceforge.jp の作業部屋にアップしました。&lt;sup&gt;[2]&lt;/sup&gt;&lt;br /&gt;今回は x86_64 用の他に i686 用にも RPM パッケージを作成しました。&lt;br /&gt;&lt;pre style="clear:both;"&gt;&lt;hr size="1"&gt;Date: Tue, 1 Mar 2011 23:32:43 +0100&lt;br /&gt;From: "Massimo Manghi" &amp;lt;massimo.manghi at unipr.it&amp;gt;&lt;br /&gt;To: &amp;lt;rivet-dev at tcl.apache.org&amp;gt;&lt;br /&gt;Subject: Rivet 2.0.3&lt;br /&gt;&lt;br /&gt;In branches/2.0 is now the code candidate to become Rivet 2.0.3. &lt;br /&gt;A module for Apache 1.3 or Apache 2.2 can be build out of it.&lt;br /&gt;&lt;br /&gt;Notes about this branch.&lt;br /&gt;&lt;br /&gt; - command 'apache_log_error' and 'apache_table' had been left out of&lt;br /&gt;apache-1/rivetCore.c. Their code was adapted to compile with the 1.3 API and&lt;br /&gt;they are now working.&lt;br /&gt;&lt;br /&gt; - AbortScript and AfterEveryScript script support has been backported along&lt;br /&gt;with the new form for the 'abort_page' command, now accepting an optional&lt;br /&gt;parameter that can be retrieved by means of the command 'abort_code'. &lt;br /&gt;&lt;br /&gt;I will call soon for a vote on releasing this code as Rivet 2.0.3. &lt;br /&gt;&lt;br /&gt;-- Massimo&lt;br /&gt;&lt;hr size="1"&gt;Date: Sat, 19 Mar 2011 12:58:07 +0100&lt;br /&gt;From: "Massimo Manghi" &amp;lt;massimo.manghi at unipr.it&amp;gt;&lt;br /&gt;To: &amp;lt;rivet-dev at tcl.apache.org&amp;gt;&lt;br /&gt;Subject: Rivet 2.0.3 released&lt;br /&gt;&lt;br /&gt; Rivet 2.0.3 has been released as GA code and it's been&lt;br /&gt; uploaded to the Apache website. As soon as the source&lt;br /&gt; archive has spread throughout the mirrors of Apache I&lt;br /&gt; will update the website with the release notes and&lt;br /&gt; send on comp.lang.tcl a message announcing it.&lt;br /&gt;&lt;br /&gt;   -- Massimo&lt;br /&gt;&lt;hr size="1"&gt;&lt;/pre&gt;&lt;h3&gt;&lt;u&gt;参考サイト&lt;/u&gt;&lt;/h3&gt;[1] &lt;a href="http://tcl.apache.org/rivet/"&gt;Rivet - Webscripting for Tcl'ers&lt;/a&gt;&lt;br /&gt;[2] &lt;a href="http://sourceforge.jp/users/bitwalk/pf/Apache_Rivet_RPM/"&gt;作業部屋: bitwalk / Apache Rivet RPM のファイルダウンロード&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;iframe src="http://rcm-jp.amazon.co.jp/e/cm?lt1=_blank&amp;bc1=FFFFFF&amp;IS1=1&amp;bg1=FFFFFF&amp;fc1=000000&amp;lc1=0000FF&amp;t=bitwalk00-22&amp;o=9&amp;p=8&amp;l=as4&amp;m=amazon&amp;f=ifr&amp;ref=ss_til&amp;asins=4774142239" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9176013-834216151612557800?l=bitwalk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitwalk.blogspot.com/feeds/834216151612557800/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9176013&amp;postID=834216151612557800' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/834216151612557800'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/834216151612557800'/><link rel='alternate' type='text/html' href='http://bitwalk.blogspot.com/2011/03/apache-rivet-203.html' title='Apache Rivet 2.0.3'/><author><name>bitWalk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_76ucAFyAIec/TTp3erRD-DI/AAAAAAAABB4/PATAPM75RKk/s72-c/Rivetlogo_s.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9176013.post-8053761819325427434</id><published>2011-02-12T14:20:00.000+09:00</published><updated>2011-02-12T14:20:24.280+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tcl 関連'/><title type='text'>MinGW-w64 で Tcl/Tk をコンパイル（32bit 用）</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_76ucAFyAIec/R0tu8qqzG5I/AAAAAAAAABk/MPZg3XxPtPY/s1600-h/logo64.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://bp2.blogger.com/_76ucAFyAIec/R0tu8qqzG5I/AAAAAAAAABk/MPZg3XxPtPY/s200/logo64.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5137321788471188370" /&gt;&lt;/a&gt;&lt;big&gt;C&lt;/big&gt;ygwin を、用事があって Windows に久しぶりにインストールしたところ、 MinGW-w64 (GCC for both x64 &amp; x86 Windows!)&lt;sup&gt;[1]&lt;/sup&gt; を利用できることを知りました。&lt;br /&gt;&lt;br /&gt;そこで、（当初は Fedora 15 からとアナウンスされましたが）Fedora 16 では、MinGW のクロスコンパイル環境が、MinGW-w64 のプロジェクトの成果を利用することになるようなので、それに備えて、Tcl/Tk については比較用に Cygwin/MinGW-w64 でビルドしたものをリファレンスパッケージとして公開していこうと考えています。&lt;br /&gt;&lt;br /&gt;とりあえず &lt;a href="ftp://ftp.tcl.tk/pub/tcl/nightly-cvs/"&gt;nightly-CVS&lt;/a&gt; からダウンロードした Tcl と Tk のソースをコンパイルしたものを Inno Setup&lt;sup&gt;[2]&lt;/sup&gt; でインストールパッケージ (&lt;tt&gt;tcltk8.6b1-020-20110212.exe&lt;/tt&gt;) にして、SourceForge.jp の作業部屋へアップしました&lt;sup&gt;[3]&lt;/sup&gt;。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-7iYbH4h-CwM/TVXZhVODdRI/AAAAAAAABC8/M_jdQzZNcqE/s1600/tcltk8.6b1-020-20110212.png" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="245" width="320" src="http://4.bp.blogspot.com/-7iYbH4h-CwM/TVXZhVODdRI/AAAAAAAABC8/M_jdQzZNcqE/s320/tcltk8.6b1-020-20110212.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;h3&gt;&lt;u&gt;参考サイト&lt;/u&gt;&lt;/h3&gt;[1] &lt;a href="http://mingw-w64.sourceforge.net/"&gt;GCC for both x64 &amp;amp; x86 Windows! - MinGW-w64&lt;/a&gt;&lt;br /&gt;[2] &lt;a href="http://www.jrsoftware.org/isinfo.php"&gt;Inno Setup&lt;/a&gt;&lt;br /&gt;[3] &lt;a href="http://sourceforge.jp/users/bitwalk/pf/Tcl_Tk_for_Win/"&gt;作業部屋: bitwalk / Tcl/Tk for Windows - SourceForge.JP&lt;/a&gt;&lt;br /&gt;&lt;iframe src="http://rcm-jp.amazon.co.jp/e/cm?lt1=_blank&amp;bc1=FFFFFF&amp;IS1=1&amp;bg1=FFFFFF&amp;fc1=000000&amp;lc1=0000FF&amp;t=bitwalk00-22&amp;o=9&amp;p=8&amp;l=as4&amp;m=amazon&amp;f=ifr&amp;asins=032133633X" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9176013-8053761819325427434?l=bitwalk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitwalk.blogspot.com/feeds/8053761819325427434/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9176013&amp;postID=8053761819325427434' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/8053761819325427434'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/8053761819325427434'/><link rel='alternate' type='text/html' href='http://bitwalk.blogspot.com/2011/02/mingw-w64-tcltk-32bit.html' title='MinGW-w64 で Tcl/Tk をコンパイル（32bit 用）'/><author><name>bitWalk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_76ucAFyAIec/R0tu8qqzG5I/AAAAAAAAABk/MPZg3XxPtPY/s72-c/logo64.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9176013.post-7811265842789404928</id><published>2011-01-30T09:12:00.001+09:00</published><updated>2011-01-30T09:17:51.751+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='備忘録'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Fedora'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>【備忘録】ARM の話題あれこれ</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_76ucAFyAIec/TUSeexLqEbI/AAAAAAAABCo/0VOKaRjAOIo/s1600/arm_logo.gif" imageanchor="1" style="clear:left; float:left;margin-right:1em; margin-bottom:1em"&gt;&lt;img border="0" height="29" width="98" src="http://4.bp.blogspot.com/_76ucAFyAIec/TUSeexLqEbI/AAAAAAAABCo/0VOKaRjAOIo/s200/arm_logo.gif" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;big&gt;次&lt;/big&gt;世代の Windows では、ARM もサポートされるというニュースが今年になって報道されました&lt;sup&gt;[1]&lt;/sup&gt;。今後、デスクトップ PC のような用途でも ARM 系の CPU を搭載したものがもっと発売されるようになるかもしれないと期待しています。ARM のプロセッサを搭載したデスクトップタイプの PC が利用できると、手軽に開発環境を構築できるので、市場に多く流通して手頃な価格まで下がって欲しいと思っています。既に、ARM 系 NVIDIA &lt;a href="http://ja.wikipedia.org/wiki/Tegra"&gt;Tegra&lt;/a&gt; 2 ベースの超小型デスクトップコンピュータが発表されたりもしています&lt;sup&gt;[2]&lt;/sup&gt;。実際の販売価格がどうなるか楽しみです。&lt;br /&gt;&lt;br /&gt;ARM と言えば、アップル社 iPhone などの &lt;a href="http://ja.wikipedia.org/wiki/IOS_(%E3%82%A2%E3%83%83%E3%83%97%E3%83%AB)"&gt;iOS&lt;/a&gt; がサポートしていることが有名です。一方 Linux の ARM への対応はどうかといえば、Google &lt;a href="http://ja.wikipedia.org/wiki/Android"&gt;Android&lt;/a&gt; を Linux の一種と見做せば ARM をサポートしている Linux として、最近では最も有名でホットな OS かもしれません。ARM のモバイル端末だけでなくノート PC のようなタイプでも Android が搭載されています。東芝製 &lt;a href="http://dynabook.com/pc/catalog/cloud/100621az/index_j.htm"&gt;dynabook AZ&lt;/a&gt; は代表的な例でしょう。&lt;br /&gt;&lt;br /&gt;もっと一般的な Linux ディストリビューションでも ARM をサポートしています。シャープ製のモバイル端末 &lt;a href="http://www.sharp.co.jp/netwalker/"&gt;NetWalker&lt;/a&gt; は、i.MX515 (ARM)プロセッサを搭載しており OS は、Ubuntu 9.04 のシャープ・カスタマイズ版です。&lt;br /&gt;&lt;br /&gt;Ubuntu/ARM の &lt;a href="http://ja.wikipedia.org/wiki/QEMU"&gt;QEMU&lt;/a&gt; 用イメージが入手できます&lt;sup&gt;[3]&lt;/sup&gt;ので、Fedora (x86_64) 上で試してみました。ウィンドウマネージャーは含まれていませんが、ARM 用パッケージの作成に利用できそうです。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_76ucAFyAIec/TUQyq9mx6AI/AAAAAAAABCg/Ycuc37CiC1A/s1600/ubuntu-arm.png" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="242" width="320" src="http://3.bp.blogspot.com/_76ucAFyAIec/TUQyq9mx6AI/AAAAAAAABCg/Ycuc37CiC1A/s320/ubuntu-arm.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;ところで、Fedora では、まだ ARM をサポートしていないのかと思っていましたが、ちゃんとありました&lt;sup&gt;[4]&lt;/sup&gt;。QEMU 用のイメージも入手可能&lt;sup&gt;[5]&lt;/sup&gt;なので、試してみたのですが、こちらはうまくいきませんでした。自分の環境で、QEMU の設定に不備があるのかもしれません。さらに ARM のクロスコンパイル用パッケージが入手できることもわかりました&lt;sup&gt;[6]&lt;/sup&gt;。近い将来、ARM 対応の Windows SDK が公開されれば、MinGW クロスコンパイル環境の ARM 版を比較的容易に準備できるかもしれません。楽しみです。&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;&lt;u&gt;参考サイト&lt;/u&gt;&lt;/h2&gt;[1] &lt;a href="http://journal.mycom.co.jp/news/2011/01/06/011/index.html"&gt;Microsoft、WindowsをSoCに拡大 - ARMシステムもサポート&lt;/a&gt;&lt;br /&gt;[2] &lt;a href="http://japanese.engadget.com/2011/01/26/nvidia-tegra-2-trim-slice/"&gt;NVIDIA Tegra 2 搭載の超小型デスクトップ Trim Slice&lt;/a&gt;&lt;br /&gt;[3] &lt;a href="https://wiki.ubuntu.com/ARM/RootfsFromScratch"&gt;ARM RootfsFromScratch&lt;/a&gt;&lt;br /&gt;[4] &lt;a href="http://fedoraproject.org/wiki/Architectures/ARM"&gt;Architectures/ARM - FedoraProject&lt;/a&gt;&lt;br /&gt;[5] &lt;a href="http://fedoraproject.org/wiki/Architectures/ARM/HowToQemu"&gt;Architectures/ARM/HowToQemu - FedoraProject&lt;/a&gt;&lt;br /&gt;[6] &lt;a href="http://fedoraproject.org/wiki/Architectures/ARM/CrossToolchain"&gt;Architectures/ARM/CrossToolchain - FedoraProject&lt;/a&gt;&lt;br /&gt;[7] &lt;a href="http://www.arm.com/community/software-enablement/linux.php?tab=Linux+OS+Downloads"&gt;Linux Support for the ARM Architecture&lt;/a&gt;&lt;br /&gt;&lt;iframe src="http://rcm-jp.amazon.co.jp/e/cm?lt1=_blank&amp;bc1=FFFFFF&amp;IS1=1&amp;bg1=FFFFFF&amp;fc1=000000&amp;lc1=0000FF&amp;t=bitwalk00-22&amp;o=9&amp;p=8&amp;l=as4&amp;m=amazon&amp;f=ifr&amp;asins=B004AX9QWG" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9176013-7811265842789404928?l=bitwalk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitwalk.blogspot.com/feeds/7811265842789404928/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9176013&amp;postID=7811265842789404928' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/7811265842789404928'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/7811265842789404928'/><link rel='alternate' type='text/html' href='http://bitwalk.blogspot.com/2011/01/arm.html' title='【備忘録】ARM の話題あれこれ'/><author><name>bitWalk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_76ucAFyAIec/TUSeexLqEbI/AAAAAAAABCo/0VOKaRjAOIo/s72-c/arm_logo.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9176013.post-4790345829557845861</id><published>2011-01-22T17:12:00.005+09:00</published><updated>2011-03-20T15:32:08.375+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Fedora'/><category scheme='http://www.blogger.com/atom/ns#' term='Tcl 関連'/><category scheme='http://www.blogger.com/atom/ns#' term='Rivet'/><title type='text'>Apache Rivet</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_76ucAFyAIec/TTp3erRD-DI/AAAAAAAABB4/PATAPM75RKk/s1600/Rivetlogo_s.png" imageanchor="1" style="clear:left; float:left;margin-right:1em; margin-bottom:1em"&gt;&lt;img border="0" height="51" width="80" src="http://2.bp.blogspot.com/_76ucAFyAIec/TTp3erRD-DI/AAAAAAAABB4/PATAPM75RKk/s200/Rivetlogo_s.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;big&gt;A&lt;/big&gt;pache Rivet は &lt;a href="http://ja.wikipedia.org/wiki/Apache"&gt;Apache HTTP Server&lt;/a&gt; のモジュールで、&lt;a href="http://ja.wikipedia.org/wiki/PHP:_Hypertext_Preprocessor"&gt;PHP&lt;/a&gt; のようにサーバ・サイドで動的な Web ページを作成できる Tcl システムです&lt;sup&gt;[1]&lt;/sup&gt;。Tcl を応用した他の Apache のモジュールには、&lt;a href="http://tcl.apache.org/mod_tcl/"&gt;mod_tcl&lt;/a&gt; と &lt;a href="http://tcl.apache.org/websh/"&gt;Websh&lt;/a&gt; がありますが、Rivet の最新パッケージのリリースが 25-Oct-2010 と一番新しく、もっとも活動が活発なように感じたので試用してみました。現バージョンの Rivet 2.0 系は Apache 1.3 と 2.x に対応しています。Tcl はバージョン 8.5 あるいは 8.4 を必要とします。 &lt;br /&gt;Linux の RPM パッケージを作成するのに必要な spec ファイルが下の参考サイト [1] の&lt;a href="http://tcl.apache.org/rivet/static/download.html"&gt;ダウンロードページ&lt;/a&gt;にあったので、最新の Rivet-2.0.2 に対応できるように編集して Fedora 14 用のパッケージを作成し、インストールしてみたところ、簡単にローカルの Web サーバの環境で動作確認ができました。&lt;br /&gt;&lt;br /&gt;[2] の Example のページで紹介されている、カレンダーを表示するサンプルを紹介します。&lt;br /&gt;&lt;pre style="clear:both;"&gt;&amp;lt;? set hello_message "Calendar" ?&amp;gt;&lt;br /&gt;&amp;lt;html&amp;gt;&lt;br /&gt;  &amp;lt;head&amp;gt;&lt;br /&gt;    &amp;lt;title&amp;gt;&amp;lt;? puts $hello_message ?&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;  &amp;lt;/head&amp;gt;&lt;br /&gt;  &amp;lt;body&amp;gt;&amp;lt;?&lt;br /&gt;package require Calendar&lt;br /&gt;&lt;br /&gt;proc ::cal_cell_attributes {day month year weekday} {&lt;br /&gt;    if {$weekday == 3} {&lt;br /&gt;        return [list class curr_wkday]&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;set htmlc [HtmlCalendar #auto]&lt;br /&gt;set html_txt [$htmlc emit \&lt;br /&gt;        -container {table class calendar} \&lt;br /&gt;        -current_weekday 3 \&lt;br /&gt;        -cell_function cal_cell_attributes]&lt;br /&gt;puts $html_txt&lt;br /&gt;?&amp;gt;&amp;lt;/body&amp;gt;&lt;br /&gt;&amp;lt;/html&amp;gt;&lt;br /&gt;&lt;/pre&gt;これを &lt;tt&gt;calendar.rvt&lt;/tt&gt; というように、拡張子 &lt;tt&gt;rvt&lt;/tt&gt; のついたファイル名で保存し、保存したファイルを Web サーバー (Apache) からブラウザで読み込むと以下のようになります。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_76ucAFyAIec/TTqGD9uCLKI/AAAAAAAABCY/oYe7mNNaTKo/s1600/rivet_example.png" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="246" width="320" src="http://2.bp.blogspot.com/_76ucAFyAIec/TTqGD9uCLKI/AAAAAAAABCY/oYe7mNNaTKo/s320/rivet_example.png" /&gt;&lt;/a&gt;&lt;/div&gt;最近、SourceForge.jp では、個人向け開発支援ツール「PersonalForge」がリリースされたので&lt;sup&gt;[2]&lt;/sup&gt;、早速、自分のアカウントで「Apache Rivet RPM」という作業部屋を作成し、作成した RPM パッケージを公開しました&lt;sup&gt;[3]&lt;/sup&gt;。&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;h3&gt;&lt;u&gt;参考サイト&lt;/u&gt;&lt;/h3&gt;[1] &lt;a href="http://tcl.apache.org/rivet/"&gt;Rivet - Webscripting for Tcl'ers&lt;/a&gt;&lt;br /&gt;[2] &lt;a href="http://sourceforge.jp/magazine/11/01/13/0234231"&gt;SourceForge.JP、個人向けGitリポジトリ/ストレージサービス「PersonalForge」をリリース&lt;/a&gt;&lt;br /&gt;[3] &lt;a href="http://sourceforge.jp/users/bitwalk/pf/Apache_Rivet_RPM/"&gt;作業部屋: bitwalk / Apache Rivet RPM のファイルダウンロード&lt;/a&gt;&lt;br /&gt;[4] &lt;a href="http://www.amazon.co.jp/gp/redirect.html?ie=UTF8&amp;location=http%3A%2F%2Fwww.amazon.co.jp%2Fs%3Fie%3DUTF8%26x%3D16%26ref_%3Dnb_sb_noss%26y%3D26%26field-keywords%3Dapache%26url%3Dsearch-alias%253Dstripbooks&amp;tag=bitwalk00-22&amp;linkCode=ur2&amp;camp=247&amp;creative=7399"&gt;Apache 関連書籍&lt;/a&gt;&lt;img src="https://www.assoc-amazon.jp/e/ir??t=bitwalk00-22&amp;l=ur2&amp;o=9" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /&gt;&lt;br /&gt;&lt;iframe src="http://rcm-jp.amazon.co.jp/e/cm?lt1=_blank&amp;bc1=FFFFFF&amp;IS1=1&amp;bg1=FFFFFF&amp;fc1=000000&amp;lc1=0000FF&amp;t=bitwalk00-22&amp;o=9&amp;p=8&amp;l=as1&amp;m=amazon&amp;f=ifr&amp;md=1X69VDGQCMF7Z30FM082&amp;asins=4873113814" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9176013-4790345829557845861?l=bitwalk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitwalk.blogspot.com/feeds/4790345829557845861/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9176013&amp;postID=4790345829557845861' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/4790345829557845861'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/4790345829557845861'/><link rel='alternate' type='text/html' href='http://bitwalk.blogspot.com/2011/01/apache-rivet.html' title='Apache Rivet'/><author><name>bitWalk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_76ucAFyAIec/TTp3erRD-DI/AAAAAAAABB4/PATAPM75RKk/s72-c/Rivetlogo_s.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9176013.post-7958246685009816697</id><published>2011-01-09T11:01:00.020+09:00</published><updated>2011-01-22T17:50:10.495+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Ubuntu にトライ！</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_76ucAFyAIec/TSkH28G1svI/AAAAAAAABBo/lrU4QAjf4mE/s1600/icon-ubuntu.png" imageanchor="1" style="clear:left; float:left;margin-right:1em; margin-bottom:1em"&gt;&lt;img border="0" height="40" width="40" src="http://4.bp.blogspot.com/_76ucAFyAIec/TSkH28G1svI/AAAAAAAABBo/lrU4QAjf4mE/s200/icon-ubuntu.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;big&gt;開&lt;/big&gt;発用途には使用していない、32bit の古いノート PC (ThinkPad X31) に、&lt;a href="http://www.ubuntulinux.jp/"&gt;Ubuntu&lt;/a&gt; をインストールしてみました。そもそものキッカケは、このところ &lt;tt&gt;fedora-release&lt;/tt&gt; パッケージだけを新しくして &lt;tt&gt;yum&lt;/tt&gt; コマンドで Fedora のバージョンアップを済ませてしまっていたので、Fedora 14 のクリーンインストールをし直したところ、AVI 形式などのビデオが &lt;a href="http://ja.wikipedia.org/wiki/Totem"&gt;&lt;tt&gt;totem&lt;/tt&gt;&lt;/a&gt; で見れなくなってしまったからです。&lt;a href="http://rpmfusion.org/"&gt;RPM Fusion&lt;/a&gt; のレポジトリを加えても解決できなかったので、このノート PC だけ Ubuntu に乗り換えてみました。&lt;br /&gt;&lt;br /&gt;Ubuntu は使いやすさを重視しており、Debian や Fedora ほど厳格にはプロプライエタリなソフトウェアやクローズドソースな機能を排除していません。したがって、ビデオにおけるポピュラーかつプロプライエタリな形式のデコードも当然できるだろうと考えたからです。&lt;br /&gt;&lt;br /&gt;Debian 系の Linux を使うのは、15 年以上 Linux を使い続けている中で初めての経験です。&lt;br /&gt;&lt;br /&gt;まず Ubuntu 10.10 のデスクトップ版のインストールイメージ &lt;tt&gt;ubuntu-ja-10.10-desktop-i386.iso&lt;/tt&gt; をダウンロードして、（ダメもとで）Fedora 上で &lt;tt&gt;dd&lt;/tt&gt; コマンドで USB メモリに書き込んではみました。が、やはりこれだけでは USB メモリで起動できません。そこで、やむなく手許にあった音楽用のブランクの CD-R に &lt;tt&gt;dvdrecord&lt;/tt&gt; コマンドで iso イメージを焼いてインストール CD を作成し、もうほとんど使っていない古い外付け CD ドライブを接続してインストールをしました。なんとか成功です。&lt;br /&gt;&lt;br /&gt;インストール時にルートのパスワードを設定する箇所がなかったので、なんだか不安でしたが、&lt;a href="http://ja.wikipedia.org/wiki/Sudo"&gt;&lt;tt&gt;sudo&lt;/tt&gt;&lt;/a&gt; を使うことを後で知り、作法の違いを感じました（Fedora で &lt;a href="http://ja.wikipedia.org/wiki/Su_(Unix)"&gt;&lt;tt&gt;su&lt;/tt&gt;&lt;/a&gt; を使っている自分は、単にやり方が古いだけなのかもしれません）。&lt;br /&gt;&lt;br /&gt;Fedora でもずいぶんインストールが簡単になってきたと感じていましたが、Ubuntu はさらにシンプルです。これであれば、Linux 初心者にも勧められそうです、コミュニティの活動の成果、特に Ubuntu Japanese Team の努力に感謝です。ビデオも問題なく &lt;tt&gt;totem&lt;/tt&gt; で見れて満足です。Fedora の時と同じ Gnome のデスクトップなので、寒色系か暖色系かの差はあっても、操作性に大きな違いは感じません。しかし内部の deb パッケージの構成は rpm とは違うはずなので、これからゆっくり覚えていこうを思います。&lt;br /&gt;&lt;br /&gt;なお 64bit の開発環境は、当面 Fedora のままでいこうと考えています。こっちはビデオが見れなくとも全然問題無いからです。&lt;br /&gt;&lt;iframe src="http://rcm-jp.amazon.co.jp/e/cm?lt1=_blank&amp;bc1=FFFFFF&amp;IS1=1&amp;bg1=FFFFFF&amp;fc1=000000&amp;lc1=0000FF&amp;t=bitwalk00-22&amp;o=9&amp;p=8&amp;l=as1&amp;m=amazon&amp;f=ifr&amp;md=1X69VDGQCMF7Z30FM082&amp;asins=4861906512" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9176013-7958246685009816697?l=bitwalk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.ubuntulinux.jp/' title='Ubuntu にトライ！'/><link rel='replies' type='application/atom+xml' href='http://bitwalk.blogspot.com/feeds/7958246685009816697/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9176013&amp;postID=7958246685009816697' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/7958246685009816697'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/7958246685009816697'/><link rel='alternate' type='text/html' href='http://bitwalk.blogspot.com/2011/01/ubuntu.html' title='Ubuntu にトライ！'/><author><name>bitWalk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_76ucAFyAIec/TSkH28G1svI/AAAAAAAABBo/lrU4QAjf4mE/s72-c/icon-ubuntu.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9176013.post-940955345895955789</id><published>2011-01-04T13:05:00.010+09:00</published><updated>2011-01-10T07:32:54.648+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MinGW クロスコンパイラ'/><category scheme='http://www.blogger.com/atom/ns#' term='Fedora'/><title type='text'>The Cross Compiler Framework (Win32+Win64)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s1600-h/fedora.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 43px; height: 44px;" src="http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s200/fedora.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5280249589920714050" /&gt;&lt;/a&gt;&lt;big&gt;F&lt;/big&gt;edora 15 から変更される予定の話題です。&lt;br /&gt;&lt;br /&gt;&lt;tt&gt;mingw-w64&lt;/tt&gt; ツールチェインは win32 と win64 のターゲット両方をサポートしており、また本家 &lt;a href="http://mingw.org/"&gt;mingw.org&lt;/a&gt; よりも活発であることから、Fedora で採用されるクロスコンパイル環境は &lt;a href="http://mingw-w64.sourceforge.net/"&gt;mingw-w64&lt;/a&gt; プロジェクトベースのパッケージに統一されます。したがってパッケージ名のトリプレット &lt;tt&gt;'i686-pc-mingw32'&lt;/tt&gt; は、&lt;tt&gt;'i686-w64-mingw32'&lt;/tt&gt; へ揃えられます。&lt;br /&gt;&lt;br /&gt;さらに、次のステップとして &lt;tt&gt;'mingw32-...'&lt;/tt&gt; から &lt;tt&gt;'cross-...'&lt;/tt&gt; へパッケージ名が変更されるようです。&lt;br /&gt;&lt;br /&gt;ちなみに、Fedora 15 のリリース予定は、現在のところ 2001 年 5 月 10 日です。【&lt;a href="http://fedoraproject.org/wiki/Schedule"&gt;スケジュール&lt;/a&gt;】&lt;br /&gt;&lt;br /&gt;&lt;pre style="clear:both;"&gt;&lt;font color="black"&gt;Subject: Announcing the Cross Compiler Framework (Win32+Win64)&lt;/font&gt;&lt;br /&gt;From: Erik van Pienbroek &amp;lt;erik at vanpienbroek.nl&amp;gt;&lt;br /&gt;To: mingw at lists.fedoraproject.org&lt;br /&gt;Date: Mon, 03 Jan 2011 23:30:34 +0100&lt;br /&gt;X-Mailer: Evolution 2.91.4 (2.91.4-1.fc15) &lt;br /&gt;Reply-To: "Fedora MinGW (Windows cross-compiler) project"&lt;br /&gt;&amp;lt;mingw at lists.fedoraproject.org&amp;gt;&lt;br /&gt;Sender: mingw-bounces at lists.fedoraproject.org&lt;br /&gt;&lt;br /&gt;Hi everybody,&lt;br /&gt;&lt;br /&gt;In the last few weeks I worked on creating a method to easily build and&lt;br /&gt;maintain RPM packages for both Win32 as well as Win64 targets. Adding&lt;br /&gt;support for the Mac OS X target should also be easily possible. This has&lt;br /&gt;resulted in a set of RPM packages which I would like to call the Cross&lt;br /&gt;Compiler Framework.&lt;br /&gt;&lt;br /&gt;This set of RPM packages brings various changes to the Fedora MinGW&lt;br /&gt;world. &lt;font color="black"&gt;The most important one is that the mingw-w64 toolchain is now&lt;br /&gt;used instead of the mingw.org toolchain.&lt;/font&gt; The reason behind this change&lt;br /&gt;is that the mingw-w64 toolchain provides support for both win32 and&lt;br /&gt;win64 targets and is more actively maintained than the mingw.org one.&lt;br /&gt;&lt;br /&gt;So what does this mean for all users and packagers of the current&lt;br /&gt;mingw32 packages which are already in Fedora? &lt;font color="black"&gt;First of all, the name of&lt;br /&gt;the triplet has changed from 'i686-pc-mingw32' to 'i686-w64-mingw32'.&lt;/font&gt;&lt;br /&gt;This means that commands like for example gcc are now named&lt;br /&gt;'i686-w64-mingw32-gcc'. All mingw32 files are now also saved in the&lt;br /&gt;folder /usr/i686-w64-mingw32 instead of /usr/i686-pc-mingw32. Helper&lt;br /&gt;scripts like 'mingw32-configure' also still work and refer to the new&lt;br /&gt;set of commands and paths.&lt;br /&gt;&lt;br /&gt;&lt;font color="black"&gt;Next to this, various packages have been renamed from 'mingw32-...' to&lt;br /&gt;'cross-...'.&lt;/font&gt; This is used to indicate that the package in question&lt;br /&gt;contain binaries for multiple targets. If a package has been renamed&lt;br /&gt;from 'mingw32-...' to 'cross-...' then the original 'mingw32-...'&lt;br /&gt;package will be obsoleted by the 'cross-...' one.&lt;br /&gt;&lt;br /&gt;All current mingw32 packages should build just fine against this new&lt;br /&gt;framework (or with minor patching)&lt;br /&gt;&lt;br /&gt;There are two repositories published at the moment containing the&lt;br /&gt;packages belonging to the cross compiler framework. One contains&lt;br /&gt;binaries for both win32 and win64 targets while the other one also&lt;br /&gt;contains binaries for Mac OS X. The Mac OS X pieces can't be added to&lt;br /&gt;Fedora at the moment because of legal issues and the fact that some&lt;br /&gt;binary blobs (from the Mac OS X SDK) were used.&lt;br /&gt;&lt;br /&gt;All current mingw32 packages which have been in Fedora as of December 30&lt;br /&gt;2010 have been added to the testing repositories. About 32 packages have&lt;br /&gt;been ported entirely to the new cross compiler framework.&lt;br /&gt;&lt;br /&gt;More details about this cross compiler framework including information&lt;br /&gt;about the testing repositories and a porting guide can be found at&lt;br /&gt;&lt;a href="http://fedoraproject.org/wiki/MinGW/CrossCompilerFramework"&gt;http://fedoraproject.org/wiki/MinGW/CrossCompilerFramework&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="black"&gt;My plan is to get all the packages belonging to the cross compiler&lt;br /&gt;framework in Fedora 15, rebuild all current mingw32 packages and&lt;br /&gt;rename/port various packages in order to have win32/win64 support.&lt;/font&gt; On&lt;br /&gt;the link mentioned above there's a plan indicating the steps required to&lt;br /&gt;get everything in Fedora. I'll open review requests for the 5 base&lt;br /&gt;packages soon and I hope that somebody can review them quickly so we can&lt;br /&gt;still make it in time for the Fedora 15 feature freeze (which is about 5&lt;br /&gt;weeks from now).&lt;br /&gt;&lt;br /&gt;Feel free to test the testing repositories and report back any issues&lt;br /&gt;you might find. Other feedback about the cross compiler framework is&lt;br /&gt;welcome too. Help with the reviews is very much appreciated as well!&lt;br /&gt;&lt;br /&gt;Kind regards,&lt;br /&gt;&lt;br /&gt;Erik van Pienbroek&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;_______________________________________________&lt;br /&gt;mingw mailing list&lt;br /&gt;mingw at lists.fedoraproject.org&lt;br /&gt;&lt;a href="https://admin.fedoraproject.org/mailman/listinfo/mingw"&gt;https://admin.fedoraproject.org/mailman/listinfo/mingw&lt;/a&gt;&lt;br /&gt;&lt;/pre&gt;&lt;iframe src="http://rcm-jp.amazon.co.jp/e/cm?lt1=_blank&amp;bc1=FFFFFF&amp;IS1=1&amp;bg1=FFFFFF&amp;fc1=000000&amp;lc1=0000FF&amp;t=bitwalk00-22&amp;o=9&amp;p=8&amp;l=as1&amp;m=amazon&amp;f=ifr&amp;md=1X69VDGQCMF7Z30FM082&amp;asins=B004CS4C1E" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9176013-940955345895955789?l=bitwalk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://fedoraproject.org/wiki/MinGW/CrossCompilerFramework' title='The Cross Compiler Framework (Win32+Win64)'/><link rel='replies' type='application/atom+xml' href='http://bitwalk.blogspot.com/feeds/940955345895955789/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9176013&amp;postID=940955345895955789' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/940955345895955789'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/940955345895955789'/><link rel='alternate' type='text/html' href='http://bitwalk.blogspot.com/2011/01/cross-compiler-framework-win32win64.html' title='The Cross Compiler Framework (Win32+Win64)'/><author><name>bitWalk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s72-c/fedora.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9176013.post-8861844373709510543</id><published>2011-01-02T19:02:00.003+09:00</published><updated>2011-01-09T19:34:19.183+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>Linux 用プリンタドライバ（２）</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_76ucAFyAIec/TSmO_m4cVcI/AAAAAAAABBw/Lh-4jZTmJS0/s1600/printer.png" imageanchor="1" style="clear:left; float:left;margin-right:1em; margin-bottom:1em"&gt;&lt;img border="0" height="32" width="32" src="http://2.bp.blogspot.com/_76ucAFyAIec/TSmO_m4cVcI/AAAAAAAABBw/Lh-4jZTmJS0/s200/printer.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;big&gt;二&lt;/big&gt;年ほど前に調べた情報があるのですが、調べ直しました。&lt;a href="http://kakaku.com/"&gt;価格.com&lt;/a&gt; のサイトで、「プリンタ 製品一覧 売れ筋ランキングの高い順」で表示されるトップ 100 ぐらのプリンタから、メーカーをピックアップして、Linux 用のプリンタドライバが公開されているかどうか調べました。全部の機種を確認していませんが、最近の売れ筋プリンタのドライバもカバーされているようです。&lt;br /&gt;&lt;br /&gt;[1] &lt;a href="http://avasys.jp/product/linux_driver/lsb/epson-inkjet/escp/"&gt;Epson Inkjet Printer Driver (ESC/P) for Linux | アヴァシス株式会社&lt;/a&gt;&lt;br /&gt;[2] &lt;a href="http://cweb.canon.jp/drv-upd/bj/other.html"&gt;キヤノン：サポート｜ソフトウエアダウンロード&lt;/a&gt;&lt;br /&gt;[3] &lt;a href="http://solutions.brother.co.jp/support/os/linux/lpr_printer/driver.html"&gt;Linux プリンタードライバーのダウンロード｜サポート｜ブラザー&lt;/a&gt;&lt;br /&gt;[4] &lt;a href="http://support.ricoh.com/bbv2/html/dr_ut_d/new/user/w/bb/pub_j/dr_ut_d/4101013/4101013911/V105/5149776/Ricoh-Basic-PS-PPDv1.05.tar/user.htm"&gt;RICOH Pro/IPSiO SP/imagio MP用 Linux CUPS用 PPDファイル / 製品情報 | リコー&lt;/a&gt;&lt;br /&gt;[5] &lt;a href="http://www.nec.co.jp/products/laser/support/os/linux/"&gt;Linux対応について: OS対応状況: サポート: レーザプリンタ: プリンタ: 周辺機器: 製品 | NEC&lt;/a&gt;&lt;br /&gt;[6] &lt;a href="http://www.openprinting.org/printers/manufacturer/HP"&gt;Printers by Manufacturer | OpenPrinting - The Linux Foundation&lt;/a&gt; (HP)&lt;br /&gt;&lt;iframe src="http://rcm-jp.amazon.co.jp/e/cm?lt1=_blank&amp;bc1=FFFFFF&amp;IS1=1&amp;bg1=FFFFFF&amp;fc1=000000&amp;lc1=0000FF&amp;t=bitwalk00-22&amp;o=9&amp;p=8&amp;l=as1&amp;m=amazon&amp;f=ifr&amp;md=1X69VDGQCMF7Z30FM082&amp;asins=0672321963" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9176013-8861844373709510543?l=bitwalk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitwalk.blogspot.com/feeds/8861844373709510543/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9176013&amp;postID=8861844373709510543' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/8861844373709510543'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/8861844373709510543'/><link rel='alternate' type='text/html' href='http://bitwalk.blogspot.com/2011/01/linux.html' title='Linux 用プリンタドライバ（２）'/><author><name>bitWalk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_76ucAFyAIec/TSmO_m4cVcI/AAAAAAAABBw/Lh-4jZTmJS0/s72-c/printer.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9176013.post-8555568001703108239</id><published>2010-12-31T00:17:00.000+09:00</published><updated>2010-12-31T00:17:43.495+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tcl 関連'/><title type='text'>Tcl and the Tk Toolkit (2nd Edition)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_76ucAFyAIec/R0tu8qqzG5I/AAAAAAAAABk/MPZg3XxPtPY/s1600-h/logo64.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://bp2.blogger.com/_76ucAFyAIec/R0tu8qqzG5I/AAAAAAAAABk/MPZg3XxPtPY/s200/logo64.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5137321788471188370" /&gt;&lt;/a&gt;&lt;big&gt;以&lt;/big&gt;前から購入しようと思っていたままだった書籍ですが、遅ればせながらやっと購入しました。この第二版は、John Ousterhout 氏と &lt;a href="http://wiki.tcl.tk/1709"&gt;Ken Jones&lt;/a&gt; 氏の共著になっています。が、しかし preface（序文）は Ken Jones 氏が書いているので、実質的には彼が執筆した本のような雰囲気です。&lt;br /&gt;&lt;br /&gt;普通の Tcl/Tk 8.5 の入門書といった内容で丁寧に解説されており、Tcl、Tk の入門的内容から、Tcl_Obj (C API) や TEA に基づいた拡張パッケージの作成までカバーされています。700 頁を越える量ですが、わかりやすくまとめられている良書だと思います。製本はペーパーバック（並製本）で、背に頁を糊付けしただけのものです。そのため、永く使い込めば、背が折れて頁が剥がれることになり、もう一冊購入なんてことになりそうです。&lt;br /&gt;&lt;br /&gt;&lt;iframe src="http://rcm-jp.amazon.co.jp/e/cm?lt1=_blank&amp;bc1=FFFFFF&amp;IS1=1&amp;bg1=FFFFFF&amp;fc1=000000&amp;lc1=0000FF&amp;t=bitwalk00-22&amp;o=9&amp;p=8&amp;l=as1&amp;m=amazon&amp;f=ifr&amp;md=1X69VDGQCMF7Z30FM082&amp;asins=032133633X" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9176013-8555568001703108239?l=bitwalk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitwalk.blogspot.com/feeds/8555568001703108239/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9176013&amp;postID=8555568001703108239' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/8555568001703108239'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/8555568001703108239'/><link rel='alternate' type='text/html' href='http://bitwalk.blogspot.com/2010/12/tcl-and-tk-toolkit-2nd-edition.html' title='Tcl and the Tk Toolkit (2nd Edition)'/><author><name>bitWalk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_76ucAFyAIec/R0tu8qqzG5I/AAAAAAAAABk/MPZg3XxPtPY/s72-c/logo64.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9176013.post-2042540512144785778</id><published>2010-12-29T11:56:00.011+09:00</published><updated>2010-12-30T10:13:33.695+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='その他'/><title type='text'>「マイクロソフト戦記」を読んで</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_76ucAFyAIec/TRqiflgeCuI/AAAAAAAABBM/_eqnVhxLc94/s1600/4106102986.png" imageanchor="1" style="clear:left; float:left;margin-right:1em; margin-bottom:1em"&gt;&lt;img border="0" height="150" width="94" src="http://1.bp.blogspot.com/_76ucAFyAIec/TRqiflgeCuI/AAAAAAAABBM/_eqnVhxLc94/s200/4106102986.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;big&gt;本&lt;/big&gt;書は、1980 年代前半から 1990 年代前半、&lt;a href="http://ja.wikipedia.org/wiki/MSX"&gt;MSX&lt;/a&gt; の標準化から、Windows が業界スタンダードになるまでの筆者トム佐藤氏の体験と、どのように Windows が業界スタンダードになり得たかを描いたノンフィクションかつビジネス戦略を解説した書です。&lt;br /&gt;&lt;br /&gt;久しぶりに小説以外でワクワクする書物に出会い、一気に読んでしまいました。本書では、&lt;a href="http://ja.wikipedia.org/wiki/%E3%83%99%E3%83%B3%E3%82%B5%E3%83%A0"&gt;ベンサム&lt;/a&gt;が唱えた「最大多数の最大幸福」が、デファクトスタンダードを作り出すことを可能にするキーワードになっています。Windows は他より性能面で抜きん出ていたからではなくて、「最大多数の最大幸福」を実現できたからこそデファクトスタンダードになり得たのです。ビジネスプレゼンテーションによくある美辞麗句ではなく、失敗と悪戦苦闘を重ねる紆余曲折の中で、幸運に恵まれ、市場をつかみ、なんとかテクノロジーの波に乗ることができるまでの様子が実にリアルに伝わってきました。&lt;br /&gt;&lt;br /&gt;本書が述べている時代は、自分にとっては、NEC PC98 の MS-DOS 上で Lotus 123 や一太郎を使っていた頃から Macintosh へ仕事のツールが移り変わった時代でした。当時は、MSX や Windows にまるで注目していなかったので、知らなかった時代のアツい側面を知ることができて、なんだか得をした気分になりました。そういえば学生の時、研究室の NEC PC98 上で利用可能であった Windows 1.0 を見て、とても使いものになるとは思えなかったのを憶えています。&lt;br /&gt;&lt;br /&gt;仕事において Windows が搭載された PC を利用し始めたのは、当時勤めていた会社の本社 R&amp;D がある米国へ出向した 1994 年の時、Windows for Workgroups 3.11 からです。翌年、Windows 95 が大々的に発売され、その後の展開は周知のとおりです。当時は、Fry's などのコンピューターショップで OS/2 Warp や Windows NT もたくさん店頭に並んでおり、OS の選択肢の多さにクラクラしたものです。デファクトスタンダードが確立されることによって、そういた選択肢が次々と市場から駆逐されてしまうのは、悲しいことですがビジネスの常なのでしょう。&lt;br /&gt;&lt;br /&gt;愛用する Linux は、最大幸福の追求はしていないと思うので、デファクトスタンダードとは縁がないのかもしれません。しかし、好きだから、必要だから、というユーザが存在する限り、オープンソースの OS は存在しつづけるような気がします。そう考えると、今までデファクトスタンダードにはなりませんでしたが、今なお健闘している Mac OS X は、不思議な存在です。&lt;a href="http://ja.wikipedia.org/wiki/IOS_(%E3%82%A2%E3%83%83%E3%83%97%E3%83%AB)"&gt;iOS&lt;/a&gt; もそうですが、ソフトウェアとハードウェアをセットにして販売するところがミソなのかもしれません。&lt;br /&gt;&lt;br /&gt;本書を読んで、つくづく思ったことは、ビジネスの最前線の仕事とはなんとも過酷だということでした。&lt;br /&gt;&lt;br /&gt;[1] &lt;a href="http://www.amazon.co.jp/gp/product/4106102986?ie=UTF8&amp;tag=bitwalk00-22&amp;linkCode=as2&amp;camp=247&amp;creative=1211&amp;creativeASIN=4106102986"&gt;マイクロソフト戦記―世界標準の作られ方（新潮新書）&lt;/a&gt;&lt;img src="http://www.assoc-amazon.jp/e/ir?t=bitwalk00-22&amp;l=as2&amp;o=9&amp;a=4106102986" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /&gt;&lt;br /&gt;&lt;iframe src="http://rcm-jp.amazon.co.jp/e/cm?lt1=_blank&amp;bc1=FFFFFF&amp;IS1=1&amp;bg1=FFFFFF&amp;fc1=000000&amp;lc1=0000FF&amp;t=bitwalk00-22&amp;o=9&amp;p=8&amp;l=as1&amp;m=amazon&amp;f=ifr&amp;asins=4106102986" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9176013-2042540512144785778?l=bitwalk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitwalk.blogspot.com/feeds/2042540512144785778/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9176013&amp;postID=2042540512144785778' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/2042540512144785778'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/2042540512144785778'/><link rel='alternate' type='text/html' href='http://bitwalk.blogspot.com/2010/12/blog-post.html' title='「マイクロソフト戦記」を読んで'/><author><name>bitWalk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_76ucAFyAIec/TRqiflgeCuI/AAAAAAAABBM/_eqnVhxLc94/s72-c/4106102986.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9176013.post-758197926513939624</id><published>2010-12-04T21:50:00.016+09:00</published><updated>2010-12-29T12:13:16.393+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='コンパイラ'/><title type='text'>LLVM に関する話題 2010</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_76ucAFyAIec/S8mr8B-x8TI/AAAAAAAAA7A/COQcoNo34NA/s1600/DragonXSmall.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 68px; height: 68px;" src="http://1.bp.blogspot.com/_76ucAFyAIec/S8mr8B-x8TI/AAAAAAAAA7A/COQcoNo34NA/s200/DragonXSmall.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5461085070975693106" /&gt;&lt;/a&gt;&lt;a href="http://llvm.org/"&gt;&lt;big&gt;L&lt;/big&gt;LVM&lt;/a&gt; のホットな情報にタイムリーには喰いつけず、ぼんやりしていた自分に悔しかったので、ここで今年一年分の情報をまとめてみたいと思います。&lt;br /&gt;&lt;pre style="clear:both;"&gt;&lt;/pre&gt;[01] 2010/02/09 &lt;a href="http://journal.mycom.co.jp/news/2010/02/09/030/index.html"&gt;あるコンパイラが重要なマイルストーンに到達&lt;/a&gt;&lt;br /&gt;[02] 2010/04/19 &lt;a href="http://gihyo.jp/admin/clip/01/fdt/201004/19"&gt;FreeBSD Daily Topics：2010年4月19日　FreeBSD GCCを置き換えるLLVM Clang，広くテスト呼びかけ&lt;/a&gt;&lt;br /&gt;[03] 2010/04/28 &lt;a href="http://journal.mycom.co.jp/news/2010/04/28/049/index.html"&gt;LLVM 2.7登場、飛竜を公式ロゴに採用&lt;/a&gt;&lt;br /&gt;[04] 2010/04/29 &lt;a href="http://journal.mycom.co.jp/news/2010/04/29/025/index.html"&gt;LLVMプロジェクト、対応プラットフォームを強化した「LLVM 2.7」&lt;/a&gt;&lt;br /&gt;[05] 2010/05/17 &lt;a href="http://sourceforge.jp/magazine/10/05/17/1023200"&gt;JITコンパイラにLLVMを使用するRuby互換実装「Rubinius 1.0」が登場 &lt;/a&gt;&lt;br /&gt;[06] 2010/05/18 &lt;a href="http://journal.mycom.co.jp/news/2010/05/18/045/index.html"&gt;LLVM、GCC libstdc++をBSDライセンスのlibc++へ置き換え&lt;/a&gt;&lt;br /&gt;[07] 2010/05/18 &lt;a href="http://journal.mycom.co.jp/news/2010/05/18/042/index.html"&gt;LLVM 2.7、Haskell対応のストーリー&lt;/a&gt;&lt;br /&gt;[08] 2010/05/25 &lt;a href="http://journal.mycom.co.jp/articles/2010/05/25/bsdcan01/index.html"&gt;【レポート】FreeBSD GCCアップデート停止、LLVM Clangへ移行 - BSDCan 2010&lt;/a&gt;&lt;br /&gt;[09] 2010/06/10 &lt;a href="http://gihyo.jp/admin/clip/01/fdt/201006/10"&gt;FreeBSD Daily Topics：2010年6月10日　LLVM Clang，FreeBSD 9-CURRENTへ統合&lt;/a&gt;&lt;br /&gt;[10] 2010/06/11 &lt;a href="http://sourceforge.jp/magazine/10/06/11/0232254"&gt;LLVM Project、次世代デバッガ「LLDB」を開発へ&lt;/a&gt;&lt;br /&gt;[11] 2010/10/08 &lt;a href="http://journal.mycom.co.jp/news/2010/10/08/062/index.html"&gt;LLVM 2.8登場、C++大幅強化&lt;/a&gt;&lt;br /&gt;[12] 2010/10/28 &lt;a href="http://journal.mycom.co.jp/news/2010/10/28/005/index.html"&gt;LLVM Clang、Linuxカーネルビルドに成功&lt;/a&gt;&lt;br /&gt;[13] 2010/11/19 &lt;a href="http://gihyo.jp/admin/clip/01/fdt/201011/19"&gt;FreeBSD Daily Topics：2010年11月19日　LLVM Clang 2.8，9-CURRENTにマージ&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;ところで、Tcl と LLVM を結びつけるようなプロジェクトがないか探して見たところ、llvmtcl という、いわゆる拡張パッケージを開発するプロジェクトがありました。llvmtcl を評価ができたらレポートしたいと思います。&lt;br /&gt;&lt;br /&gt;[14] &lt;a href="https://github.com/jdc8/llvmtcl"&gt;jdc8/llvmtcl - GitHub&lt;/a&gt;&lt;br /&gt;&lt;iframe src="http://rcm-jp.amazon.co.jp/e/cm?lt1=_blank&amp;bc1=FFFFFF&amp;IS1=1&amp;bg1=FFFFFF&amp;fc1=000000&amp;lc1=0000FF&amp;t=bitwalk00-22&amp;o=9&amp;p=8&amp;l=as1&amp;m=amazon&amp;f=ifr&amp;md=1X69VDGQCMF7Z30FM082&amp;asins=1155681894" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9176013-758197926513939624?l=bitwalk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitwalk.blogspot.com/feeds/758197926513939624/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9176013&amp;postID=758197926513939624' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/758197926513939624'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/758197926513939624'/><link rel='alternate' type='text/html' href='http://bitwalk.blogspot.com/2010/12/llvm-2010.html' title='LLVM に関する話題 2010'/><author><name>bitWalk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_76ucAFyAIec/S8mr8B-x8TI/AAAAAAAAA7A/COQcoNo34NA/s72-c/DragonXSmall.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9176013.post-8779557301540732155</id><published>2010-11-14T16:24:00.003+09:00</published><updated>2010-12-29T12:00:26.409+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='仮想化'/><category scheme='http://www.blogger.com/atom/ns#' term='ReactOS'/><title type='text'>ReactOS 0.3.12 を試す</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_76ucAFyAIec/SoYa0U6YnLI/AAAAAAAAAqQ/0ySFeBAXlHQ/s1600-h/ros_logo_08s.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 100px; height: 51px;" src="http://2.bp.blogspot.com/_76ucAFyAIec/SoYa0U6YnLI/AAAAAAAAAqQ/0ySFeBAXlHQ/s200/ros_logo_08s.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5370009091955006642" /&gt;&lt;/a&gt;&lt;big&gt;1&lt;/big&gt;0 月 20 日付で ReactOS 0.3.12 がリリースされていましたので、VMware 用のイメージをダウンロードして、&lt;a href="http://www.vmware.com/jp/products/player/"&gt;VMware Player&lt;/a&gt; で起動してみました。&lt;a href="http://www.reactos.org/ja/news_page_61.html"&gt;News #61 - ReactOS ウェブサイト&lt;/a&gt;によると、今回のリリースでは当初、トラップ・ハンドラー機構の部分の改良に絞っていたが、結局のこの部分を全て書き直しをすることになり、前回のリリース（2009 年 12 月 16 日）から間が開いてしまったようです。&lt;br /&gt;&lt;br /&gt;前回のリリースと比べて、明らかに Application Manager が使いやすくなっていると思います。ただ、アプリケーションの選択肢は増えたものの、全てが現行の ReactOS で動作するわけではなさそうです。&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;img src="http://lh5.ggpht.com/_76ucAFyAIec/TN-EkMClV6I/AAAAAAAABAM/xrMoGuiQTMQ/ReactOS-0.3.12-03s.png"&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;今後、ポピュラーな Windows アプリケーションが動作するようになれば、Windows を使う理由は（少なくとも自宅では）全く無くなりそうです。ReactOS がもっと安定し、主要なアプリケーションを動かせるようになったら、廉価な PC を買ってテスト機として使ってみたいものです。&lt;br /&gt;&lt;br /&gt;なお、今回は Flash Player をインストールしたかったのですが、Firefox、Opera 共に Flash Player をインストールできませんでした。LibreOffice もインストール可能だったので試してみましたがインストール後起動せず。なぜだろう？？&lt;br /&gt;&lt;br /&gt;[1] &lt;a href="http://www.reactos.org/ja/index.html"&gt;Frontpage - ReactOS ウェブサイト&lt;/a&gt;&lt;br /&gt;&lt;iframe src="http://rcm-jp.amazon.co.jp/e/cm?lt1=_blank&amp;bc1=FFFFFF&amp;IS1=1&amp;bg1=FFFFFF&amp;fc1=000000&amp;lc1=0000FF&amp;t=bitwalk00-22&amp;o=9&amp;p=8&amp;l=as1&amp;m=amazon&amp;f=ifr&amp;md=1X69VDGQCMF7Z30FM082&amp;asins=1156674352" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9176013-8779557301540732155?l=bitwalk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitwalk.blogspot.com/feeds/8779557301540732155/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9176013&amp;postID=8779557301540732155' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/8779557301540732155'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/8779557301540732155'/><link rel='alternate' type='text/html' href='http://bitwalk.blogspot.com/2010/11/reactos-0312.html' title='ReactOS 0.3.12 を試す'/><author><name>bitWalk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_76ucAFyAIec/SoYa0U6YnLI/AAAAAAAAAqQ/0ySFeBAXlHQ/s72-c/ros_logo_08s.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9176013.post-2059813231223225052</id><published>2010-11-12T21:50:00.055+09:00</published><updated>2010-12-29T12:03:05.918+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='備忘録'/><title type='text'>【備忘録】LibreOffice</title><content type='html'>&lt;big&gt;旧&lt;/big&gt;聞に属する話題ですが、備忘録としてです。&lt;br /&gt;&lt;br /&gt;オープンソースのオフィススイート OpenOffice.org の開発コミュニティーは 9月28日、Oracle から独立し「&lt;a href="http://www.documentfoundation.org/"&gt;The Document Foundation&lt;/a&gt;」を設立すると発表しました&lt;sup&gt;[1]&lt;/sup&gt;。設立の理由は「OpenOffice.org の設立趣意書に書かれている独立性を守るため」ということです。今後はスイート名を「LibreOffice」として開発を進めていくそうです。当サイトからは、LibreOffice がダウンロード出来ます。Linux 用には、本日の時点では英語版だけでしたが、RPM パッケージを tar.gz 形式にまとめて圧縮されたファイルが入手可能です。&lt;br /&gt;&lt;br /&gt;Oracle が Sun を買収して以来、オープンソース陣営との関係がうまくいっていないという情報を目にするようになりました。営利を追求する企業とオープンソースとの関係はなかなかうまくいきません。一方、自分が勤めている会社（外資ではありません）の IT 部門をみてみると、まともなソフトウェアは購入するのが当たり前、サポートも外注が当たり前で、オープンソースの利用など、まるで想定外の部署です。オープンソース社会の動向が気になる自分とのギャップに腹立たしく思いますが、IT 部門に所属していないので致し方ありません。&lt;br /&gt;&lt;br /&gt;[1] &lt;a href="http://www.itmedia.co.jp/news/articles/1009/29/news077.html"&gt;OracleからOpenOffice.orgが独立し、「The Document Foundation」を設立 - ITmedia News&lt;/a&gt;&lt;br /&gt;[2] &lt;a href="http://www.itmedia.co.jp/news/articles/1011/11/news064.html"&gt;Apache、Javaコミュニティー脱退を示唆――Oracleのテストキットライセンス拒否に反発 - ITmedia News&lt;/a&gt;&lt;br /&gt;[3] &lt;a href="http://www.itmedia.co.jp/news/articles/1008/16/news011.html"&gt;Oracle、Googleを提訴――AndroidのJava特許侵害で (1/2) - ITmedia News&lt;/a&gt;&lt;br /&gt;[4] &lt;a href="http://cloud.watch.impress.co.jp/docs/column/infostand/20100823_388778.html"&gt;【Infostand海外ITトピックス】 OpenSolarisプロジェクトが終了？　Oracleのオープンソース戦略への危機感 -クラウド Watch&lt;/a&gt;&lt;br /&gt;[5] &lt;a href="http://www.oracle.com/lang/jp/technologies/open-source/index.html"&gt;オラクルとオープンソース&lt;/a&gt;&lt;br /&gt;&lt;iframe src="http://rcm-jp.amazon.co.jp/e/cm?lt1=_blank&amp;bc1=FFFFFF&amp;IS1=1&amp;bg1=FFFFFF&amp;fc1=000000&amp;lc1=0000FF&amp;t=bitwalk00-22&amp;o=9&amp;p=8&amp;l=as1&amp;m=amazon&amp;f=ifr&amp;asins=4777514706" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9176013-2059813231223225052?l=bitwalk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitwalk.blogspot.com/feeds/2059813231223225052/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9176013&amp;postID=2059813231223225052' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/2059813231223225052'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/2059813231223225052'/><link rel='alternate' type='text/html' href='http://bitwalk.blogspot.com/2010/11/libreoffice.html' title='【備忘録】LibreOffice'/><author><name>bitWalk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9176013.post-4112435156962027842</id><published>2010-11-03T11:02:00.007+09:00</published><updated>2010-11-03T11:51:02.459+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Fedora'/><title type='text'>Fedora 14</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s1600-h/fedora.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 43px; height: 44px;" src="http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s200/fedora.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5280249589920714050" /&gt;&lt;/a&gt;&lt;big&gt;F&lt;/big&gt;edora 14 がリリースされました。&lt;a href="https://fedoraproject.org/"&gt;Fedora Project&lt;/a&gt; のサイトがリニューアルされていました。日本語のサイトがとりあえずありますが、日本語に翻訳する協力者が少ないのでしょうか、相変わらずほとんど英語の説明です。自分も翻訳に協力したいのですが、時間が割けません。&lt;br /&gt;&lt;br /&gt;さて、今回のリリースの目玉はというと...、ニュースの記事のように一言ではまとめられないので、&lt;a href="https://fedoraproject.org/wiki/Releases/14/FeatureList"&gt;Releases/14/FeatureList&lt;/a&gt; を、下記に転載しました。&lt;img hspace="5" src="http://lh4.ggpht.com/_76ucAFyAIec/TNDNfSuWJWI/AAAAAAAAA_8/frZ5s_j_66Q/0202.gif"&gt;&lt;br /&gt;&lt;br /&gt;&lt;table cellpadding="5" cellspacing="1" border="1"&gt;&lt;tr&gt; &lt;th&gt; Name     &lt;/th&gt;&lt;th&gt;      Summary &lt;/th&gt; &lt;/tr&gt;&lt;tr&gt; &lt;td nowrap&gt;   &lt;a href="https://fedoraproject.org/wiki/Features/F14Boost144" title="Features/F14Boost144"&gt; Boost 1.44 &lt;/a&gt;&lt;/td&gt;&lt;td&gt; Update Boost to the upstream 1.44 release &lt;/td&gt; &lt;/tr&gt;&lt;tr&gt; &lt;td nowrap&gt;   &lt;a href="https://fedoraproject.org/wiki/Features/D_Programming" title="Features/D Programming"&gt;D Programming &lt;/a&gt;&lt;/td&gt;&lt;td&gt; Add a D compiler (LDC) and D standard runtime library (Tango)  &lt;/td&gt; &lt;/tr&gt;&lt;tr&gt; &lt;td nowrap&gt;   &lt;a href="https://fedoraproject.org/wiki/Features/EC2" title="Features/EC2"&gt;EC2 &lt;/a&gt;&lt;/td&gt;&lt;td&gt; We will provide a concurrent release of Fedora 14 and above on the Amazon EC2 cloud  &lt;/td&gt; &lt;/tr&gt;&lt;tr&gt; &lt;td nowrap&gt;   &lt;a href="https://fedoraproject.org/wiki/Features/F14EclipseHelios" title="Features/F14EclipseHelios"&gt; Eclipse Helios &lt;/a&gt;&lt;/td&gt;&lt;td&gt; Update Fedora's Eclipse stack to Helios releases  &lt;/td&gt; &lt;/tr&gt;&lt;tr&gt; &lt;td nowrap&gt;   &lt;a href="https://fedoraproject.org/wiki/Features/Erlang_R14" title="Features/Erlang R14"&gt; Erlang R14 &lt;/a&gt;&lt;/td&gt;&lt;td&gt; Update Erlang to the upstream R14 release &lt;/td&gt; &lt;/tr&gt;&lt;tr&gt; &lt;td nowrap&gt;   &lt;a href="https://fedoraproject.org/wiki/Features/GdbIndex" title="Features/GdbIndex"&gt;Gdb Index &lt;/a&gt;&lt;/td&gt;&lt;td&gt; This project will remove the useless indices from the .debug files, and will replace them with an index that greatly speeds up gdb  &lt;/td&gt; &lt;/tr&gt;&lt;tr&gt; &lt;td nowrap&gt;  &lt;a href="https://fedoraproject.org/wiki/Features/GNUstep" title="Features/GNUstep"&gt;GNUstep&lt;/a&gt;&lt;/td&gt;&lt;td&gt; GNUstep development environment for Fedora  &lt;/td&gt; &lt;/tr&gt;&lt;tr&gt; &lt;td nowrap&gt;   &lt;a href="https://fedoraproject.org/wiki/Features/ipmiutil" title="Features/ipmiutil"&gt; ipmiutil&lt;/a&gt;&lt;/td&gt;&lt;td&gt; An easy-to-use fully-featured IPMI server management utility  &lt;/td&gt; &lt;/tr&gt;&lt;tr&gt; &lt;td nowrap&gt;   &lt;a href="https://fedoraproject.org/wiki/Features/libjpeg-turbo" title="Features/libjpeg-turbo"&gt; libjpeg-turbo &lt;/a&gt;&lt;/td&gt;&lt;td&gt; libjpeg-turbo is fork of the original libjpeg project. It contains numerous performance related enhancements and is at least twice faster in JPEG compression/decompression than original libjpeg on platforms with MMX/SSE instruction set. &lt;/td&gt; &lt;/tr&gt;&lt;tr&gt; &lt;td nowrap&gt;   &lt;a href="https://fedoraproject.org/wiki/Features/KDE45" title="Features/KDE45"&gt;KDE 4.5 &lt;/a&gt;&lt;/td&gt;&lt;td&gt; Rebase to KDE Plasma Desktop 4.5  &lt;/td&gt; &lt;/tr&gt;&lt;tr&gt; &lt;td nowrap&gt;   &lt;a href="https://fedoraproject.org/wiki/Features/MemoryDebuggingTools" title="Features/MemoryDebuggingTools"&gt;Memory Debugging Tools &lt;/a&gt;&lt;/td&gt;&lt;td&gt; The gdb debugger has been extended with new commands that make it easier to track down and fix excessive memory usage within programs and libraries &lt;/td&gt; &lt;/tr&gt;&lt;tr&gt; &lt;td nowrap&gt;   &lt;a href="https://fedoraproject.org/wiki/Features/NetBeans_6.9" title="Features/NetBeans 6.9"&gt;NetBeans 6.9 &lt;/a&gt;&lt;/td&gt;&lt;td&gt; Re-base to the NetBeans 6.9  &lt;/td&gt; &lt;/tr&gt;&lt;tr&gt; &lt;td nowrap&gt;   &lt;a href="https://fedoraproject.org/wiki/Features/OpenSCAP" title="Features/OpenSCAP"&gt;Open SCAP &lt;/a&gt;&lt;/td&gt;&lt;td&gt; Provide open-source Security Content Automation Protocol (SCAP) framework, basic set of applications and OVAL/XCCDF security content   &lt;/td&gt; &lt;/tr&gt;&lt;tr&gt; &lt;td nowrap&gt;   &lt;a href="https://fedoraproject.org/wiki/Features/perl5.12" title="Features/perl5.12"&gt;Perl 5.12 &lt;/a&gt;&lt;/td&gt;&lt;td&gt; Update to Perl 5.12   &lt;/td&gt; &lt;/tr&gt;&lt;tr&gt; &lt;td nowrap&gt;   &lt;a href="https://fedoraproject.org/wiki/Features/Python_2.7" title="Features/Python 2.7"&gt; Python 2.7 &lt;/a&gt;&lt;/td&gt;&lt;td&gt; Update Python to the upstream 2.7 release &lt;/td&gt; &lt;/tr&gt;&lt;tr&gt; &lt;td nowrap&gt;   &lt;a href="https://fedoraproject.org/wiki/Features/Rakudo_Star" title="Features/Rakudo Star"&gt; Rakudo Star&lt;/a&gt; &lt;/td&gt;&lt;td&gt; The Rakudo Star releases includes the Rakudo compiler, modules, Blizkost and documentation. Rakudo is an implementation of the Perl 6 specification for the Parrot virtual machine.  &lt;/td&gt; &lt;/tr&gt;&lt;tr&gt; &lt;td nowrap&gt;   &lt;a href="https://fedoraproject.org/wiki/Features/Spice" title="Features/Spice"&gt;Spice &lt;/a&gt;&lt;/td&gt;&lt;td&gt; Spice aims to provide a complete open source solution for interaction with virtualized desktops  &lt;/td&gt; &lt;/tr&gt;&lt;tr&gt; &lt;td nowrap&gt;   &lt;a href="https://fedoraproject.org/wiki/Features/Sugar_0.90" title="Features/Sugar 0.90"&gt; Sugar 0.90&lt;/a&gt;&lt;/td&gt;&lt;td&gt; Provide the latest Sugar Learning Environment (0.90), including an enhanced activity set to provide an stable demo environment for Sugar as well as an environment for developers  &lt;/td&gt; &lt;/tr&gt;&lt;tr&gt; &lt;td nowrap&gt;   &lt;a href="https://fedoraproject.org/wiki/Features/Ruby_1.8.7" title="Features/Ruby 1.8.7"&gt; Ruby 1.8.7&lt;/a&gt;&lt;/td&gt;&lt;td&gt; Update Ruby to the upstream 1.8.7 release  &lt;/td&gt; &lt;/tr&gt;&lt;/table&gt;&amp;nbsp;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9176013-4112435156962027842?l=bitwalk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='https://fedoraproject.org/ja/get-fedora' title='Fedora 14'/><link rel='replies' type='application/atom+xml' href='http://bitwalk.blogspot.com/feeds/4112435156962027842/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9176013&amp;postID=4112435156962027842' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/4112435156962027842'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/4112435156962027842'/><link rel='alternate' type='text/html' href='http://bitwalk.blogspot.com/2010/11/fedora-14.html' title='Fedora 14'/><author><name>bitWalk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s72-c/fedora.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9176013.post-1073698211934704663</id><published>2010-10-31T22:50:00.003+09:00</published><updated>2010-11-13T08:09:51.962+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Fedora'/><category scheme='http://www.blogger.com/atom/ns#' term='統計計算'/><category scheme='http://www.blogger.com/atom/ns#' term='Tcl 関連'/><title type='text'>統計解析ツール ～ 歩き始め ～</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_76ucAFyAIec/R0tu8qqzG5I/AAAAAAAAABk/MPZg3XxPtPY/s1600-h/logo64.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://bp2.blogger.com/_76ucAFyAIec/R0tu8qqzG5I/AAAAAAAAABk/MPZg3XxPtPY/s200/logo64.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5137321788471188370" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s1600-h/fedora.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 43px; height: 44px;" src="http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s200/fedora.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5280249589920714050" /&gt;&lt;/a&gt;&lt;big&gt;一&lt;/big&gt;元配置の分散分析ができたからといって、全て見通しが立ったわけではありません。しかし、自分が納得できる統計解析ツール、特に実験計画法の為の解析ツールを作りたいという欲求を抑えることができず、少しずつ GUI の部分を作り始めています。&lt;br /&gt;&lt;br /&gt;GUI では、かゆいところに手が届くような操作性と柔軟性を実現したいので、じっくり時間をかけて作り込む予定です。若いころに BBN RS/1 というツールを VAX Station 上で使っていましたが、実験計画用のモジュール (Discover とか Explorer という名前でした）の使い心地が忘れられません。今なら GUI でもっともっと使い易く出来るはずです。&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;img vspace="10" src="http://lh3.ggpht.com/_76ucAFyAIec/TM1qAum7JBI/AAAAAAAAA_4/ALmhpnuVUv4/Stat-Tool.png"&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;実は、むかしむかしも同じようなツールを自分で作りたいと考えていました。その時は応答曲面法 (RSM) を全面に出していましたが、行列計算の量が多く、手許の PC で実用的な処理速度を得られず、挫折してしまいました。&lt;br /&gt;&lt;br /&gt;そもそも Tcl/Tk を使い続けている理由も、こういうツールを自分で作りたいという欲求があるからです。かつての人気はすっかり無くなってしまいましたが、Tcl/Tk の開発は止まっていません。Tktable も BLT (RBC) も利用できます。Eclipse などの統合開発環境が利用出来るので、ソフトウェアの開発が格段に楽になってきてもいます。&lt;br /&gt;&lt;br /&gt;今回は、オーソドックスに一元配置の分散分析からはじめて、直交表までをカバーして、その次に中心複合計画やコンピュータの計算応力を駆使する最適計画など応答曲面法までを目指したいと考えています。&lt;br /&gt;&lt;br /&gt;さて、完成はいつになるやら…。まずはアルファ版を公開することを目指します。とりあえずは決意表明をしておこう。&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;参考／引用文献&lt;/h2&gt;[1] 岩崎 学 著, &lt;small&gt;統計的データ解析入門&lt;/small&gt; 実験計画法 （東京図書）&lt;small&gt;ISBN4-489-00725-6&lt;/small&gt;&lt;br /&gt;&amp;nbsp;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9176013-1073698211934704663?l=bitwalk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitwalk.blogspot.com/feeds/1073698211934704663/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9176013&amp;postID=1073698211934704663' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/1073698211934704663'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/1073698211934704663'/><link rel='alternate' type='text/html' href='http://bitwalk.blogspot.com/2010/10/blog-post_31.html' title='統計解析ツール ～ 歩き始め ～'/><author><name>bitWalk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_76ucAFyAIec/R0tu8qqzG5I/AAAAAAAAABk/MPZg3XxPtPY/s72-c/logo64.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9176013.post-7096588913782931964</id><published>2010-10-16T20:40:00.014+09:00</published><updated>2010-11-13T08:10:22.699+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Fedora'/><category scheme='http://www.blogger.com/atom/ns#' term='Tcl 関連'/><title type='text'>RBC - Refactored BLT Component</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_76ucAFyAIec/R0tu8qqzG5I/AAAAAAAAABk/MPZg3XxPtPY/s1600-h/logo64.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://bp2.blogger.com/_76ucAFyAIec/R0tu8qqzG5I/AAAAAAAAABk/MPZg3XxPtPY/s200/logo64.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5137321788471188370" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s1600-h/fedora.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 43px; height: 44px;" src="http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s200/fedora.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5280249589920714050" /&gt;&lt;/a&gt;&lt;big&gt;F&lt;/big&gt;edora では Tcl/Tk 8.5 で BLT パッケージ（2.4z にパッチをあてたもの）が利用できますが、&lt;a href="ftp://tcl.tk/pub/tcl/nightly-cvs/"&gt;nightly-cvs&lt;/a&gt; の Tcl/Tk8.6 を自分でコンパイルして使用している環境では、同サイトで入手できる blt (3.0) をどうしてもうまくビルドできません。なんとかならないかとインターネット上で情報をあさっていたところ、古い記事ですが BLT 2.4z を リファクタリングした RBC についての議論を見つけました&lt;sup&gt;[1]&lt;/sup&gt;。どうやら &lt;a href="http://www.mayo.edu/sppdg/"&gt;Mayo SPPDG - Mayo Clinic and Foundation&lt;/a&gt; の &lt;a href="http://wiki.tcl.tk/95"&gt;Robert W Techentin&lt;/a&gt; 氏が、院生のチームと一緒になって取り組んだ成果のようです。&lt;br /&gt;&lt;br /&gt;SourceForge.net にサイト&lt;sup&gt;[2]&lt;/sup&gt; が開設されているので、早速ダウンロードしてビルドしてみました。試行錯誤の後、結局、以下のようにしてビルドしました。ビルドした環境は Fedora 14 (beta) x86_64 です。&lt;br /&gt;&lt;pre style="clear:both;"&gt;$ &lt;font color="black"&gt;tar zxvf rbc0.1.src.tar.gz&lt;/font&gt;&lt;br /&gt;$ &lt;font color="black"&gt;cd rbc&lt;/font&gt;&lt;br /&gt;$ &lt;font color="black"&gt;CFLAGS="-DUSE_INTERP_RESULT" \&lt;/font&gt;&lt;br /&gt;&gt; &lt;font color="black"&gt;./configure --prefix=$HOME --with-tcl=../tcl/unix --with-tk=../tk/unix&lt;/font&gt;&lt;br /&gt;$ &lt;font color="black"&gt;make&lt;/font&gt;&lt;br /&gt;$ &lt;font color="black"&gt;make install&lt;/font&gt;&lt;br /&gt;&lt;/pre&gt;コンパイルフラグ &lt;tt&gt;USE_INTERP_RESULT&lt;/tt&gt; は、Tcl 8.6 ではレガシーな &lt;tt&gt;(Tcl_Interp) &lt;i&gt;interp&lt;/i&gt;-&amp;gt;result&lt;/tt&gt; にアクセスする際に必要になります&lt;sup&gt;[3]&lt;/sup&gt;。&lt;br /&gt;テスト用に BLT 用の以前用意したサンプルを RBC 用に書き換えて実行してみました。&lt;br /&gt;&lt;pre style="clear:both;"&gt;&lt;font color="blue"&gt;#!/bin/sh&lt;br /&gt;# the next line restarts using wish \&lt;br /&gt;exec wish8.6 "$0" "$@&lt;/font&gt;"&lt;br /&gt; &lt;br /&gt;package require rbc&lt;br /&gt;&lt;br /&gt;proc init_x {} {&lt;br /&gt;    set xList {}&lt;br /&gt;    for {set i 0} {$i &lt;= 200} {incr i} {&lt;br /&gt;        lappend xList [expr $i / 5.]&lt;br /&gt;    }&lt;br /&gt;    return $xList&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;proc init_y {xList} {&lt;br /&gt;    set yList {}&lt;br /&gt;    foreach x $xList {&lt;br /&gt;        lappend yList [expr sqrt($x) * sin($x)]&lt;br /&gt;    }&lt;br /&gt;    return $yList&lt;br /&gt;}&lt;br /&gt; &lt;br /&gt;&lt;font color="blue"&gt;# ----------------------------------------------------------------------------&lt;br /&gt;# メイン&lt;br /&gt;# ----------------------------------------------------------------------------&lt;/font&gt;&lt;br /&gt;wm title . "rbc::graph"&lt;br /&gt;&lt;br /&gt;set grp ".grp"&lt;br /&gt;rbc::graph $grp \&lt;br /&gt;        -title           "Sample Graph" \&lt;br /&gt;        -font            "helvetica 16" \&lt;br /&gt;        -rightmargin     15 \&lt;br /&gt;        -plotbackground  "light cyan" \&lt;br /&gt;        -plotpadx        0 \&lt;br /&gt;        -plotpady        0 \&lt;br /&gt;        -plotborderwidth 0&lt;br /&gt;pack .grp&lt;br /&gt;&lt;br /&gt;&lt;font color="blue"&gt;# ズームスタックを有効にする&lt;br /&gt;#Blt_ZoomStack $grp&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="blue"&gt;# X と Y 軸&lt;/font&gt;&lt;br /&gt;$grp axis configure x \&lt;br /&gt;        -subdivisions 10 \&lt;br /&gt;        -tickfont     "courier 8" \&lt;br /&gt;        -title        "X Axis" \&lt;br /&gt;        -titlefont    "helvetica 12"&lt;br /&gt;$grp axis configure y \&lt;br /&gt;        -subdivisions 10 \&lt;br /&gt;        -tickfont     "courier 8" \&lt;br /&gt;        -title        "Y Axis" \&lt;br /&gt;        -titlefont    "helvetica 12"&lt;br /&gt;&lt;br /&gt;&lt;font color="blue"&gt;# グリッド&lt;/font&gt;&lt;br /&gt;$grp grid configure \&lt;br /&gt;        -color "turquoise" \&lt;br /&gt;        -mapx  x \&lt;br /&gt;        -mapy  y&lt;br /&gt;$grp grid on&lt;br /&gt;&lt;br /&gt;&lt;font color="blue"&gt;# 凡例&lt;/font&gt;&lt;br /&gt;$grp legend configure \&lt;br /&gt;        -font     "helvetica 10" \&lt;br /&gt;        -ipadx    10 \&lt;br /&gt;        -position bottom \&lt;br /&gt;        -relief   ridge&lt;br /&gt;&lt;br /&gt;&lt;font color="blue"&gt;# データ&lt;/font&gt;&lt;br /&gt;set xList [init_x]&lt;br /&gt;set yList [init_y $xList]&lt;br /&gt;$grp element create func \&lt;br /&gt;        -label        "sqrt(x) * sin(x)" \&lt;br /&gt;        -xdata        $xList \&lt;br /&gt;        -ydata        $yList \&lt;br /&gt;        -smooth       quadratic \&lt;br /&gt;        -linewidth    1 \&lt;br /&gt;        -color        blue \&lt;br /&gt;        -symbol       circle \&lt;br /&gt;        -pixels       0.0625i \&lt;br /&gt;        -scalesymbols yes \&lt;br /&gt;        -outline      red \&lt;br /&gt;        -fill         green&lt;br /&gt;&lt;br /&gt;&lt;font color="blue"&gt;# ---&lt;br /&gt;# sample_graph.tcl&lt;/font&gt;&lt;br /&gt;&lt;/pre&gt;実行例を以下に示しました。日本語フォントが表示できないし、 BLT のすべての機能が使えるわけでもなく制限はありますが、Tcl/Tk 8.6 の環境で手軽に（そこそこの）グラフを作成できそうです。&lt;br /&gt;&lt;center&gt;&lt;img vspace="10" src="http://lh5.ggpht.com/_76ucAFyAIec/TLmKDTzK74I/AAAAAAAAA_o/OR2M0UM-Fsk/rbc%3A%3Agraph.png"&gt;&lt;/center&gt;&lt;br /&gt;&lt;h3&gt;&lt;u&gt;参考サイト&lt;/u&gt;&lt;/h3&gt;[1] &lt;a href="http://www.rhinocerus.net/forum/lang-tcl/594503-rbc-refactored-blt-components-initial-release.html"&gt;RBC - Refactored BLT Components - Initial Release - Rhinocerus&lt;/a&gt;&lt;br /&gt;[2] &lt;a href="http://sourceforge.net/projects/rbctoolkit/"&gt;The RBC Toolkit | Download The RBC Toolkit software for free at SourceForge.net&lt;/a&gt;&lt;br /&gt;[3] &lt;a href="http://www.tcl.tk/man/tcl8.6/TclLib/SetResult.htm#M8"&gt;DIRECT ACCESS TO INTERP-&amp;gt;RESULT - Tcl_SetResult manual page&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9176013-7096588913782931964?l=bitwalk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitwalk.blogspot.com/feeds/7096588913782931964/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9176013&amp;postID=7096588913782931964' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/7096588913782931964'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/7096588913782931964'/><link rel='alternate' type='text/html' href='http://bitwalk.blogspot.com/2010/10/rbc-refactored-blt-component.html' title='RBC - Refactored BLT Component'/><author><name>bitWalk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_76ucAFyAIec/R0tu8qqzG5I/AAAAAAAAABk/MPZg3XxPtPY/s72-c/logo64.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9176013.post-427863670793554524</id><published>2010-10-10T14:36:00.020+09:00</published><updated>2010-11-13T08:11:06.316+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='統計計算'/><category scheme='http://www.blogger.com/atom/ns#' term='TclOO'/><title type='text'>ちょっと分散分析（２）</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_76ucAFyAIec/R0tu8qqzG5I/AAAAAAAAABk/MPZg3XxPtPY/s1600-h/logo64.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://bp2.blogger.com/_76ucAFyAIec/R0tu8qqzG5I/AAAAAAAAABk/MPZg3XxPtPY/s200/logo64.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5137321788471188370" /&gt;&lt;/a&gt;&lt;big&gt;p&lt;/big&gt; 値の計算をするためにガンマ関数やらベータ関数を計算するルーチンを C で作成し、Tcl の拡張パッケージ上の拡張された算術関数として利用できるようにして、その上で P 値を計算するルーチンを作ってはみましたが、計算した値が合いません。きっと自分の理解不足によるもののと考え、とりあえず諦めてしまいました（泣）。&lt;br /&gt;&lt;br /&gt;そのかわり近似計算をしているサイトをいろいろ探し、サイト[1] を参考にして P 値を与えるルーチンを追加しました。悔しいのでもっと勉強して、自分で納得できるルーチンを作成していきます。&lt;br /&gt;&lt;br /&gt;&lt;pre style="clear:both;"&gt;&lt;font color="blue"&gt;#!/bin/sh&lt;br /&gt;# the next line restarts using tclsh \&lt;br /&gt;exec tclsh8.6 "$0" "$@"&lt;br /&gt;# 分散分析&lt;br /&gt;# $Id: anova_1way.tcl,v 1.6 2010/10/10 05:15:34 bitwalk Exp bitwalk $&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="blue"&gt;# サンプルデータ１&lt;/font&gt;&lt;br /&gt;set a [list {3.42  3.84  3.96  3.76}]&lt;br /&gt;set b [list {3.17  3.63  3.47  3.44  3.39}]&lt;br /&gt;set c [list {3.64  3.72  3.91}]&lt;br /&gt;&lt;br /&gt;&lt;font color="blue"&gt;# サンプルデータ２&lt;br /&gt;#set a [list {25 30 20 32}]&lt;br /&gt;#set b [list {30 33 29 40 36}]&lt;br /&gt;#set c [list {32 39 35 41 44}]&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="blue"&gt;# データ&lt;/font&gt;&lt;br /&gt;set data [list $a $b $c]&lt;br /&gt;&lt;br /&gt;&lt;font color="blue"&gt;# -----------------------------------------------------------------------------&lt;br /&gt;#  クラス anova&lt;br /&gt;# -----------------------------------------------------------------------------&lt;/font&gt;&lt;br /&gt;oo::class create anova {&lt;br /&gt;    constructor {a} {&lt;br /&gt;        my variable x way&lt;br /&gt;&lt;br /&gt;        # データリスト&lt;br /&gt;        set x $a&lt;br /&gt;        # 分散分析の対象フラグのリセット&lt;br /&gt;        set way ""&lt;br /&gt;    }&lt;br /&gt;    &lt;font color="blue"&gt;# -------------------------------------------------------------------------&lt;br /&gt;    # 一元配置&lt;br /&gt;    # -------------------------------------------------------------------------&lt;/font&gt;&lt;br /&gt;    method oneway {} {&lt;br /&gt;        my variable x way&lt;br /&gt;        my variable n k&lt;br /&gt;        my variable SSb SSw SSt&lt;br /&gt;        my variable df_b df_w df_t&lt;br /&gt;        my variable MSb MSw&lt;br /&gt;        my variable F p&lt;br /&gt;&lt;br /&gt;        &lt;font color="blue"&gt;# Sum of Squared Deviations&lt;br /&gt;        # SSt (TOTAL)&lt;/font&gt;&lt;br /&gt;        set x_simple [my list_simple $x]&lt;br /&gt;        set n [llength $x_simple]&lt;br /&gt;        set x_mean [my mean $x_simple $n]&lt;br /&gt;        set SSt [my var $x_simple $x_mean]&lt;br /&gt;        &lt;font color="blue"&gt;# SSb (BETWEEN GROUPS)&lt;/font&gt;&lt;br /&gt;        set k [llength $x]&lt;br /&gt;        set SSb 0&lt;br /&gt;        for {set i 0} {$i &lt; $k} {incr i} {&lt;br /&gt;            set x_b($i) [my list_simple [lindex $x $i]]&lt;br /&gt;            set n_b($i) [llength $x_b($i)]&lt;br /&gt;            set x_mean_b($i) [my mean $x_b($i) $n_b($i)]&lt;br /&gt;            set SSb [expr $SSb + $n_b($i) \&lt;br /&gt;                * ($x_mean_b($i) - $x_mean) \&lt;br /&gt;                * ($x_mean_b($i) - $x_mean)]           &lt;br /&gt;        }&lt;br /&gt;        &lt;font color="blue"&gt;# SSw (WITHIN GROUPS)&lt;br /&gt;        # set SSw [expr $SSt - $SSb]&lt;/font&gt;&lt;br /&gt;        set SSw 0&lt;br /&gt;        for {set i 0} {$i &lt; $k} {incr i} {&lt;br /&gt;            set x_w($i) [my list_simple [lindex $x $i]]&lt;br /&gt;            set n_w($i) [llength $x_w($i)]&lt;br /&gt;            set x_mean_w($i) [my mean $x_w($i) $n_w($i)]&lt;br /&gt;            set SSw [expr $SSw + [my var $x_w($i) $x_mean_w($i)]]&lt;br /&gt;        }&lt;br /&gt;        &lt;font color="blue"&gt;# Degree of Freedom&lt;/font&gt;&lt;br /&gt;        set df_b [expr $k - 1]&lt;br /&gt;        set df_w [expr $n - $k]&lt;br /&gt;        set df_t [expr $n - 1]&lt;br /&gt;        &lt;font color="blue"&gt;# Mean Square&lt;/font&gt;&lt;br /&gt;        set MSb [expr $SSb / $df_b]&lt;br /&gt;        set MSw [expr $SSw / $df_w]&lt;br /&gt;        &lt;font color="blue"&gt;# F value, the ratio of the two variance estimates&lt;/font&gt;&lt;br /&gt;        set F [expr $MSb / $MSw]&lt;br /&gt;        set p [my f_pval $F $df_b $df_w]&lt;br /&gt;        &lt;font color="blue"&gt;# flag&lt;/font&gt;&lt;br /&gt;        set way "One Way"&lt;br /&gt;        return 1&lt;br /&gt;     }&lt;br /&gt;    &lt;font color="blue"&gt;# -------------------------------------------------------------------------&lt;br /&gt;    #　result&lt;br /&gt;    # 結果の表示&lt;br /&gt;    # -------------------------------------------------------------------------&lt;/font&gt;&lt;br /&gt;    method result {} {&lt;br /&gt;        my variable way&lt;br /&gt;&lt;br /&gt;        switch $way {&lt;br /&gt;            "One Way" {&lt;br /&gt;                my result_1way&lt;br /&gt;            }&lt;br /&gt;            default {&lt;br /&gt;                puts "No result yet!"&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;    &lt;font color="blue"&gt;# -------------------------------------------------------------------------&lt;br /&gt;    #　result_1way&lt;br /&gt;    # 結果の表示（一元配置）&lt;br /&gt;    # -------------------------------------------------------------------------&lt;/font&gt;&lt;br /&gt;    method result_1way {} {&lt;br /&gt;        my variable x&lt;br /&gt;        my variable n k&lt;br /&gt;        my variable SSb SSw SSt&lt;br /&gt;        my variable df_b df_w df_t&lt;br /&gt;        my variable MSb MSw&lt;br /&gt;        my variable F p&lt;br /&gt;&lt;br /&gt;        puts "ANOVA (1way)"&lt;br /&gt;        puts "Source        SS       df       MS    F val    P Val"&lt;br /&gt;        puts -nonewline "Between"&lt;br /&gt;        puts -nonewline [format " %8.3f" $SSb]&lt;br /&gt;        puts -nonewline [format " %8d" $df_b]&lt;br /&gt;        puts -nonewline [format " %8.3f" $MSb]&lt;br /&gt;        puts -nonewline [format " %8.3f" $F]&lt;br /&gt;        puts -nonewline [format " %8.6f" $p]&lt;br /&gt;        if {$p &lt; 0.001} {&lt;br /&gt;            puts " ***"&lt;br /&gt;        } elseif {$p &lt; 0.01} {&lt;br /&gt;            puts " **"&lt;br /&gt;        } elseif {$p &lt; 0.05} {&lt;br /&gt;            puts " *"&lt;br /&gt;        } else {&lt;br /&gt;            puts ""&lt;br /&gt;        }&lt;br /&gt;        puts -nonewline "Within "&lt;br /&gt;        puts -nonewline [format " %8.3f" $SSw]&lt;br /&gt;        puts -nonewline [format " %8d" $df_w]&lt;br /&gt;        puts -nonewline [format " %8.3f" $MSw]&lt;br /&gt;        puts ""&lt;br /&gt;        puts -nonewline "Total  "&lt;br /&gt;        puts -nonewline [format " %8.3f" $SSt]&lt;br /&gt;        puts -nonewline [format " %8d" $df_t]&lt;br /&gt;        puts ""&lt;br /&gt;    }&lt;br /&gt;    &lt;font color="blue"&gt;# -------------------------------------------------------------------------&lt;br /&gt;    # mean&lt;br /&gt;    # 平均値の計算&lt;br /&gt;    # -------------------------------------------------------------------------&lt;/font&gt;&lt;br /&gt;    method mean {xList num} {&lt;br /&gt;        set sum [my sum $xList]&lt;br /&gt;        return [expr $sum / $num]&lt;br /&gt;    }&lt;br /&gt;    &lt;font color="blue"&gt;# -------------------------------------------------------------------------&lt;br /&gt;    # sum&lt;br /&gt;    # 合計の計算&lt;br /&gt;    # -------------------------------------------------------------------------&lt;/font&gt;&lt;br /&gt;    method sum {xList} {&lt;br /&gt;        set total 0.0&lt;br /&gt;        foreach x $xList {&lt;br /&gt;            set total [expr $total + $x]&lt;br /&gt;       }&lt;br /&gt;        return $total&lt;br /&gt;    }&lt;br /&gt;    &lt;font color="blue"&gt;# -------------------------------------------------------------------------&lt;br /&gt;    # var&lt;br /&gt;    # 分散の計算&lt;br /&gt;    # -------------------------------------------------------------------------&lt;/font&gt;&lt;br /&gt;    method var {xList xMean} {&lt;br /&gt;        set var 0.0&lt;br /&gt;        foreach x $xList {&lt;br /&gt;            set var [expr $var + ($x - $xMean) * ($x - $xMean)]&lt;br /&gt;        }&lt;br /&gt;        return $var&lt;br /&gt;    }&lt;br /&gt;    &lt;font color="blue"&gt;# -------------------------------------------------------------------------&lt;br /&gt;    # f_pval&lt;br /&gt;    # P値（F分布の上側確率の算出）&lt;br /&gt;    # -------------------------------------------------------------------------&lt;/font&gt;&lt;br /&gt;    method f_pval {f df1 df2} {&lt;br /&gt;        set m2pi 0.636619772367581343076&lt;br /&gt;        set m_pi 3.14159265358979323846&lt;br /&gt;        set i1 [expr 2 - ($df1%2)]&lt;br /&gt;        set i2 [expr 2 - ($df2%2)]&lt;br /&gt;        set w [expr $df2/($df2 + $df1*$f)]&lt;br /&gt;        set y [expr 1.0 - $w]&lt;br /&gt;        set p [expr sqrt($w)]&lt;br /&gt;        set s [expr sqrt($y)]&lt;br /&gt;&lt;br /&gt;        if {[expr 2*$i1 - $i2] == 0} {&lt;br /&gt;            set p [expr 1.0 - $s]&lt;br /&gt;            set c [$s*$w/2.0]&lt;br /&gt;        } elseif {[expr 2*$i1 - $i2] == 1} {&lt;br /&gt;            set c [expr $s*$p/$m_pi]&lt;br /&gt;            set p [expr 1.0 - atan2($s, $p) * $m2pi]&lt;br /&gt;        } elseif {[expr 2*$i1 - $i2] == 2} {&lt;br /&gt;            set p $w&lt;br /&gt;            set c [expr $w*$y]&lt;br /&gt;        } else {&lt;br /&gt;            set c [expr $y*$p/2.0]&lt;br /&gt;        }&lt;br /&gt;        for {set i2 $i2} {$df2 &gt; $i2} {incr i2 2} {&lt;br /&gt;            set p [expr $p - 2.0/$i2*$c]&lt;br /&gt;            set c [expr $c*$w*($i1 + $i2)/$i2]&lt;br /&gt;        }&lt;br /&gt;        for {set i1 $i1} {$df1 &gt; $i1} {incr i1 2} {&lt;br /&gt;            set p [expr $p + 2.0/$i1*$c]&lt;br /&gt;            set c [expr $c*$y*($i1 + $i2)/$i1]&lt;br /&gt;        }&lt;br /&gt;        return [expr ($p &lt; 0.0 &amp;&amp; abs($p) &lt; 1e-10) ? 0.0 : $p]&lt;br /&gt;    }&lt;br /&gt;    &lt;font color="blue"&gt;# -------------------------------------------------------------------------&lt;br /&gt;    # list_simple&lt;br /&gt;    # 入れ子になっているリストをシンプルなリストに変換&lt;br /&gt;    # -------------------------------------------------------------------------&lt;/font&gt;&lt;br /&gt;    method list_simple {xList} {&lt;br /&gt;        regsub -all {[\{\}]} $xList {} foo&lt;br /&gt;        regsub -all {\s{2,}} $foo { } baa&lt;br /&gt;        return $baa&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;font color="blue"&gt;# -----------------------------------------------------------------------------&lt;br /&gt;#  メイン&lt;br /&gt;# -----------------------------------------------------------------------------&lt;/font&gt;&lt;br /&gt;set obj [anova new $data]&lt;br /&gt;if {[$obj oneway]} {&lt;br /&gt;    $obj result&lt;br /&gt;} else {&lt;br /&gt;    puts "failed"&lt;br /&gt;}&lt;br /&gt;&lt;font color="blue"&gt;# ---&lt;br /&gt;# END PROGRAM&lt;/font&gt;&lt;br /&gt;&lt;/pre&gt;実行例を以下に示しました。&lt;br /&gt;&lt;pre style="clear:both;"&gt;$ &lt;font color="black"&gt;./anova_1way.tcl&lt;/font&gt;&lt;br /&gt;ANOVA (1way)&lt;br /&gt;Source        SS       df       MS    F val    P Val&lt;br /&gt;Between    0.318        2    0.159    4.615 0.041749 *&lt;br /&gt;Within     0.310        9    0.034&lt;br /&gt;Total      0.628       11&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;h3&gt;参考サイト&lt;/h3&gt;[1] &lt;a href="http://aoki2.si.gunma-u.ac.jp/Hanasi/Algo/getprob.html"&gt;統計関数の確率計算&lt;/a&gt;&lt;br /&gt;[2] &lt;a href="http://www.danielsoper.com/statcalc/"&gt;The Free Statistics Calculators Website - Home&lt;/a&gt; （算出値の検証用）&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;h3&gt;追記&lt;/h3&gt;この記事を書いた後、なぜ用意した関数でうまくできなかったのかが突然判ってしまいました。長年 Tcl を使っているのに、Tcl 特有の計算の落とし穴にすっかりハマっていたのです。&lt;br /&gt;&lt;br /&gt;以下は、用意していた規格化された不完全ベータ関数 &lt;tt&gt;betai&lt;/tt&gt; を使って書き直したメソッド &lt;tt&gt;f_pval&lt;/tt&gt; です。Tcl では、整数÷整数の結果は自動的に整数になってしまいます。浮動小数の結果が必要な場合は、分母分子のどちらか一方を浮動小数の値に明示にしておく必要があります。&lt;br /&gt;&lt;pre style="clear:both;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color="blue"&gt;# -------------------------------------------------------------------------&lt;br /&gt;    # f_pval&lt;br /&gt;    # P値（F分布の上側確率の算出）&lt;br /&gt;    # -------------------------------------------------------------------------&lt;/font&gt;&lt;br /&gt;    method f_pval {f df1 df2} {&lt;br /&gt;        set x [expr $df1 * $f / ($df2 + $df1*$f)]&lt;br /&gt;        return [expr 1 - &lt;font color="black"&gt;betai&lt;/font&gt;($df1/2&lt;font color="red"&gt;.0&lt;/font&gt;, $df2/2&lt;font color="red"&gt;.0&lt;/font&gt;, $x)]&lt;br /&gt;    }&lt;br /&gt;&lt;/pre&gt;実行例を以下に示しましたが、上記と同じ結果が得られています。&lt;br /&gt;&lt;pre style="clear:both;"&gt;$ &lt;font color="black"&gt;./anova_1way.tcl&lt;/font&gt;&lt;br /&gt;ANOVA (1way)&lt;br /&gt;Source        SS       df       MS    F val    P Val&lt;br /&gt;Between    0.318        2    0.159    4.615 0.041749 *&lt;br /&gt;Within     0.310        9    0.034&lt;br /&gt;Total      0.628       11&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;今のところ規格化された不完全ベータ関数 &lt;tt&gt;betai&lt;/tt&gt; の算出には、下記の &lt;a href="http://www.gnu.org/software/gsl/"&gt;GSL&lt;/a&gt; の関数を利用しています。&lt;br /&gt;&lt;pre style="clear:both;"&gt;double &lt;font color="black"&gt;gsl_sf_beta_inc&lt;/font&gt; (double a, double b, double x)&lt;br /&gt;&lt;/pre&gt;以下のようなルーチンを使って Tcl の拡張パッケージを作成しています。&lt;br /&gt;&lt;pre style="clear:both;"&gt;&lt;font color="blue"&gt;/*****************************************************************************&lt;br /&gt; * int func_betai&lt;br /&gt; * 規格化された不完全ベータ関数の処理部&lt;br /&gt; *&lt;br /&gt; * Tcl 側のコマンド&lt;br /&gt; *   expr betai($a, $b, $x)&lt;br /&gt; *****************************************************************************/&lt;/font&gt;&lt;br /&gt;int&lt;br /&gt;func_betai (ClientData clientData, Tcl_Interp * interp,&lt;br /&gt;        Tcl_Value * args, Tcl_Value * resultPtr)&lt;br /&gt;{&lt;br /&gt;  double a, b, x;&lt;br /&gt;&lt;br /&gt;  a = args-&gt;doubleValue;&lt;br /&gt;  args++;&lt;br /&gt;  b = args-&gt;doubleValue;&lt;br /&gt;  args++;&lt;br /&gt;  x = args-&gt;doubleValue;&lt;br /&gt;&lt;br /&gt;  &lt;font color="blue"&gt;/* 計算結果 */&lt;/font&gt;&lt;br /&gt;  resultPtr-&gt;type = TCL_DOUBLE;&lt;br /&gt;  resultPtr-&gt;doubleValue = gsl_sf_beta_inc (a, b, x);&lt;br /&gt;&lt;br /&gt;  return TCL_OK;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;ただ、GSL の配布ライセンスは GPLv3 (&lt;a href="http://www.gnu.org/copyleft/gpl.html"&gt;GNU General Public License&lt;/a&gt;) に従っているので、扱い難いと感じています。計算方法の検証ができたので、他に BSD などの配布ライセンスで良いライブラリがあれば乗り換えようと思っています。オープンソースを推進したい者としては矛盾した考えですが、しかたがありません。&lt;br /&gt;&amp;nbsp;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9176013-427863670793554524?l=bitwalk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitwalk.blogspot.com/feeds/427863670793554524/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9176013&amp;postID=427863670793554524' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/427863670793554524'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/427863670793554524'/><link rel='alternate' type='text/html' href='http://bitwalk.blogspot.com/2010/10/blog-post_10.html' title='ちょっと分散分析（２）'/><author><name>bitWalk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_76ucAFyAIec/R0tu8qqzG5I/AAAAAAAAABk/MPZg3XxPtPY/s72-c/logo64.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9176013.post-5264316984873796328</id><published>2010-10-02T23:07:00.008+09:00</published><updated>2010-11-13T08:11:52.172+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='統計計算'/><category scheme='http://www.blogger.com/atom/ns#' term='TclOO'/><title type='text'>ちょっと分散分析</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_76ucAFyAIec/R0tu8qqzG5I/AAAAAAAAABk/MPZg3XxPtPY/s1600-h/logo64.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://bp2.blogger.com/_76ucAFyAIec/R0tu8qqzG5I/AAAAAAAAABk/MPZg3XxPtPY/s200/logo64.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5137321788471188370" /&gt;&lt;/a&gt;&lt;big&gt;前&lt;/big&gt;々から作りたいと思っていて、なかなか重い腰を上げて取り組もうとしなかった分散分析のライブラリについて、ようやく少しずつ作り始めました。&lt;br /&gt;&lt;br /&gt;本当は C# で作りたかったのですが、GUI 化の手間と、ゆくゆくは超越関数（Γ関数など）を扱う統計値の計算ルーチンを作ることを考えれば、慣れている Tcl/Tk (+ Tktable) と C の組み合わせで作る方が現実的と考えました。&lt;br /&gt;&lt;br /&gt;また、TclOO を利用したかったので、&lt;a href="ftp://tcl.tk/pub/tcl/nightly-cvs/"&gt;Tcl の nightly-cvs のサイト&lt;/a&gt;から Tcl/Tk の最新のソース (8.6b1.2) をダウンロード、Fedora 上でビルドして利用しています。&lt;br /&gt;&lt;br /&gt;まずは一元配置の簡単なルーチンを作ってみました。参考サイト [1] と [2] で検算をしています。&lt;br /&gt;&lt;pre style="clear:both;"&gt;&lt;font color="blue"&gt;#!/bin/sh&lt;br /&gt;# the next line restarts using tclsh \&lt;br /&gt;exec tclsh8.6 "$0" "$@"&lt;br /&gt;# 分散分析&lt;br /&gt;# $Id: anova_1way.tcl,v 1.4 2010/10/02 15:00:00 bitwalk Exp bitwalk $&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="blue"&gt;# サンプルデータ１&lt;/font&gt;&lt;br /&gt;set a [list {3.42  3.84  3.96  3.76}]&lt;br /&gt;set b [list {3.17  3.63  3.47  3.44  3.39}]&lt;br /&gt;set c [list {3.64  3.72  3.91}]&lt;br /&gt;&lt;br /&gt;&lt;font color="blue"&gt;# サンプルデータ２&lt;br /&gt;#set a [list {25 30 20 32}]&lt;br /&gt;#set b [list {30 33 29 40 36}]&lt;br /&gt;#set c [list {32 39 35 41 44}]&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="blue"&gt;# データ&lt;/font&gt;&lt;br /&gt;set data [list $a $b $c]&lt;br /&gt;&lt;br /&gt;&lt;font color="blue"&gt;# -----------------------------------------------------------------------------&lt;br /&gt;#  クラス anova&lt;br /&gt;# -----------------------------------------------------------------------------&lt;/font&gt;&lt;br /&gt;oo::class create anova {&lt;br /&gt;    constructor {a} {&lt;br /&gt;        my variable x way&lt;br /&gt;&lt;br /&gt;        &lt;font color="blue"&gt;# データリスト&lt;/font&gt;&lt;br /&gt;        set x $a&lt;br /&gt;        &lt;font color="blue"&gt;# 分散分析の対象フラグのリセット&lt;/font&gt;&lt;br /&gt;        set way ""&lt;br /&gt;    }&lt;br /&gt;    &lt;font color="blue"&gt;# -------------------------------------------------------------------------&lt;br /&gt;    # 一元配置&lt;br /&gt;    # -------------------------------------------------------------------------&lt;/font&gt;&lt;br /&gt;    method oneway {} {&lt;br /&gt;        my variable x way&lt;br /&gt;        my variable n k&lt;br /&gt;        my variable SSb SSw SSt&lt;br /&gt;        my variable df_b df_w df_t&lt;br /&gt;        my variable MSb MSw&lt;br /&gt;        my variable F&lt;br /&gt;&lt;br /&gt;        &lt;font color="blue"&gt;# Sum of Squared Deviations&lt;br /&gt;        # SSt (TOTAL)&lt;/font&gt;&lt;br /&gt;        set x_simple [my list_simple $x]&lt;br /&gt;        set n [llength $x_simple]&lt;br /&gt;        set x_mean [my mean $x_simple $n]&lt;br /&gt;        set SSt [my var $x_simple $x_mean]&lt;br /&gt;        &lt;font color="blue"&gt;# SSb (BETWEEN GROUPS)&lt;/font&gt;&lt;br /&gt;        set k [llength $x]&lt;br /&gt;        set SSb 0&lt;br /&gt;        for {set i 0} {$i &lt; $k} {incr i} {&lt;br /&gt;            set x_b($i) [my list_simple [lindex $x $i]]&lt;br /&gt;            set n_b($i) [llength $x_b($i)]&lt;br /&gt;            set x_mean_b($i) [my mean $x_b($i) $n_b($i)]&lt;br /&gt;            set SSb [expr $SSb + $n_b($i) \&lt;br /&gt;                * ($x_mean_b($i) - $x_mean) \&lt;br /&gt;                * ($x_mean_b($i) - $x_mean)]           &lt;br /&gt;        }&lt;br /&gt;        &lt;font color="blue"&gt;# SSw (WITHIN GROUPS)&lt;br /&gt;        # set SSw [expr $SSt - $SSb]&lt;/font&gt;&lt;br /&gt;        set SSw 0&lt;br /&gt;        for {set i 0} {$i &lt; $k} {incr i} {&lt;br /&gt;            set x_w($i) [my list_simple [lindex $x $i]]&lt;br /&gt;            set n_w($i) [llength $x_w($i)]&lt;br /&gt;            set x_mean_w($i) [my mean $x_w($i) $n_w($i)]&lt;br /&gt;            set SSw [expr $SSw + [my var $x_w($i) $x_mean_w($i)]]&lt;br /&gt;        }&lt;br /&gt;        &lt;font color="blue"&gt;# Degree of Freedom&lt;/font&gt;&lt;br /&gt;        set df_b [expr $k - 1]&lt;br /&gt;        set df_w [expr $n - $k]&lt;br /&gt;        set df_t [expr $n - 1]&lt;br /&gt;        &lt;font color="blue"&gt;# Mean Square&lt;/font&gt;&lt;br /&gt;        set MSb [expr $SSb / $df_b]&lt;br /&gt;        set MSw [expr $SSw / $df_w]&lt;br /&gt;        &lt;font color="blue"&gt;# F value, the ratio of the two variance estimates&lt;/font&gt;&lt;br /&gt;        set F [expr $MSb / $MSw]&lt;br /&gt;        &lt;font color="blue"&gt;# flag&lt;/font&gt;&lt;br /&gt;        set way "One Way"&lt;br /&gt;        return 1&lt;br /&gt;     }&lt;br /&gt;    &lt;font color="blue"&gt;# -------------------------------------------------------------------------&lt;br /&gt;    #　result&lt;br /&gt;    # 結果の表示&lt;br /&gt;    # -------------------------------------------------------------------------&lt;/font&gt;&lt;br /&gt;    method result {} {&lt;br /&gt;        my variable way&lt;br /&gt;&lt;br /&gt;        switch $way {&lt;br /&gt;            "One Way" {&lt;br /&gt;                my result_1way&lt;br /&gt;            }&lt;br /&gt;            default {&lt;br /&gt;                puts "No result yet!"&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;    &lt;font color="blue"&gt;# -------------------------------------------------------------------------&lt;br /&gt;    #　result_1way&lt;br /&gt;    # 結果の表示（一元配置）&lt;br /&gt;    # -------------------------------------------------------------------------&lt;/font&gt;&lt;br /&gt;    method result_1way {} {&lt;br /&gt;        my variable x&lt;br /&gt;        my variable n k&lt;br /&gt;        my variable SSb SSw SSt&lt;br /&gt;        my variable df_b df_w df_t&lt;br /&gt;        my variable MSb MSw&lt;br /&gt;        my variable F&lt;br /&gt;&lt;br /&gt;        puts "ANOVA (1way)"&lt;br /&gt;        puts "Source        SS       df       MS    F val"&lt;br /&gt;        puts -nonewline "Between"&lt;br /&gt;        puts -nonewline [format " %8.3f" $SSb]&lt;br /&gt;        puts -nonewline [format " %8d" $df_b]&lt;br /&gt;        puts -nonewline [format " %8.3f" $MSb]&lt;br /&gt;        puts -nonewline [format " %8.3f" $F]&lt;br /&gt;        puts ""&lt;br /&gt;        puts -nonewline "Within "&lt;br /&gt;        puts -nonewline [format " %8.3f" $SSw]&lt;br /&gt;        puts -nonewline [format " %8d" $df_w]&lt;br /&gt;        puts -nonewline [format " %8.3f" $MSw]&lt;br /&gt;        puts ""&lt;br /&gt;        puts -nonewline "Total  "&lt;br /&gt;        puts -nonewline [format " %8.3f" $SSt]&lt;br /&gt;        puts -nonewline [format " %8d" $df_t]&lt;br /&gt;        puts ""&lt;br /&gt;    }&lt;br /&gt;    &lt;font color="blue"&gt;# -------------------------------------------------------------------------&lt;br /&gt;    # mean&lt;br /&gt;    # 平均値の計算&lt;br /&gt;    # -------------------------------------------------------------------------&lt;/font&gt;&lt;br /&gt;    method mean {xList num} {&lt;br /&gt;        set sum [my sum $xList]&lt;br /&gt;        return [expr $sum / $num]&lt;br /&gt;    }&lt;br /&gt;    &lt;font color="blue"&gt;# -------------------------------------------------------------------------&lt;br /&gt;    # sum&lt;br /&gt;    # 合計の計算&lt;br /&gt;    # -------------------------------------------------------------------------&lt;/font&gt;&lt;br /&gt;    method sum {xList} {&lt;br /&gt;        set total 0.0&lt;br /&gt;        foreach x $xList {&lt;br /&gt;            set total [expr $total + $x]&lt;br /&gt;       }&lt;br /&gt;        return $total&lt;br /&gt;    }&lt;br /&gt;    &lt;font color="blue"&gt;# -------------------------------------------------------------------------&lt;br /&gt;    # var&lt;br /&gt;    # 分散の計算&lt;br /&gt;    # -------------------------------------------------------------------------&lt;/font&gt;&lt;br /&gt;    method var {xList xMean} {&lt;br /&gt;        set var 0.0&lt;br /&gt;        foreach x $xList {&lt;br /&gt;            set var [expr $var + ($x - $xMean) * ($x - $xMean)]&lt;br /&gt;        }&lt;br /&gt;        return $var&lt;br /&gt;    }&lt;br /&gt;    &lt;font color="blue"&gt;# -------------------------------------------------------------------------&lt;br /&gt;    # list_simple&lt;br /&gt;    # 入れ子になっているリストをシンプルなリストに変換&lt;br /&gt;    # -------------------------------------------------------------------------&lt;/font&gt;&lt;br /&gt;    method list_simple {xList} {&lt;br /&gt;        regsub -all {[\{\}]} $xList {} foo&lt;br /&gt;        regsub -all {\s{2,}} $foo { } baa&lt;br /&gt;        return $baa&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;font color="blue"&gt;# -----------------------------------------------------------------------------&lt;br /&gt;#  メイン&lt;br /&gt;# -----------------------------------------------------------------------------&lt;/font&gt;&lt;br /&gt;set obj [anova new $data]&lt;br /&gt;if {[$obj oneway]} {&lt;br /&gt;    $obj result&lt;br /&gt;} else {&lt;br /&gt;    puts "failed"&lt;br /&gt;}&lt;br /&gt;&lt;font color="blue"&gt;# ---&lt;br /&gt;# END PROGRAM&lt;/font&gt;&lt;br /&gt;&lt;/pre&gt;実行例を以下に示しました。&lt;br /&gt;&lt;pre style="clear:both;"&gt;$ &lt;font color="black"&gt;./anova_1way.tcl&lt;/font&gt;&lt;br /&gt;ANOVA (1way)&lt;br /&gt;Source        SS       df       MS    F val&lt;br /&gt;Between    0.318        2    0.159    4.615&lt;br /&gt;Within     0.310        9    0.034&lt;br /&gt;Total      0.628       11&lt;br /&gt;&lt;/pre&gt;まだ、p値の計算はできていません。この部分は C で Tcl のライブラリを作成する予定です。あとは、すこしずつ GUI を作りながら、二元配置、直交表の分散分析にも対応させていく予定です。&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;参考サイト&lt;/h3&gt;[1] &lt;a href="http://aoki2.si.gunma-u.ac.jp/lecture/Average/oneway-ANOVA.html"&gt;一元配置分散分析&lt;/a&gt;&lt;br /&gt;[2] &lt;a href="http://www.uwsp.edu/psych/stat/12/anova-1w.htm"&gt;One Way ANOVA&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9176013-5264316984873796328?l=bitwalk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitwalk.blogspot.com/feeds/5264316984873796328/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9176013&amp;postID=5264316984873796328' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/5264316984873796328'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/5264316984873796328'/><link rel='alternate' type='text/html' href='http://bitwalk.blogspot.com/2010/10/blog-post.html' title='ちょっと分散分析'/><author><name>bitWalk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_76ucAFyAIec/R0tu8qqzG5I/AAAAAAAAABk/MPZg3XxPtPY/s72-c/logo64.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9176013.post-9014842764964334010</id><published>2010-09-10T23:02:00.014+09:00</published><updated>2010-09-12T01:40:09.330+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tcl 関連'/><title type='text'>Tcl/Tk 8.5.9 リリース</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_76ucAFyAIec/R0tu8qqzG5I/AAAAAAAAABk/MPZg3XxPtPY/s1600-h/logo64.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://bp2.blogger.com/_76ucAFyAIec/R0tu8qqzG5I/AAAAAAAAABk/MPZg3XxPtPY/s200/logo64.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5137321788471188370" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;big&gt;T&lt;/big&gt;cl/Tk 8.5.9 が 9 月 8 日付けでリリースされました。Tcl/Tk 8.5 の 9 番目のパッチリリースです。バグフィックスが中心で、付属パッケージのバージョンアップもされています。&lt;br /&gt;最近のリリース周期はすっかり穏やかなペースになり、今回は、8.5.8 から約 10 ヶ月ぶりのリリースになりました。&lt;br /&gt;&lt;pre style="clear:both;"&gt;Date: Wed, 08 Sep 2010 16:42:34 -0400&lt;br /&gt;From: Donald G Porter &amp;lt;donald.porter at nist.gov&amp;gt;&lt;br /&gt;To: Tcl List Core &amp;lt;tcl-core at lists.sourceforge.net&amp;gt;&lt;br /&gt;Subject: [TCLCORE] Tcl/Tk 8.5.9 RELEASED&lt;br /&gt;Tcl/Tk 8.5.9 Release Announcement&lt;br /&gt;September 8, 2010&lt;br /&gt;&lt;br /&gt;The Tcl Core Team is pleased to announce the 8.5.9 releases of the Tcl&lt;br /&gt;dynamic language and the Tk toolkit.  This is the ninth patch release&lt;br /&gt;of Tcl/Tk 8.5.  More details can be found below.  We would like to&lt;br /&gt;express our gratitude to all those who submit bug reports and patches.&lt;br /&gt;This information is invaluable in enabling us to identify and eliminate&lt;br /&gt;problems in the core.&lt;br /&gt;&lt;br /&gt;Where to get the new releases:&lt;br /&gt;------------------------------&lt;br /&gt;&lt;br /&gt;Tcl/Tk 8.5.9 sources are freely available as open source from the&lt;br /&gt;Tcl Developer Xchange web site at:&lt;br /&gt;&lt;br /&gt;         &lt;a href="http://www.tcl.tk/software/tcltk/8.5.html"&gt;http://www.tcl.tk/software/tcltk/8.5.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This web page also contains additional information about the releases,&lt;br /&gt;including new features and notes about installing and compiling the&lt;br /&gt;releases.  Sources are always available from the Tcl SourceForge&lt;br /&gt;project's file distribution area:&lt;br /&gt;&lt;br /&gt;         &lt;a href="http://sourceforge.net/project/showfiles.php?group_id=10894"&gt;http://sourceforge.net/project/showfiles.php?group_id=10894&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Binaries for most major platforms are available from:&lt;br /&gt;&lt;br /&gt;         &lt;a href="http://www.activestate.com/Tcl"&gt;http://www.activestate.com/Tcl&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;For additional information:&lt;br /&gt;---------------------------&lt;br /&gt;&lt;br /&gt;Please visit the Tcl Developer Xchange web site:&lt;br /&gt;&lt;br /&gt;         &lt;a href="http://www.tcl.tk/"&gt;http://www.tcl.tk/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This site contains a variety of information about Tcl/Tk in general, the&lt;br /&gt;core Tcl and Tk distributions, Tcl development tools, and much more.&lt;br /&gt;&lt;br /&gt;Summary of Changes since Tcl/Tk 8.5.8:&lt;br /&gt;--------------------------------------&lt;br /&gt;&lt;br /&gt;The following were the main changes in Tcl/Tk 8.5.9.  A complete list&lt;br /&gt;can be found in the changes file at the root of the source tree.  The&lt;br /&gt;more complete ChangeLog is also included with each source release.  This&lt;br /&gt;is a patch release, so it primarily includes bug fixes and corrections&lt;br /&gt;to erratic behavior.  Below are only the most notable changes.&lt;br /&gt;&lt;br /&gt;    * TIP 359: new X11 option: [&lt;font color="black"&gt;wm attributes -type&lt;/font&gt;]&lt;br /&gt; - stops inappropriate Compiz animation of Tk menu &amp; combobox.&lt;br /&gt;&lt;br /&gt;    * TIP 360: modernize menus on X11.&lt;br /&gt;&lt;br /&gt;    * New widget [&lt;font color="black"&gt;ttk::spinbox&lt;/font&gt;].&lt;br /&gt;&lt;br /&gt;    * [&lt;font color="black"&gt;lappend arr(elem)&lt;/font&gt;] no longer fires read traces as it inconsistently&lt;br /&gt;      has in some situations, but not in others.&lt;br /&gt;         *** POTENTIAL INCOMPATIBILITY ***&lt;br /&gt;&lt;br /&gt;    * [&lt;font color="black"&gt;tk_getOpenFile&lt;/font&gt;] on Windows: unlimited multiple-file selection.&lt;br /&gt;&lt;br /&gt;    * [&lt;font color="black"&gt;load&lt;/font&gt;] uses LOAD_WITH_ALTERED_SEARCH_PATH for fewer surprises when&lt;br /&gt;      bringing in DLLs via dependencies on Windows.&lt;br /&gt;         *** POTENTIAL INCOMPATIBILITY ***&lt;br /&gt;&lt;br /&gt;    * Updated [&lt;font color="black"&gt;send&lt;/font&gt;] security rules to current Ubuntu/Fedora conventions.&lt;br /&gt;&lt;br /&gt;    * Fixed [&lt;font color="black"&gt;wm iconphoto&lt;/font&gt;] on LP64 unix systems.&lt;br /&gt;&lt;br /&gt;    * [&lt;font color="black"&gt;chan copy&lt;/font&gt;] of more than 2**31 bytes is now possible.&lt;br /&gt;&lt;br /&gt;    * &lt;font color="black"&gt;min()&lt;/font&gt; and &lt;font color="black"&gt;max()&lt;/font&gt; functions now work in safe interps.&lt;br /&gt;&lt;br /&gt;    * [&lt;font color="black"&gt;$menu delete $tooBig end&lt;/font&gt;] now properly a no-op.&lt;br /&gt;&lt;br /&gt;    * canvas items now properly updated when canvas state changes.&lt;br /&gt;&lt;br /&gt;    * Revised [&lt;font color="black"&gt;ttk::sizegrip&lt;/font&gt;] to accommodate Compiz.&lt;br /&gt;&lt;br /&gt;    * Revised default Text bindings for &lt;font color="black"&gt;&lt;delete&gt;&lt;/font&gt; and &lt;font color="black"&gt;&lt;backspace&gt;&lt;/font&gt; to account&lt;br /&gt;      for insertion point relationship to the selection.&lt;br /&gt;&lt;br /&gt;    * Corrected result of [&lt;font color="black"&gt;tcl::mathfunc::abs 0.0&lt;/font&gt;].&lt;br /&gt;&lt;br /&gt;    * New version 1.432 of &lt;font color="black"&gt;msgcat&lt;/font&gt; package.&lt;br /&gt;&lt;br /&gt;    * New version 1.0.9 of &lt;font color="black"&gt;platform&lt;/font&gt; package.&lt;br /&gt;&lt;br /&gt;    * New version 0.8.6 of &lt;font color="black"&gt;tile&lt;/font&gt; package.&lt;br /&gt;&lt;br /&gt;    * Changes to support building with MSVC++ 2010.&lt;br /&gt;&lt;br /&gt;    * Prevent race condition in some XIM implementations.&lt;br /&gt;&lt;br /&gt;    * Fixed bad results from [&lt;font color="black"&gt;file rootname&lt;/font&gt;].&lt;br /&gt;&lt;br /&gt;    * Prevent consumption of all memory when [&lt;font color="black"&gt;chan copy&lt;/font&gt;] copies to slow channel.&lt;br /&gt;&lt;br /&gt;    * [&lt;font color="black"&gt;wm transient&lt;/font&gt;] now works even with withdrawn windows.&lt;br /&gt;&lt;br /&gt;    * &lt;font color="black"&gt;$DISPLAY&lt;/font&gt; can now contain "&lt;font color="black"&gt;::&lt;/font&gt;".&lt;br /&gt;&lt;br /&gt;    * Restored compatibility of [&lt;font color="black"&gt;entry&lt;/font&gt;] validation with Itcl variable scope.&lt;br /&gt;&lt;br /&gt;    * Fixed line-sensitive matching by [&lt;font color="black"&gt;regexp&lt;/font&gt;].&lt;br /&gt;&lt;br /&gt;    * Fixed memory corruption in complex canvas tag searches.&lt;br /&gt;&lt;br /&gt;    * Fixed crash in encoding finalization.&lt;br /&gt;&lt;br /&gt;    * Fixed crashes in widget destruction.&lt;br /&gt;&lt;br /&gt;    * Fixed crash in &lt;font color="black"&gt;GetFontFamilyName()&lt;/font&gt;.&lt;br /&gt;&lt;br /&gt;    * Fixed crash in menu deletion.&lt;br /&gt;&lt;br /&gt;    * Fixed crash in peer text dump.&lt;br /&gt;&lt;br /&gt;    * Fixed crash when bind scripts are empty.&lt;br /&gt;&lt;br /&gt;    * Fixed crash in unset traces during [&lt;font color="black"&gt;array unset&lt;/font&gt;].&lt;br /&gt;&lt;br /&gt;    * Fixed crash deleting vars during callframe pop.&lt;br /&gt;&lt;br /&gt;    * Fixed crash in [&lt;font color="black"&gt;open |noSuchFile rb&lt;/font&gt;].&lt;br /&gt;&lt;br /&gt;    * Fixed crash in [&lt;font color="black"&gt;chan postevent&lt;/font&gt;].&lt;br /&gt;&lt;br /&gt;    * Fixed programming error in [&lt;font color="black"&gt;clock format&lt;/font&gt;] in he_IL locale.&lt;br /&gt;&lt;br /&gt;    * Safe Base and Safe Tk rewrites&lt;br /&gt;&lt;br /&gt;--&lt;br /&gt;Tcl Core Team and Maintainers&lt;br /&gt;Don Porter, Tcl Core Release Manager&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;-- &lt;br /&gt;| Don Porter          Mathematical and Computational Sciences Division |&lt;br /&gt;| donald.porter at nist.gov          Information Technology Laboratory |&lt;br /&gt;| &lt;a href="http://math.nist.gov/~DPorter/"&gt;http://math.nist.gov/~DPorter/&lt;/a&gt;                                  NIST |&lt;br /&gt;|______________________________________________________________________|&lt;br /&gt;&lt;br /&gt;------------------------------------------------------------------------------&lt;br /&gt;This SF.net Dev2Dev email is sponsored by:&lt;br /&gt;&lt;br /&gt;Show off your parallel programming skills.&lt;br /&gt;Enter the Intel(R) Threading Challenge 2010.&lt;br /&gt;&lt;a href="http://p.sf.net/sfu/intel-thread-sfd"&gt;http://p.sf.net/sfu/intel-thread-sfd&lt;br /&gt;&lt;/a&gt;_______________________________________________&lt;br /&gt;Tcl-Core mailing list&lt;br /&gt;Tcl-Core at lists.sourceforge.net&lt;br /&gt;&lt;a href="https://lists.sourceforge.net/lists/listinfo/tcl-core"&gt;https://lists.sourceforge.net/lists/listinfo/tcl-core&lt;/a&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9176013-9014842764964334010?l=bitwalk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitwalk.blogspot.com/feeds/9014842764964334010/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9176013&amp;postID=9014842764964334010' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/9014842764964334010'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/9014842764964334010'/><link rel='alternate' type='text/html' href='http://bitwalk.blogspot.com/2010/09/tcltk-859.html' title='Tcl/Tk 8.5.9 リリース'/><author><name>bitWalk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_76ucAFyAIec/R0tu8qqzG5I/AAAAAAAAABk/MPZg3XxPtPY/s72-c/logo64.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9176013.post-548789223980964490</id><published>2010-08-29T13:32:00.008+09:00</published><updated>2010-08-29T13:59:00.974+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='その他'/><title type='text'>自治体に広がるOpenOffice.org</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_76ucAFyAIec/THnk6l8YCyI/AAAAAAAAA_A/rIiATxwXQmQ/s1600/logo_OOo.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 103px; height: 32px;" src="http://2.bp.blogspot.com/_76ucAFyAIec/THnk6l8YCyI/AAAAAAAAA_A/rIiATxwXQmQ/s200/logo_OOo.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5510687314333403938" /&gt;&lt;/a&gt;&lt;big&gt;2&lt;/big&gt;010/08/26 付けの &lt;a href="http://itpro.nikkeibp.co.jp/index.html"&gt;ITPro&lt;/a&gt; の記事で、オープンソースのオフィスソフト &lt;a href="http://www.openoffice.org/"&gt;OpenOffice.org&lt;/a&gt; を採用する自治体が増えているという記事がありました。この場合、オープンソースであることは、たぶんどうでも良いことなのでしょう。&lt;a href="http://office.microsoft.com/ja-jp/products/"&gt;Microsoft Office&lt;/a&gt; と比較すると無料で入手できること、つまり経費を節約出来ることを第一に着目して採用することは、仕方がないことなのかもしれません。こういった動きの中で OpenOffice.org のユーザーが増えて、開発者やユーザーグループの活動が活発になり、結果としてオープンソースであることの恩恵を享受でき、なにがしかの貢献ができるようになれば良いのです。&lt;br /&gt;&lt;br /&gt;[1] &lt;a href="http://itpro.nikkeibp.co.jp/article/Watcher/20100824/351416/?ST=oss&amp;P=1"&gt;自治体に広がるOpenOffice.org&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;自分が勤めている会社では、OS やアプリケーションは Microsoft の製品がほとんどです。残念ながら、自社の情報システム部門がオープンソース系のシステム導入に前向きになる日が来るとしても、それはまだまだ先です、きっと。&lt;br /&gt;&amp;nbsp;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9176013-548789223980964490?l=bitwalk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://itpro.nikkeibp.co.jp/article/Watcher/20100824/351416/?ST=oss&amp;P=1' title='自治体に広がるOpenOffice.org'/><link rel='replies' type='application/atom+xml' href='http://bitwalk.blogspot.com/feeds/548789223980964490/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9176013&amp;postID=548789223980964490' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/548789223980964490'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/548789223980964490'/><link rel='alternate' type='text/html' href='http://bitwalk.blogspot.com/2010/08/openofficeorg.html' title='自治体に広がるOpenOffice.org'/><author><name>bitWalk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_76ucAFyAIec/THnk6l8YCyI/AAAAAAAAA_A/rIiATxwXQmQ/s72-c/logo_OOo.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9176013.post-2627149339584863511</id><published>2010-08-14T16:40:00.012+09:00</published><updated>2010-08-14T17:31:52.599+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Fedora'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><category scheme='http://www.blogger.com/atom/ns#' term='Mono'/><title type='text'>CLR のバージョンの取得</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s1600-h/fedora.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 43px; height: 44px;" src="http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s200/fedora.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5280249589920714050" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_76ucAFyAIec/TEusx1nIKRI/AAAAAAAAA8U/oQRJgdKpuoY/s1600/Mono-gorilla-aqua.32px.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 30px; height: 36px;" src="http://1.bp.blogspot.com/_76ucAFyAIec/TEusx1nIKRI/AAAAAAAAA8U/oQRJgdKpuoY/s200/Mono-gorilla-aqua.32px.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5497677742340581650" /&gt;&lt;/a&gt;&lt;big&gt;M&lt;/big&gt;ono で開発したアプリケーションを Windows でも実行することを想定しているので、ビルド時と実行時の CLR のバージョンを把握できる方法があればなにかと便利です。情報がないか探したところ、下記の参考サイト [1] にぴったりな情報があったので、早速試してみました。&lt;br /&gt;&lt;pre style="clear:both;"&gt;&lt;br /&gt;using System;&lt;br /&gt;using System.Reflection;&lt;br /&gt;using System.Runtime.InteropServices;&lt;br /&gt;&lt;br /&gt;namespace bitWalk&lt;br /&gt;{&lt;br /&gt;    class VerTest&lt;br /&gt;    {&lt;br /&gt;        public static void Main (string[] args)&lt;br /&gt;        {&lt;br /&gt;            string clrVersionBuildtime = Assembly.GetExecutingAssembly ().ImageRuntimeVersion;&lt;br /&gt;            Console.WriteLine ("built CLR version: " + clrVersionBuildtime);&lt;br /&gt;            string clrVersionRuntime = RuntimeEnvironment.GetSystemVersion(); &lt;br /&gt;            Console.WriteLine ("runtime CLR version: " + clrVersionRuntime);&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;プログラム名は &lt;tt&gt;VerTest.exe&lt;/tt&gt; です。Linux の端末エミュレータ上で実行してみると、CLR のバージョンはどちらも &lt;tt&gt;v2.0.50727&lt;/tt&gt; でした。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_76ucAFyAIec/TGZJ4sC-eGI/AAAAAAAAA-Y/W3c6KrYDO4Y/s1600/VerTest_mono.png"&gt;&lt;img style="display:block; margin:10px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 50px;" src="http://1.bp.blogspot.com/_76ucAFyAIec/TGZJ4sC-eGI/AAAAAAAAA-Y/W3c6KrYDO4Y/s320/VerTest_mono.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5505168832752154722" /&gt;&lt;/a&gt;&lt;br /&gt;Wine 上だと、実行バージョンが変わるかもしれないと期待して試してみましたが、両方とも &lt;tt&gt;v2.0.50727&lt;/tt&gt; でした。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_76ucAFyAIec/TGZKHNRluXI/AAAAAAAAA-g/7ijtoRJuvbY/s1600/VerTest_mono_wine.png"&gt;&lt;img style="display:block; margin:10px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 108px;" src="http://2.bp.blogspot.com/_76ucAFyAIec/TGZKHNRluXI/AAAAAAAAA-g/7ijtoRJuvbY/s320/VerTest_mono_wine.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5505169082189986162" /&gt;&lt;/a&gt;&lt;br /&gt;それでは Windows 上であれば、と期待して実行してみましたが、結果はやはり同じ &lt;tt&gt;v2.0.50727&lt;/tt&gt; です。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_76ucAFyAIec/TGZKWfO9wlI/AAAAAAAAA-o/_0MSRiGTvLg/s1600/VerTest_mono_xp.png"&gt;&lt;img style="display:block; margin:10px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 58px;" src="http://3.bp.blogspot.com/_76ucAFyAIec/TGZKWfO9wlI/AAAAAAAAA-o/_0MSRiGTvLg/s320/VerTest_mono_xp.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5505169344708854354" /&gt;&lt;/a&gt;&lt;br /&gt;なんとなく納得できないので、今度は、Windows XP 上の &lt;a href="http://www.microsoft.com/japan/msdn/vstudio/express/"&gt;Visual Studio 2010 Express&lt;/a&gt; で同じソースを &lt;tt&gt;VerTest_VS.exe&lt;/tt&gt; としてコンパイルして実行してみました。Windows 上では &lt;tt&gt;v4.0.30319&lt;/tt&gt; と表示されています。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_76ucAFyAIec/TGZKjJxekXI/AAAAAAAAA-w/Lgyc2403Hys/s1600/VerTest_VS_mono_xp.png"&gt;&lt;img style="display:block; margin:10px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 58px;" src="http://3.bp.blogspot.com/_76ucAFyAIec/TGZKjJxekXI/AAAAAAAAA-w/Lgyc2403Hys/s320/VerTest_VS_mono_xp.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5505169562286330226" /&gt;&lt;/a&gt;&lt;br /&gt;Linux / Mono 上で実行すると、今度は確かに実行 CLR のバージョンが変わりました (&lt;tt&gt;v1.1.4322&lt;/tt&gt;)。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_76ucAFyAIec/TGZKtdwQ0LI/AAAAAAAAA-4/DtkqtDL6Des/s1600/VerTest_VS_mono.png"&gt;&lt;img style="display:block; margin:10px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 67px;" src="http://2.bp.blogspot.com/_76ucAFyAIec/TGZKtdwQ0LI/AAAAAAAAA-4/DtkqtDL6Des/s320/VerTest_VS_mono.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5505169739448635570" /&gt;&lt;/a&gt;&lt;br /&gt;Mono でコンパイルしたプログラムで直接確認できませんでしたが、機能的には確認できたので、とりあえず納得です。&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;参考サイト&lt;/h3&gt;&lt;br /&gt;[1] &lt;a href="http://www.atmarkit.co.jp/fdotnet/dotnettips/278clrversion/clrversion.html"&gt;＠IT：.NET TIPS ビルド時および実行時のCLRバージョンを取得するには？ - C# VB.NET&lt;/a&gt;&lt;br /&gt;[2] &lt;a href="http://www.atmarkit.co.jp/fdotnet/dotnettips/350sidebyside1/sidebyside1.html"&gt;＠IT：.NET TIPS サイド・バイ・サイドによりCLRバージョンを指定するには？&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9176013-2627149339584863511?l=bitwalk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitwalk.blogspot.com/feeds/2627149339584863511/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9176013&amp;postID=2627149339584863511' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/2627149339584863511'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/2627149339584863511'/><link rel='alternate' type='text/html' href='http://bitwalk.blogspot.com/2010/08/clr.html' title='CLR のバージョンの取得'/><author><name>bitWalk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s72-c/fedora.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9176013.post-8469672403127264498</id><published>2010-08-13T23:29:00.014+09:00</published><updated>2010-08-14T10:53:17.393+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Fedora'/><category scheme='http://www.blogger.com/atom/ns#' term='Mono'/><title type='text'>Math.NET Numerics</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s1600-h/fedora.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 43px; height: 44px;" src="http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s200/fedora.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5280249589920714050" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_76ucAFyAIec/TEusx1nIKRI/AAAAAAAAA8U/oQRJgdKpuoY/s1600/Mono-gorilla-aqua.32px.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 30px; height: 36px;" src="http://1.bp.blogspot.com/_76ucAFyAIec/TEusx1nIKRI/AAAAAAAAA8U/oQRJgdKpuoY/s200/Mono-gorilla-aqua.32px.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5497677742340581650" /&gt;&lt;/a&gt;&lt;big&gt;C&lt;/big&gt;# で手軽に使える、オープンソースの数値計算ライブラリがないか探してみました。演算速度のパフォーマンスを求める場合は、C# 以外の環境を検討する必要がありますが、それにしても「ある程度」の数値計算ぐらいは C# で開発していれば C# で処理したいですし、その「ある程度」がどの程度なのかも評価しなければなりません。&lt;br /&gt;&lt;br /&gt;Mono プロジェクトの、&lt;a href="http://www.mono-project.com/Libraries"&gt;ライブラリを紹介しているページ&lt;/a&gt;の Math の項目に、dnAnalytics というライブラリが紹介されていますが、調べてみると、当の dnAnalytics と、Math.NET Iridium という他の数値計算ライブラリを開発するプロジェクトが一緒になり、現在 &lt;a href="http://mathnetnumerics.codeplex.com/"&gt;Math.NET Numerics&lt;/a&gt; というプロジェクトになっていることが判りました。&lt;a href="http://mathnetnumerics.codeplex.com/license"&gt;ライセンスは MIT/X11&lt;/a&gt; になっています。（ちなみに、以前の Math.NET Iridium は LGPL でした。）&lt;br /&gt;&lt;br /&gt;早速、&lt;a href="http://mathnetnumerics.codeplex.com/releases/view/39596"&gt;ダウンロードのサイト&lt;/a&gt;から &lt;tt&gt;MathNet.Numerics.2010.1.28.762.zip&lt;/tt&gt; をダウンロードして、MonoDevelop で簡単なサンプルを動かしてみました。最初、&lt;a href="http://numerics.mathdotnet.com/doc/CodeSamples.ashx"&gt;Math.NET Numerics Code Samples - Math.NET Numerics Documentation&lt;/a&gt; にあるサンプルをそのままビルドしようとしましたが、以前の Math.NET Iridium 用のサンプルのままで、現時点で存在しないメソッドを使っていたので、少し直しました。動作確認だけだったので面白いサンプルではありません。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_76ucAFyAIec/TGVnZD6MGII/AAAAAAAAA-Q/TYa2tvumviA/s1600/MathTest.png"&gt;&lt;img style="display:block; margin:10px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 280px;" src="http://4.bp.blogspot.com/_76ucAFyAIec/TGVnZD6MGII/AAAAAAAAA-Q/TYa2tvumviA/s400/MathTest.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5504919799774058626" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://numerics.mathdotnet.com/api/"&gt;ドキュメントもある程度揃っている&lt;/a&gt;ので、簡単なサンプルを作るなどして、使い勝手を評価していこうと考えています。&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;参考サイト&lt;/h3&gt;&lt;br /&gt;[1] &lt;a href="http://numerics.mathdotnet.com/"&gt;Math.NET Numerics&lt;/a&gt;&lt;br /&gt;[2] &lt;a href="http://numerics.mathdotnet.com/doc/MonoLinux.ashx"&gt;Math.NET on Mono (and Linux) - Math.NET Numerics Documentation&lt;/a&gt;&lt;br /&gt;   &lt;small&gt;&lt;sup&gt;注）&lt;/sup&gt;以前の Math.NET Iridium の時のままですが同じことですので読み替えてください。&lt;/small&gt; &lt;br /&gt;&amp;nbsp;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9176013-8469672403127264498?l=bitwalk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://mathnetnumerics.codeplex.com/' title='Math.NET Numerics'/><link rel='replies' type='application/atom+xml' href='http://bitwalk.blogspot.com/feeds/8469672403127264498/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9176013&amp;postID=8469672403127264498' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/8469672403127264498'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/8469672403127264498'/><link rel='alternate' type='text/html' href='http://bitwalk.blogspot.com/2010/08/mathnet-numerics.html' title='Math.NET Numerics'/><author><name>bitWalk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s72-c/fedora.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9176013.post-7642561262555182956</id><published>2010-08-12T19:24:00.015+09:00</published><updated>2010-08-12T21:14:02.598+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Fedora'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><category scheme='http://www.blogger.com/atom/ns#' term='Mono'/><title type='text'>Mono で GUI プログラミング (4)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s1600-h/fedora.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 43px; height: 44px;" src="http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s200/fedora.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5280249589920714050" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_76ucAFyAIec/TEusx1nIKRI/AAAAAAAAA8U/oQRJgdKpuoY/s1600/Mono-gorilla-aqua.32px.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 30px; height: 36px;" src="http://1.bp.blogspot.com/_76ucAFyAIec/TEusx1nIKRI/AAAAAAAAA8U/oQRJgdKpuoY/s200/Mono-gorilla-aqua.32px.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5497677742340581650" /&gt;&lt;/a&gt;&lt;big&gt;今&lt;/big&gt;週は、お盆休みで時間に余裕があるので、インターネット上で入手できる .NET の GUI アプリケーションの C# ソースがあれば、ダウンロードして mono でビルドできるかどうか試してばかりいます。&lt;br /&gt;&lt;br /&gt;今回は、&lt;a href="http://www.yukun.info/"&gt;Yukun's Blog&lt;/a&gt; で紹介されていたサンプルをビルドしてみました。サンプルは、以下の URL で紹介されている「キッチンタイマー」です。&lt;br /&gt;&lt;br /&gt;・&lt;a href="http://www.yukun.info/blog/2008/02/csharp-timer.html"&gt;C#でキッチンタイマーを作ろう - Yukun&amp;#039;s Blog&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;このサイトで紹介されているコードは、&lt;tt&gt;FormTimer.cs&lt;/tt&gt; と &lt;tt&gt;FormTimer.Designer.cs&lt;/tt&gt; の二種類です。これに、次のメインメソッドを記述した &lt;tt&gt;FormTimer.Main.cs&lt;/tt&gt; を加えてビルドしました。&lt;br /&gt;&lt;pre style="clear:both;"&gt;&lt;br /&gt;using System;&lt;br /&gt;using System.Windows.Forms;&lt;br /&gt;&lt;br /&gt;namespace Sample&lt;br /&gt;{&lt;br /&gt;    class Program&lt;br /&gt;    {&lt;br /&gt;        static void Main ()&lt;br /&gt;        {&lt;br /&gt;            Application.Run (new FormTimer ());&lt;br /&gt;        }&lt;br /&gt;    } &lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;複数のソースファイルから、単一の実行ファイルをビルドするには、&lt;tt&gt;-out&lt;/tt&gt; オプションで出力ファイル名を指定して、ビルドするソースファイルを列挙します。&lt;br /&gt;&lt;pre style="clear:both;"&gt;&lt;br /&gt;$ &lt;font color="black"&gt;gmcs -pkg:dotnet -target:winexe -out:FormTimer.exe FormTimer.Designer.cs FormT&lt;br /&gt;imer.Main.cs FormTimer.cs&lt;/font&gt;&lt;br /&gt;$ &lt;font color="black"&gt;mono FormTimer.exe &amp;amp;&lt;/font&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Linux での実行例&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_76ucAFyAIec/TGPRATiJqGI/AAAAAAAAA90/ZtvTByvBsHQ/s1600/FormTimer.png"&gt;&lt;img style="display:block; margin:10px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 188px; height: 158px;" src="http://4.bp.blogspot.com/_76ucAFyAIec/TGPRATiJqGI/AAAAAAAAA90/ZtvTByvBsHQ/s320/FormTimer.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5504472972750596194" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;h2&gt;MonoDevelop の利用&lt;/h2&gt;&lt;br /&gt;まともなアプリケーションを作ろうとすると、ソースコードは長大なファイルになるか、あるいは、いくつもの分割されたファイルになります。上記の例のように 3 つぐらいのソースコードであれば我慢ができますが、それ以上になると管理しきれなくなります。そんなとき IDE を使うと便利です。Mono 用の IDE に &lt;a href="http://monodevelop.com/"&gt;MonoDevelop&lt;/a&gt; があります。Fedora だと yum コマンドでインストールできます。以下は、MonoDevelop (2.2.2) で、上記のサンプルを編集している例です。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_76ucAFyAIec/TGPjd46pQII/AAAAAAAAA-I/L5o6ww0mtZY/s1600/MonoDevelop.png"&gt;&lt;img style="display:block; margin:10px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 304px;" src="http://2.bp.blogspot.com/_76ucAFyAIec/TGPjd46pQII/AAAAAAAAA-I/L5o6ww0mtZY/s400/MonoDevelop.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5504493272210948226" /&gt;&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9176013-7642561262555182956?l=bitwalk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitwalk.blogspot.com/feeds/7642561262555182956/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9176013&amp;postID=7642561262555182956' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/7642561262555182956'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/7642561262555182956'/><link rel='alternate' type='text/html' href='http://bitwalk.blogspot.com/2010/08/mono-gui-4.html' title='Mono で GUI プログラミング (4)'/><author><name>bitWalk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s72-c/fedora.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9176013.post-7098445966191261564</id><published>2010-08-08T11:27:00.013+09:00</published><updated>2010-08-10T13:16:34.243+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Fedora'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><category scheme='http://www.blogger.com/atom/ns#' term='Mono'/><title type='text'>Mono で GUI プログラミング (3)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s1600-h/fedora.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 43px; height: 44px;" src="http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s200/fedora.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5280249589920714050" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_76ucAFyAIec/TEusx1nIKRI/AAAAAAAAA8U/oQRJgdKpuoY/s1600/Mono-gorilla-aqua.32px.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 30px; height: 36px;" src="http://1.bp.blogspot.com/_76ucAFyAIec/TEusx1nIKRI/AAAAAAAAA8U/oQRJgdKpuoY/s200/Mono-gorilla-aqua.32px.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5497677742340581650" /&gt;&lt;/a&gt;&lt;big&gt;E&lt;/big&gt;xcel のようなスプレッドシートを使いたければ、それこそ Excel とか OpenOffice.org Calc を使えば良いのですが、GUI アプリケーションでちょっとしたスプレッドシートを使いたい時があります。&lt;br /&gt;&lt;br /&gt;DataGridView コントロールを利用した例を [1] で見つけたので、それを少し加工したサンプル &lt;tt&gt;DataGridViewTest.cs&lt;/tt&gt; を紹介します。&lt;br /&gt;&lt;pre style="clear:both;"&gt;&lt;br /&gt;&lt;font color="blue"&gt;///////////////////////////////////////////////////////////////////////////////&lt;br /&gt;//  DataGridViewTest.cs - DataGridView コントロールを使ったサンプル&lt;br /&gt;//&lt;br /&gt;//  参考／引用: &lt;br /&gt;//  &lt;a href="http://www.koders.com/csharp/fidD46360900F4ED743F0AC36E2E349957E1690360F.aspx?s=datagrid#L6"&gt;Koders Code Search: Test.cs - C#&lt;/a&gt;&lt;br /&gt;//  modified by Fuhito Suguri, 7-Aug-2010&lt;br /&gt;///////////////////////////////////////////////////////////////////////////////&lt;/font&gt;&lt;br /&gt;using System;&lt;br /&gt;using System.Windows.Forms;&lt;br /&gt;using System.Drawing;&lt;br /&gt;&lt;font color="blue"&gt;//&lt;/font&gt;&lt;br /&gt;namespace bitWalk&lt;br /&gt;{&lt;br /&gt;  public class Program&lt;br /&gt;  {&lt;br /&gt;    public static void Main (string[] args) {&lt;br /&gt;      DataGridViewTest p = new DataGridViewTest();&lt;br /&gt;      p.SampleDataShow();&lt;br /&gt;      Application.Run(p);&lt;br /&gt;    }&lt;br /&gt;  }&lt;br /&gt;  &lt;font color="blue"&gt;//&lt;/font&gt;&lt;br /&gt;  public class DataGridViewTest : Form {&lt;br /&gt;    DataGridView myDataGridView;&lt;br /&gt;    &lt;font color="blue"&gt;/////////////////////////////////////////////////////////////////////////////&lt;br /&gt;    // DataGridViewTest constructor&lt;/font&gt;&lt;br /&gt;    public DataGridViewTest () {&lt;br /&gt;      this.Width  = 400;&lt;br /&gt;      this.Height = 200;&lt;br /&gt;      this.Text = "DataGridViewTest";&lt;br /&gt;      &lt;font color="blue"&gt;//&lt;/font&gt;&lt;br /&gt;      this.Closed += OnClosed;&lt;br /&gt;      &lt;font color="blue"&gt;//&lt;/font&gt;&lt;br /&gt;      myDataGridView = new DataGridView();&lt;br /&gt;      myDataGridView.ColumnCount = 5;&lt;br /&gt;      &lt;font color="blue"&gt;//&lt;/font&gt;&lt;br /&gt;      DataGridViewCellStyle style1 = myDataGridView.ColumnHeadersDefaultCellStyle;&lt;br /&gt;      style1.BackColor = Color.Navy;&lt;br /&gt;      style1.ForeColor = Color.White;&lt;br /&gt;      style1.Font = new Font(myDataGridView.Font, FontStyle.Bold);&lt;br /&gt;      &lt;font color="blue"&gt;//&lt;/font&gt;&lt;br /&gt;      DataGridViewCellStyle style2 = new DataGridViewCellStyle();&lt;br /&gt;      style2.BackColor = Color.Beige;&lt;br /&gt;      style2.ForeColor = Color.Brown;&lt;br /&gt;      style2.Font = new Font("Arial", 8);&lt;br /&gt;      myDataGridView.AlternatingRowsDefaultCellStyle = style2;&lt;br /&gt;      &lt;font color="blue"&gt;//&lt;/font&gt;&lt;br /&gt;      myDataGridView.EditMode = DataGridViewEditMode.EditOnEnter;&lt;br /&gt;      myDataGridView.Name = "myDataGridView";&lt;br /&gt;      myDataGridView.AutoSizeRowsMode =&lt;br /&gt;        DataGridViewAutoSizeRowsMode.DisplayedCellsExceptHeaders;&lt;br /&gt;      myDataGridView.ColumnHeadersBorderStyle =&lt;br /&gt;        DataGridViewHeaderBorderStyle.Raised;&lt;br /&gt;      myDataGridView.CellBorderStyle = DataGridViewCellBorderStyle.Single;&lt;br /&gt;      myDataGridView.GridColor = SystemColors.ActiveBorder;&lt;br /&gt;      myDataGridView.Columns[0].Name = "リリース日";&lt;br /&gt;      myDataGridView.Columns[1].Name = "トラック";&lt;br /&gt;      myDataGridView.Columns[1].DefaultCellStyle.Alignment =&lt;br /&gt;        DataGridViewContentAlignment.MiddleCenter;&lt;br /&gt;      myDataGridView.Columns[2].Name = "タイトル";&lt;br /&gt;      myDataGridView.Columns[3].Name = "アーティスト";&lt;br /&gt;      myDataGridView.Columns[4].Name = "アルバム";&lt;br /&gt;      myDataGridView.Columns[4].DefaultCellStyle.Font =&lt;br /&gt;        new Font(DataGridView.DefaultFont, FontStyle.Italic);&lt;br /&gt;      myDataGridView.SelectionMode = DataGridViewSelectionMode.FullRowSelect; &lt;br /&gt;      myDataGridView.MultiSelect = false;&lt;br /&gt;      myDataGridView.BackgroundColor = Color.Honeydew;&lt;br /&gt;      myDataGridView.Dock = DockStyle.Fill;&lt;br /&gt;      myDataGridView.CellFormatting +=&lt;br /&gt;        new DataGridViewCellFormattingEventHandler(MyDataGridViewCellFormatting);&lt;br /&gt;      myDataGridView.CellParsing +=&lt;br /&gt;        new DataGridViewCellParsingEventHandler(MyDataGridViewCellParsing);&lt;br /&gt;      myDataGridView.CellValidating +=&lt;br /&gt;        new DataGridViewCellValidatingEventHandler(MyDataGridViewCellValidating);&lt;br /&gt;      this.Controls.Add(myDataGridView);&lt;br /&gt;      &lt;font color="blue"&gt;//&lt;/font&gt;&lt;br /&gt;      DataGridViewColumnCollection columns = this.myDataGridView.Columns;&lt;br /&gt;      columns[0].DisplayIndex = 3;&lt;br /&gt;      columns[1].DisplayIndex = 4;&lt;br /&gt;      columns[2].DisplayIndex = 0;&lt;br /&gt;      columns[3].DisplayIndex = 1;&lt;br /&gt;      columns[4].DisplayIndex = 2;&lt;br /&gt;    }&lt;br /&gt;    &lt;font color="blue"&gt;// Populating the DataGrid&lt;/font&gt;&lt;br /&gt;    public void SampleDataShow () {&lt;br /&gt;      DataGridViewRowCollection rows = this.myDataGridView.Rows;&lt;br /&gt;      rows.Add(new string[] {"11/22/1968", "29", "Revolution 9", "Beatles", "The Beatles [White Album]"});&lt;br /&gt;      rows.Add(new string[] {"4/4/1960", "6", "Fools Rush In", "Frank Sinatra", "Nice 'N' Easy"});&lt;br /&gt;      rows.Add(new string[] {"11/11/1971", "1", "One of These Days", "Pink Floyd", "Meddle"});&lt;br /&gt;      rows.Add(new string[] {"4/4/1988", "7", "Where Is MY Mind?", "Pixies", "Surfer Rosa"});&lt;br /&gt;      rows.Add(new string[] {"5/1981", "9", "Can't Find My Mind", "Cramps", "Psychedelic Jungle"});&lt;br /&gt;      rows.Add(new string[] {"6/10/2003", "13", "Scatterbrain. (As Dead As Leaves.)", "Radiohead", "Hail to the Thief"});&lt;br /&gt;      rows.Add(new string[] {"6/30/1992", "3", "Dress", "P J Harvey", "Dry"});&lt;br /&gt;    }&lt;br /&gt;    &lt;font color="blue"&gt;//&lt;/font&gt;&lt;br /&gt;    void MyDataGridViewCellValidating (object sender, EventArgs args) {&lt;br /&gt;    }&lt;br /&gt;    &lt;font color="blue"&gt;//&lt;/font&gt;&lt;br /&gt;    void MyDataGridViewCellParsing (object sender, EventArgs args) {&lt;br /&gt;    }&lt;br /&gt;    &lt;font color="blue"&gt;//&lt;/font&gt;&lt;br /&gt;    void MyDataGridViewCellFormatting (object sender, EventArgs args) {&lt;br /&gt;    }&lt;br /&gt;    &lt;font color="blue"&gt;//&lt;/font&gt;&lt;br /&gt;    void OnClosed (object o, EventArgs e) {&lt;br /&gt;      Console.WriteLine("Closed!");&lt;br /&gt;      Application.Exit();&lt;br /&gt;    }&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;font color="blue"&gt;// END PROGRAM&lt;/font&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Fedora 上でのビルド、および実行は次のようにします。&lt;br /&gt;&lt;pre style="clear:both;"&gt;&lt;br /&gt;$ &lt;font color="black"&gt;gmcs -pkg:dotnet -target:winexe DataGridViewTest.cs&lt;/font&gt;&lt;br /&gt;$ &lt;font color="black"&gt;mono DataGridViewTest.exe &amp;amp;&lt;/font&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_76ucAFyAIec/TF4aq4znEeI/AAAAAAAAA9U/R__zim9XlJM/s1600/DataGridViewTest.png"&gt;&lt;img style="display:block; margin:10px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 162px;" src="http://3.bp.blogspot.com/_76ucAFyAIec/TF4aq4znEeI/AAAAAAAAA9U/R__zim9XlJM/s320/DataGridViewTest.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5502865118799008226" /&gt;&lt;/a&gt;&lt;br /&gt;Windows XP へ &lt;tt&gt;DataGridViewTest.exe&lt;/tt&gt; をコピーして、（ダブルクリックして）実行した結果を以下に示しました。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_76ucAFyAIec/TF4eEYzu3kI/AAAAAAAAA9c/6KPGPDRNFDM/s1600/DataGridViewTest_winxp.png"&gt;&lt;img style="display:block; margin:10px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 160px;" src="http://4.bp.blogspot.com/_76ucAFyAIec/TF4eEYzu3kI/AAAAAAAAA9c/6KPGPDRNFDM/s320/DataGridViewTest_winxp.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5502868855421066818" /&gt;&lt;/a&gt;&lt;br /&gt;アプリケーションで使用するスプレッドシートでも、Excel の機能すべてが必要ではありませんが、それでも、ほとんどの場合で必要になる共通な基本機能があります。これらを用意してある程度汎用性があるクラスを用意しておけば、利用価値が高くなります。&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;参考サイト&lt;/h3&gt;&lt;br /&gt;[1] &lt;a href="http://www.koders.com/csharp/fidD46360900F4ED743F0AC36E2E349957E1690360F.aspx?s=datagrid#L6"&gt;Koders Code Search: Test.cs - C#&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9176013-7098445966191261564?l=bitwalk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitwalk.blogspot.com/feeds/7098445966191261564/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9176013&amp;postID=7098445966191261564' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/7098445966191261564'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/7098445966191261564'/><link rel='alternate' type='text/html' href='http://bitwalk.blogspot.com/2010/08/mono-gui-3.html' title='Mono で GUI プログラミング (3)'/><author><name>bitWalk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s72-c/fedora.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9176013.post-3867334758344130210</id><published>2010-07-31T21:52:00.009+09:00</published><updated>2010-08-10T13:15:40.338+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Fedora'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><category scheme='http://www.blogger.com/atom/ns#' term='Mono'/><title type='text'>Mono で GUI プログラミング (2)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s1600-h/fedora.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 43px; height: 44px;" src="http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s200/fedora.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5280249589920714050" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_76ucAFyAIec/TEusx1nIKRI/AAAAAAAAA8U/oQRJgdKpuoY/s1600/Mono-gorilla-aqua.32px.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 30px; height: 36px;" src="http://1.bp.blogspot.com/_76ucAFyAIec/TEusx1nIKRI/AAAAAAAAA8U/oQRJgdKpuoY/s200/Mono-gorilla-aqua.32px.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5497677742340581650" /&gt;&lt;/a&gt;&lt;big&gt;C&lt;/big&gt;# の練習に、電卓プログラムを作ってみました。Fedora では、mono 用の IDE として &lt;a href="http://ja.wikipedia.org/wiki/MonoDevelop"&gt;MonoDevelop&lt;/a&gt; が利用できますが、GUI については Gkt# が利用できるようになっており、.NET Framework の Form クラスを手軽に利用出来るようになっていなかったので、とりあえずテキストエディタでガリガリ記述してみました。&lt;br /&gt;&lt;br /&gt;やや長いですが、ソース (&lt;tt&gt;dentaku.cs&lt;/tt&gt;) を以下に示します。&lt;br /&gt;&lt;pre style="clear:both;"&gt;&lt;br /&gt;&lt;font color="blue"&gt;///////////////////////////////////////////////////////////////////////////////&lt;br /&gt;//  dentaku.cs - 電卓プログラム&lt;br /&gt;//&lt;br /&gt;//  created by Fuhito Suguri, 31-Jul-2010&lt;br /&gt;///////////////////////////////////////////////////////////////////////////////&lt;/font&gt;&lt;br /&gt;using System;&lt;br /&gt;using System.Drawing;&lt;br /&gt;using System.Windows.Forms;&lt;br /&gt;&lt;font color="blue"&gt;//&lt;/font&gt;&lt;br /&gt;namespace bitWalk&lt;br /&gt;{&lt;br /&gt;  class Program&lt;br /&gt;  {&lt;br /&gt;    static void Main()&lt;br /&gt;    {&lt;br /&gt;      Application.Run(new Dentaku());&lt;br /&gt;    }&lt;br /&gt;  }&lt;br /&gt;  &lt;font color="blue"&gt;/////////////////////////////////////////////////////////////////////////////&lt;br /&gt;  // class Dentaku&lt;br /&gt;  /////////////////////////////////////////////////////////////////////////////&lt;/font&gt;&lt;br /&gt;  class Dentaku : Form&lt;br /&gt;  {&lt;br /&gt;    &lt;font color="blue"&gt;// DISPLAY&lt;/font&gt;&lt;br /&gt;    private Label lab_0;&lt;br /&gt;    &lt;font color="blue"&gt;// KEY&lt;/font&gt;&lt;br /&gt;    private Button but_dot;&lt;br /&gt;    private Button but_equal;&lt;br /&gt;    private Button but_plus;&lt;br /&gt;    private Button but_minus;&lt;br /&gt;    private Button but_mul;&lt;br /&gt;    private Button but_div;&lt;br /&gt;    private Button but_mrc;&lt;br /&gt;    private Button but_mminus;&lt;br /&gt;    private Button but_mplus;&lt;br /&gt;    private Button but_clear;&lt;br /&gt;    private Button but_sign;&lt;br /&gt;    private Button but_percent;&lt;br /&gt;    private Button but_root;&lt;br /&gt;    private Button but_00;&lt;br /&gt;    private Button but_0;&lt;br /&gt;    private Button but_1;&lt;br /&gt;    private Button but_2;&lt;br /&gt;    private Button but_3;&lt;br /&gt;    private Button but_4;&lt;br /&gt;    private Button but_5;&lt;br /&gt;    private Button but_6;&lt;br /&gt;    private Button but_7;&lt;br /&gt;    private Button but_8;&lt;br /&gt;    private Button but_9;&lt;br /&gt;    &lt;font color="blue"&gt;// background color of KEY&lt;/font&gt;&lt;br /&gt;    private Color bgcolor_Disp = Color.PaleGreen;&lt;br /&gt;    private Color bgcolor_Num  = Color.LightCyan;&lt;br /&gt;    private Color bgcolor_Dot  = Color.PowderBlue;&lt;br /&gt;    private Color bgcolor_Op   = Color.Lavender;&lt;br /&gt;    private Color bgcolor_Eq   = Color.LavenderBlush;&lt;br /&gt;    private Color bgcolor_Func = Color.LemonChiffon;&lt;br /&gt;    private Color bgcolor_Memo = Color.LightPink;&lt;br /&gt;    private Color bgcolor_Cls  = Color.HotPink;&lt;br /&gt;    &lt;font color="blue"&gt;// KEY size&lt;/font&gt;&lt;br /&gt;    private Size key_Size  = new Size(50, 30);&lt;br /&gt;    private Size key_Size2 = new Size(50, 60);&lt;br /&gt;    &lt;font color="blue"&gt;// layout&lt;/font&gt;&lt;br /&gt;    private int[] row = {10, 60, 90, 120, 150, 180};&lt;br /&gt;    private int[] col = {10, 60, 110, 160, 210};&lt;br /&gt;    &lt;font color="blue"&gt;// for dentaku calculation&lt;/font&gt;&lt;br /&gt;    private bool    entry_started   = false;&lt;br /&gt;    private bool    entry_dot       = false;&lt;br /&gt;    private decimal entry_result    = 0;&lt;br /&gt;    private decimal entry_memory    = 0;&lt;br /&gt;    private string  entry_operation = null;&lt;br /&gt;    &lt;font color="blue"&gt;/////////////////////////////////////////////////////////////////////////////&lt;br /&gt;    // Dentaku constructor&lt;/font&gt;&lt;br /&gt;    public Dentaku()&lt;br /&gt;    {&lt;br /&gt;      this.Width  = 280;&lt;br /&gt;      this.Height = 250;&lt;br /&gt;      this.Text = "電卓";&lt;br /&gt;      this.FormBorderStyle&lt;br /&gt;        = System.Windows.Forms.FormBorderStyle.FixedDialog;&lt;br /&gt;      &lt;font color="blue"&gt;// DISPLAY&lt;/font&gt;&lt;br /&gt;      this.lab_0 = new Label();&lt;br /&gt;      this.lab_0.Font = new Font("MS UI Gothic", 14);&lt;br /&gt;      this.lab_0.BackColor = bgcolor_Disp;&lt;br /&gt;      this.lab_0.BorderStyle = BorderStyle.FixedSingle;&lt;br /&gt;      this.lab_0.Location = new Point(col[0], row[0]);&lt;br /&gt;      this.lab_0.Name = "lab0";&lt;br /&gt;      this.lab_0.Size = new Size(250, 40);&lt;br /&gt;      this.lab_0.Padding = new Padding(5);&lt;br /&gt;      this.lab_0.Text = "0";&lt;br /&gt;      this.lab_0.TextAlign = ContentAlignment.MiddleRight;&lt;br /&gt;      this.Controls.Add(this.lab_0);&lt;br /&gt;      &lt;font color="blue"&gt;// KEY √&lt;/font&gt;&lt;br /&gt;      this.but_root = new Button();&lt;br /&gt;      this.but_root.BackColor = bgcolor_Func;&lt;br /&gt;      this.but_root.Location = new Point(col[0], row[1]);&lt;br /&gt;      this.but_root.Size = key_Size;&lt;br /&gt;      this.but_root.Text = "√";&lt;br /&gt;      this.but_root.Click += new EventHandler(but_func_Click);&lt;br /&gt;      this.Controls.Add(this.but_root);&lt;br /&gt;      &lt;font color="blue"&gt;// KEY MRC&lt;/font&gt;&lt;br /&gt;      this.but_mrc = new Button();&lt;br /&gt;      this.but_mrc.BackColor = bgcolor_Memo;&lt;br /&gt;      this.but_mrc.Location = new Point(col[1], row[1]);&lt;br /&gt;      this.but_mrc.Size = key_Size;&lt;br /&gt;      this.but_mrc.Text = "MRC";&lt;br /&gt;      this.but_mrc.Click += new EventHandler(but_memo_Click);&lt;br /&gt;      this.Controls.Add(this.but_mrc);&lt;br /&gt;      &lt;font color="blue"&gt;// KEY M-&lt;/font&gt;&lt;br /&gt;      this.but_mminus = new Button();&lt;br /&gt;      this.but_mminus.BackColor = bgcolor_Memo;&lt;br /&gt;      this.but_mminus.Location = new Point(col[2], row[1]);&lt;br /&gt;      this.but_mminus.Size = key_Size;&lt;br /&gt;      this.but_mminus.Text = "M-";&lt;br /&gt;      this.but_mminus.Click += new EventHandler(but_memo_Click);&lt;br /&gt;      this.Controls.Add(but_mminus);&lt;br /&gt;      &lt;font color="blue"&gt;// KEY M+&lt;/font&gt;&lt;br /&gt;      this.but_mplus = new Button();&lt;br /&gt;      this.but_mplus.BackColor = bgcolor_Memo;&lt;br /&gt;      this.but_mplus.Location = new Point(col[3], row[1]);&lt;br /&gt;      this.but_mplus.Size = key_Size;&lt;br /&gt;      this.but_mplus.Text = "M+";&lt;br /&gt;      this.but_mplus.Click += new EventHandler(but_memo_Click);&lt;br /&gt;      this.Controls.Add(this.but_mplus);&lt;br /&gt;      &lt;font color="blue"&gt;// KEY ÷&lt;/font&gt;&lt;br /&gt;      this.but_div = new Button();&lt;br /&gt;      this.but_div.BackColor = bgcolor_Op;&lt;br /&gt;      this.but_div.Location = new Point(col[4], row[1]);&lt;br /&gt;      this.but_div.Size = key_Size;&lt;br /&gt;      this.but_div.Text = "÷";&lt;br /&gt;      this.but_div.Click += new EventHandler(but_ope_Click);&lt;br /&gt;      this.Controls.Add(this.but_div);&lt;br /&gt;      &lt;font color="blue"&gt;// KEY ％&lt;/font&gt;&lt;br /&gt;      this.but_percent = new Button();&lt;br /&gt;      this.but_percent.BackColor = bgcolor_Func;&lt;br /&gt;      this.but_percent.Location = new Point(col[0], row[2]);&lt;br /&gt;      this.but_percent.Size = key_Size;&lt;br /&gt;      this.but_percent.Text = "％";&lt;br /&gt;      this.but_percent.Click += new EventHandler(this.but_func_Click);&lt;br /&gt;      this.Controls.Add(this.but_percent);&lt;br /&gt;      &lt;font color="blue"&gt;// KEY ７&lt;/font&gt;&lt;br /&gt;      this.but_7 = new Button();&lt;br /&gt;      this.but_7.BackColor = bgcolor_Num;&lt;br /&gt;      this.but_7.Location = new Point(col[1], row[2]);&lt;br /&gt;      this.but_7.Size = key_Size;&lt;br /&gt;      this.but_7.Text = "７";&lt;br /&gt;      this.but_7.Click += new EventHandler(but_num_Click);&lt;br /&gt;      this.Controls.Add(this.but_7);&lt;br /&gt;      &lt;font color="blue"&gt;// KEY ８&lt;/font&gt;&lt;br /&gt;      this.but_8 = new Button();&lt;br /&gt;      this.but_8.BackColor = bgcolor_Num;&lt;br /&gt;      this.but_8.Location = new Point(col[2], row[2]);&lt;br /&gt;      this.but_8.Size = key_Size;&lt;br /&gt;      this.but_8.Text = "８";&lt;br /&gt;      this.but_8.Click += new EventHandler(but_num_Click);&lt;br /&gt;      this.Controls.Add(this.but_8);&lt;br /&gt;      &lt;font color="blue"&gt;// KEY ９&lt;/font&gt;&lt;br /&gt;      this.but_9 = new Button();&lt;br /&gt;      this.but_9.BackColor = bgcolor_Num;&lt;br /&gt;      this.but_9.Location = new Point(col[3], row[2]);&lt;br /&gt;      this.but_9.Size = key_Size;&lt;br /&gt;      this.but_9.Text = "９";&lt;br /&gt;      this.but_9.Click += new EventHandler(but_num_Click);&lt;br /&gt;      this.Controls.Add(this.but_9);&lt;br /&gt;      &lt;font color="blue"&gt;// KEY ×&lt;/font&gt;&lt;br /&gt;      this.but_mul = new Button();&lt;br /&gt;      this.but_mul.BackColor = this.bgcolor_Op;&lt;br /&gt;      this.but_mul.Location = new Point(this.col[4], this.row[2]);&lt;br /&gt;      this.but_mul.Size = this.key_Size;&lt;br /&gt;      this.but_mul.Text = "×";&lt;br /&gt;      this.but_mul.Click += new EventHandler(this.but_ope_Click);&lt;br /&gt;      this.Controls.Add(this.but_mul);&lt;br /&gt;      &lt;font color="blue"&gt;// KEY ±&lt;/font&gt;&lt;br /&gt;      this.but_sign = new Button();&lt;br /&gt;      this.but_sign.BackColor = bgcolor_Func;&lt;br /&gt;      this.but_sign.Location = new Point(col[0], row[3]);&lt;br /&gt;      this.but_sign.Size = key_Size;&lt;br /&gt;      this.but_sign.Text = "±";&lt;br /&gt;      this.but_sign.Click += new EventHandler(but_func_Click);&lt;br /&gt;      this.Controls.Add(this.but_sign);&lt;br /&gt;      &lt;font color="blue"&gt;// KEY ４&lt;/font&gt;&lt;br /&gt;      this.but_4 = new Button();&lt;br /&gt;      this.but_4.BackColor = bgcolor_Num;&lt;br /&gt;      this.but_4.Location = new Point(col[1], row[3]);&lt;br /&gt;      this.but_4.Size = key_Size;&lt;br /&gt;      this.but_4.Text = "４";&lt;br /&gt;      this.but_4.Click += new EventHandler(but_num_Click);&lt;br /&gt;      this.Controls.Add(this.but_4);&lt;br /&gt;      &lt;font color="blue"&gt;// KEY ５&lt;/font&gt;&lt;br /&gt;      this.but_5 = new Button();&lt;br /&gt;      this.but_5.BackColor = bgcolor_Num;&lt;br /&gt;      this.but_5.Location = new Point(col[2], row[3]);&lt;br /&gt;      this.but_5.Size = key_Size;&lt;br /&gt;      this.but_5.Text = "５";&lt;br /&gt;      this.but_5.Click += new EventHandler(but_num_Click);&lt;br /&gt;      this.Controls.Add(this.but_5);&lt;br /&gt;      &lt;font color="blue"&gt;// KEY ６&lt;/font&gt;&lt;br /&gt;      this.but_6 = new Button();&lt;br /&gt;      this.but_6.BackColor = bgcolor_Num;&lt;br /&gt;      this.but_6.Location = new Point(col[3], row[3]);&lt;br /&gt;      this.but_6.Size = key_Size;&lt;br /&gt;      this.but_6.Text = "６";&lt;br /&gt;      this.but_6.Click += new EventHandler(but_num_Click);&lt;br /&gt;      this.Controls.Add(this.but_6);&lt;br /&gt;      &lt;font color="blue"&gt;// KEY −&lt;/font&gt;&lt;br /&gt;      this.but_minus = new Button();&lt;br /&gt;      this.but_minus.BackColor = bgcolor_Op;&lt;br /&gt;      this.but_minus.Location = new Point(col[4], row[3]);&lt;br /&gt;      this.but_minus.Size = key_Size;&lt;br /&gt;      this.but_minus.Text = "−";&lt;br /&gt;      this.but_minus.Click += new EventHandler(but_ope_Click);&lt;br /&gt;      this.Controls.Add(this.but_minus);&lt;br /&gt;      &lt;font color="blue"&gt;// KEY C&lt;/font&gt;&lt;br /&gt;      this.but_clear = new Button();&lt;br /&gt;      this.but_clear.BackColor = bgcolor_Cls;&lt;br /&gt;      this.but_clear.Location = new Point(col[0], row[4]);&lt;br /&gt;      this.but_clear.Size = key_Size;&lt;br /&gt;      this.but_clear.Text = "C";&lt;br /&gt;      this.but_clear.Click += new EventHandler(but_clear_Click);&lt;br /&gt;      this.Controls.Add(this.but_clear);&lt;br /&gt;      &lt;font color="blue"&gt;// KEY １&lt;/font&gt;&lt;br /&gt;      this.but_1 = new Button();&lt;br /&gt;      this.but_1.BackColor = bgcolor_Num;&lt;br /&gt;      this.but_1.Location = new Point(col[1], row[4]);&lt;br /&gt;      this.but_1.Size = key_Size;&lt;br /&gt;      this.but_1.Text = "１";&lt;br /&gt;      this.but_1.Click += new EventHandler(but_num_Click);&lt;br /&gt;      this.Controls.Add(this.but_1);&lt;br /&gt;      &lt;font color="blue"&gt;// KEY ２&lt;/font&gt;&lt;br /&gt;      this.but_2 = new Button();&lt;br /&gt;      this.but_2.BackColor = bgcolor_Num;&lt;br /&gt;      this.but_2.Location = new Point(col[2], row[4]);&lt;br /&gt;      this.but_2.Size = key_Size;&lt;br /&gt;      this.but_2.Text = "２";&lt;br /&gt;      this.but_2.Click += new EventHandler(but_num_Click);&lt;br /&gt;      this.Controls.Add(this.but_2);&lt;br /&gt;      &lt;font color="blue"&gt;// KEY ３&lt;/font&gt;&lt;br /&gt;      this.but_3 = new Button();&lt;br /&gt;      this.but_3.BackColor = bgcolor_Num;&lt;br /&gt;      this.but_3.Location = new Point(col[3], row[4]);&lt;br /&gt;      this.but_3.Size = key_Size;&lt;br /&gt;      this.but_3.Text = "３";&lt;br /&gt;      this.but_3.Click += new EventHandler(but_num_Click);&lt;br /&gt;      this.Controls.Add(this.but_3);&lt;br /&gt;      &lt;font color="blue"&gt;// KEY ＋&lt;/font&gt;&lt;br /&gt;      this.but_plus = new Button();&lt;br /&gt;      this.but_plus.BackColor = bgcolor_Op;&lt;br /&gt;      this.but_plus.Location = new Point(col[4], row[4]);&lt;br /&gt;      this.but_plus.Size = key_Size2;&lt;br /&gt;      this.but_plus.Text = "＋";&lt;br /&gt;      this.but_plus.Click += new EventHandler(but_ope_Click);&lt;br /&gt;      this.Controls.Add(this.but_plus);&lt;br /&gt;      &lt;font color="blue"&gt;// KEY ０&lt;/font&gt;&lt;br /&gt;      this.but_0 = new Button();&lt;br /&gt;      this.but_0.BackColor = bgcolor_Num;&lt;br /&gt;      this.but_0.Location = new Point(col[0], row[5]);&lt;br /&gt;      this.but_0.Size = key_Size;&lt;br /&gt;      this.but_0.Text = "０";&lt;br /&gt;      this.but_0.Click += new EventHandler(but_num_Click);&lt;br /&gt;      this.Controls.Add(this.but_0);&lt;br /&gt;      &lt;font color="blue"&gt;// KEY ００&lt;/font&gt;&lt;br /&gt;      this.but_00 = new Button();&lt;br /&gt;      this.but_00.BackColor = bgcolor_Num;&lt;br /&gt;      this.but_00.Location = new Point(col[1], row[5]);&lt;br /&gt;      this.but_00.Size = key_Size;&lt;br /&gt;      this.but_00.Text = "００";&lt;br /&gt;      this.but_00.Click += new EventHandler(but_num_Click);&lt;br /&gt;      this.Controls.Add(this.but_00);&lt;br /&gt;      &lt;font color="blue"&gt;// KEY ・&lt;/font&gt;&lt;br /&gt;      this.but_dot = new Button();&lt;br /&gt;      this.but_dot.BackColor = bgcolor_Dot;&lt;br /&gt;      this.but_dot.Location = new Point(col[2], row[5]);&lt;br /&gt;      this.but_dot.Size = key_Size;&lt;br /&gt;      this.but_dot.Text = "・";&lt;br /&gt;      this.but_dot.Click += new EventHandler(but_dot_Click);&lt;br /&gt;      this.Controls.Add(this.but_dot);&lt;br /&gt;      &lt;font color="blue"&gt;// KEY ＝&lt;/font&gt;&lt;br /&gt;      this.but_equal = new Button();&lt;br /&gt;      this.but_equal.BackColor = bgcolor_Eq;&lt;br /&gt;      this.but_equal.Location = new Point(col[3], row[5]);&lt;br /&gt;      this.but_equal.Size = key_Size;&lt;br /&gt;      this.but_equal.Text = "＝";&lt;br /&gt;      this.but_equal.Click += new EventHandler(but_equal_Click);&lt;br /&gt;      this.Controls.Add(this.but_equal);&lt;br /&gt;    }&lt;br /&gt;    &lt;font color="blue"&gt;///////////////////////////////////////////////////////////////////////////&lt;br /&gt;    // but_num_Click - NUMBER key enter&lt;/font&gt;&lt;br /&gt;    private void but_num_Click(object sender, EventArgs e)&lt;br /&gt;    {&lt;br /&gt;      Button but = (Button)sender;&lt;br /&gt;      string n = "0";&lt;br /&gt;      switch (but.Text)&lt;br /&gt;      {&lt;br /&gt;        case "０" :   n = "0";  break;&lt;br /&gt;        case "００" : n = "00"; break;&lt;br /&gt;        case "１" :   n = "1";  break;&lt;br /&gt;        case "２" :   n = "2";  break;&lt;br /&gt;        case "３" :   n = "3";  break;&lt;br /&gt;        case "４" :   n = "4";  break;&lt;br /&gt;        case "５" :   n = "5";  break;&lt;br /&gt;        case "６" :   n = "6";  break;&lt;br /&gt;        case "７" :   n = "7";  break;&lt;br /&gt;        case "８" :   n = "8";  break;&lt;br /&gt;        case "９" :   n = "9";  break;&lt;br /&gt;      }&lt;br /&gt;      if (entry_started == false)&lt;br /&gt;      {&lt;br /&gt;        lab_0.Text = "0";&lt;br /&gt;      }&lt;br /&gt;      if (lab_0.Text == "0")&lt;br /&gt;      {&lt;br /&gt;        if (n != "00")&lt;br /&gt;        {&lt;br /&gt;          lab_0.Text = n;&lt;br /&gt;        }&lt;br /&gt;      }&lt;br /&gt;      else&lt;br /&gt;      {&lt;br /&gt;        lab_0.Text = lab_0.Text + n;&lt;br /&gt;      }&lt;br /&gt;      entry_started = true;&lt;br /&gt;    }&lt;br /&gt;    &lt;font color="blue"&gt;///////////////////////////////////////////////////////////////////////////&lt;br /&gt;    // but_dot_Click - DOT key enter&lt;/font&gt;&lt;br /&gt;    private void but_dot_Click(object sender, EventArgs e)&lt;br /&gt;    {&lt;br /&gt;      if (entry_dot == false)&lt;br /&gt;      {&lt;br /&gt;        if (entry_started == false)&lt;br /&gt;        { &lt;br /&gt;         lab_0.Text = "0.";&lt;br /&gt;        }&lt;br /&gt;        else&lt;br /&gt;        {&lt;br /&gt;          lab_0.Text = lab_0.Text + ".";&lt;br /&gt;        }&lt;br /&gt;        entry_started = true;&lt;br /&gt;        entry_dot     = true;&lt;br /&gt;      } &lt;br /&gt;    }&lt;br /&gt;    &lt;font color="blue"&gt;///////////////////////////////////////////////////////////////////////////&lt;br /&gt;    // but_func_Click - Function key enter&lt;/font&gt;&lt;br /&gt;    private void but_func_Click(object sender, EventArgs e)&lt;br /&gt;    {&lt;br /&gt;      decimal n;&lt;br /&gt;      Button but = (Button)sender;&lt;br /&gt;      switch (but.Text)&lt;br /&gt;      {&lt;br /&gt;        case "±" :&lt;br /&gt;          n = decimal.Parse(lab_0.Text) * -1;&lt;br /&gt;          lab_0.Text = n.ToString();&lt;br /&gt;          break;&lt;br /&gt;        case "％" :&lt;br /&gt;          n = (decimal)(double.Parse(lab_0.Text) / 100);&lt;br /&gt;          lab_0.Text = n.ToString();&lt;br /&gt;          break;&lt;br /&gt;        case "√" :&lt;br /&gt;          try&lt;br /&gt;          {&lt;br /&gt;            n = (decimal)Math.Sqrt((double)decimal.Parse(lab_0.Text));&lt;br /&gt;            lab_0.Text = n.ToString();&lt;br /&gt;          }&lt;br /&gt;          catch&lt;br /&gt;          {&lt;br /&gt;            lab_0.Text = "E";&lt;br /&gt;          }&lt;br /&gt;          break;&lt;br /&gt;      }&lt;br /&gt;      entry_started = false;&lt;br /&gt;      entry_dot     = false;&lt;br /&gt;    }&lt;br /&gt;    &lt;font color="blue"&gt;///////////////////////////////////////////////////////////////////////////&lt;br /&gt;    // but_ope_Click - OPERATION key enter&lt;/font&gt;&lt;br /&gt;    private void but_ope_Click(object sender, EventArgs e)&lt;br /&gt;    {&lt;br /&gt;      Button but = (Button)sender;&lt;br /&gt;      if (entry_operation != null)&lt;br /&gt;      {&lt;br /&gt;        but_equal_calculation();&lt;br /&gt;      }&lt;br /&gt;      entry_operation = but.Text;&lt;br /&gt;      entry_result    = decimal.Parse(lab_0.Text);&lt;br /&gt;      entry_started   = false;&lt;br /&gt;      entry_dot       = false;&lt;br /&gt;    }&lt;br /&gt;    &lt;font color="blue"&gt;///////////////////////////////////////////////////////////////////////////&lt;br /&gt;    // but_equal_Click - EQUAL key enter&lt;/font&gt;&lt;br /&gt;    private void but_equal_Click(object sender, EventArgs e)&lt;br /&gt;    {&lt;br /&gt;      if (entry_operation != null)&lt;br /&gt;      {&lt;br /&gt;        but_equal_calculation();&lt;br /&gt;      }&lt;br /&gt;      entry_started = false;&lt;br /&gt;      entry_dot     = false;&lt;br /&gt;    }&lt;br /&gt;    &lt;font color="blue"&gt;///////////////////////////////////////////////////////////////////////////&lt;br /&gt;    // but_equal_calculation - sub for EQUAL key enter&lt;/font&gt;&lt;br /&gt;    private void but_equal_calculation()&lt;br /&gt;    {&lt;br /&gt;      decimal n = 0;&lt;br /&gt;      switch (entry_operation)&lt;br /&gt;      {&lt;br /&gt;        case "＋" :&lt;br /&gt;          n = entry_result + decimal.Parse(lab_0.Text);&lt;br /&gt;          lab_0.Text = n.ToString();&lt;br /&gt;          break;&lt;br /&gt;        case "−" :&lt;br /&gt;          n = entry_result - decimal.Parse(lab_0.Text);&lt;br /&gt;          lab_0.Text = n.ToString();&lt;br /&gt;          break;&lt;br /&gt;        case "×" :&lt;br /&gt;          n = entry_result * decimal.Parse(lab_0.Text);&lt;br /&gt;          lab_0.Text = n.ToString();&lt;br /&gt;          break;&lt;br /&gt;        case "÷" :&lt;br /&gt;          try&lt;br /&gt;          {&lt;br /&gt;            n = entry_result / decimal.Parse(lab_0.Text);&lt;br /&gt;            lab_0.Text = n.ToString();&lt;br /&gt;          }&lt;br /&gt;          catch&lt;br /&gt;          {&lt;br /&gt;            lab_0.Text = "E";&lt;br /&gt;          }&lt;br /&gt;          break;&lt;br /&gt;      }&lt;br /&gt;      entry_operation = null;&lt;br /&gt;    }&lt;br /&gt;    &lt;font color="blue"&gt;///////////////////////////////////////////////////////////////////////////&lt;br /&gt;    // but_clear_Click - CLEAR key enter&lt;/font&gt;&lt;br /&gt;    private void but_clear_Click(object sender, EventArgs e)&lt;br /&gt;    {&lt;br /&gt;      lab_0.Text      = "0";&lt;br /&gt;      entry_started   = false;&lt;br /&gt;      entry_dot       = false;&lt;br /&gt;      entry_result    = 0;&lt;br /&gt;      entry_operation = null;&lt;br /&gt;    }&lt;br /&gt;    &lt;font color="blue"&gt;///////////////////////////////////////////////////////////////////////////&lt;br /&gt;    // but_memo_Click - MEMORY key enter&lt;/font&gt;&lt;br /&gt;    private void but_memo_Click(object sender, EventArgs e)&lt;br /&gt;    {&lt;br /&gt;      Button but = (Button)sender;&lt;br /&gt;      switch (but.Text)&lt;br /&gt;      {&lt;br /&gt;        case "M+" :&lt;br /&gt;          entry_memory = entry_memory + decimal.Parse(lab_0.Text);&lt;br /&gt;          break;&lt;br /&gt;        case "M-" :&lt;br /&gt;          entry_memory = entry_memory - decimal.Parse(lab_0.Text);&lt;br /&gt;          break;&lt;br /&gt;        case "MRC" :&lt;br /&gt;          lab_0.Text   = entry_memory.ToString();&lt;br /&gt;          entry_memory = 0;&lt;br /&gt;          break;&lt;br /&gt;      }&lt;br /&gt;      entry_started = false;&lt;br /&gt;      entry_dot     = false;&lt;br /&gt;    }&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;font color="blue"&gt;// END PROGRAM&lt;/font&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;電卓の機能についてはデバッグが不十分です、ご了承ください。&lt;br /&gt;Fedora 上でのビルド、および実行は次のようにします。&lt;br /&gt;&lt;pre style="clear:both;"&gt;&lt;br /&gt;$ &lt;font color="black"&gt;gmcs -pkg:dotnet -target:winexe dentaku.cs&lt;/font&gt;&lt;br /&gt;$ &lt;font color="black"&gt;mono dentaku.exe &amp;amp;&lt;/font&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_76ucAFyAIec/TFTmK5ZBPyI/AAAAAAAAA9E/Uqn50kE377w/s1600/dentaku.png"&gt;&lt;img style="display:block; margin:10px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 282px; height: 254px;" src="http://3.bp.blogspot.com/_76ucAFyAIec/TFTmK5ZBPyI/AAAAAAAAA9E/Uqn50kE377w/s320/dentaku.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5500274119805058850" /&gt;&lt;/a&gt;&lt;br /&gt;Windows XP へ &lt;tt&gt;dentaku.exe&lt;/tt&gt; をコピーして、（ダブルクリックして）実行した結果を以下に示しました。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_76ucAFyAIec/TFTsJe-E7sI/AAAAAAAAA9M/43EqjXjNBtE/s1600/dentaku_winxp.png"&gt;&lt;img style="display:block; margin:10px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 280px; height: 250px;" src="http://4.bp.blogspot.com/_76ucAFyAIec/TFTsJe-E7sI/AAAAAAAAA9M/43EqjXjNBtE/s320/dentaku_winxp.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5500280692602629826" /&gt;&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9176013-3867334758344130210?l=bitwalk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitwalk.blogspot.com/feeds/3867334758344130210/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9176013&amp;postID=3867334758344130210' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/3867334758344130210'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/3867334758344130210'/><link rel='alternate' type='text/html' href='http://bitwalk.blogspot.com/2010/07/mono-gui-2.html' title='Mono で GUI プログラミング (2)'/><author><name>bitWalk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s72-c/fedora.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9176013.post-5781622132320698956</id><published>2010-07-25T12:12:00.039+09:00</published><updated>2010-08-10T13:17:18.941+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Fedora'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><category scheme='http://www.blogger.com/atom/ns#' term='Mono'/><title type='text'>Mono で GUI プログラミング (1)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s1600-h/fedora.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 43px; height: 44px;" src="http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s200/fedora.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5280249589920714050" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_76ucAFyAIec/TEusx1nIKRI/AAAAAAAAA8U/oQRJgdKpuoY/s1600/Mono-gorilla-aqua.32px.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 30px; height: 36px;" src="http://1.bp.blogspot.com/_76ucAFyAIec/TEusx1nIKRI/AAAAAAAAA8U/oQRJgdKpuoY/s200/Mono-gorilla-aqua.32px.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5497677742340581650" /&gt;&lt;/a&gt;&lt;big&gt;M&lt;/big&gt;onoは、&lt;a href="http://ja.wikipedia.org/wiki/Ecma_International"&gt;Ecma&lt;/a&gt; 標準に準じた &lt;a href="http://ja.wikipedia.org/wiki/.NET_Framework"&gt;.NET Framework&lt;/a&gt; 互換の環境を実現するためのオープンソースソフトウェアプロジェクトです。&lt;br /&gt;FAQ &lt;sup&gt;[1]&lt;/sup&gt; によると、Mono はスペイン語で猿の意味で、&lt;i&gt;We like monkeys&lt;/i&gt; とあります。ロゴはゴリラをデザインしたもののようです。&lt;br /&gt;&lt;br /&gt;Mono を利用すると、クロスプラットフォーム間（ここでは Linux と Windows）で簡単に同一の GUI アプリケーションを動作させることができそうです。&lt;br /&gt;&lt;br /&gt;自宅では Linux、会社では Windows（しかもいまだに Windows XP）を使っているので、手軽に双方で動作するアプリケーションを Linux で開発するのであれば、Mono はまさにピッタリの開発環境です。MinGW クロスコンパイル環境よりもお手軽な感すらあります。&lt;br /&gt;&lt;br /&gt;そこで、（C# 使いの Windows ユーザの方にとっては「今更」な感があるでしょうが）Windows 上で動作させることを意識した Mono の GUI プログラミングについて、調べた結果をまとめていきたいと思います。&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;最初は Hello World&lt;/h2&gt;&lt;br /&gt;まずは、おきまりの Hello World プログラムで動作確認です。当面は C# を使います。以下のソースを &lt;tt&gt;hello.cs&lt;/tt&gt; として適当な場所に保存しておきます。&lt;br /&gt;&lt;pre style="clear:both;"&gt;&lt;br /&gt;using System;&lt;br /&gt;using System.Windows.Forms;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;class HelloWorldApp {&lt;br /&gt;    public static void Main() {&lt;br /&gt;        MessageBox.Show("こんにちは、世界！", "mono");&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;mono のインストール&lt;/h3&gt;&lt;br /&gt;乱暴な方法ですが、私は以下のように &lt;tt&gt;mono-&lt;/tt&gt; で始まるパッケージ（と関連するパッケージ）を全部インストールしてしまっています。使用している Linux は Fedora 13、mono のバージョンは 2.6.4 です。&lt;br /&gt;&lt;pre style="clear:both;"&gt;&lt;br /&gt;$ &lt;font color="black"&gt;su&lt;/font&gt;&lt;br /&gt;パスワード:&lt;br /&gt;# &lt;font color="black"&gt;yum install mono-*&lt;/font&gt;&lt;br /&gt;読み込んだプラグイン:presto, refresh-packagekit&lt;br /&gt;...&lt;br /&gt;（以下省略）&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;C# コンパイラとビルド&lt;/h3&gt;&lt;br /&gt;Mono 2.6.4 で利用できる C# コンパイラは以下の 4 種類です。&lt;sup&gt;[2]&lt;/sup&gt;&lt;br /&gt;&lt;br /&gt;&lt;tt&gt;mcs&lt;/tt&gt;:  compiler to target 1.1 runtime (to be deprecated with Mono 2.8).&lt;br /&gt;&lt;tt&gt;gmcs&lt;/tt&gt;: compiler to target the 2.0 runtime.&lt;br /&gt;&lt;tt&gt;smcs&lt;/tt&gt;: compiler to target the 2.1 runtime, to build Moonlight applications.&lt;br /&gt;&lt;tt&gt;dmcs&lt;/tt&gt;: the C# 4.0 compiler, and references the 4.0 runtime.&lt;br /&gt;&lt;br /&gt;ここでは &lt;tt&gt;gmcs&lt;/tt&gt; を使い、次のように &lt;tt&gt;hello.cs&lt;/tt&gt; をビルド・実行します。&lt;br /&gt;&lt;pre style="clear:both;"&gt;&lt;br /&gt;$ &lt;font color="black"&gt;gmcs -pkg:dotnet -target:winexe hello.cs&lt;/font&gt;&lt;br /&gt;$ &lt;font color="black"&gt;mono hello.exe&lt;/font&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_76ucAFyAIec/TEu-fCf_JzI/AAAAAAAAA8c/fd1Y3_hj5Ik/s1600/hello.png"&gt;&lt;img style="display:block; margin:10px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 127px; height: 101px;" src="http://1.bp.blogspot.com/_76ucAFyAIec/TEu-fCf_JzI/AAAAAAAAA8c/fd1Y3_hj5Ik/s320/hello.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5497697210592077618" /&gt;&lt;/a&gt;&lt;br /&gt;コンパイルの際、&lt;tt&gt;-target:winexe&lt;/tt&gt; を省略すると、Windows 上で実行した時に、コマンドプロンプトのウィンドウも表示されます。&lt;br /&gt;&lt;br /&gt;同じく Linux 上の Wine で実行した結果を以下に示しました。&lt;br /&gt;&lt;pre style="clear:both;"&gt;&lt;br /&gt;$ &lt;font color="black"&gt;wine hello.exe&lt;/font&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_76ucAFyAIec/TEu-9Lhcy4I/AAAAAAAAA8k/QfOVhgFzh6I/s1600/hello_wine.png"&gt;&lt;img style="display:block; margin:10px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 140px; height: 89px;" src="http://2.bp.blogspot.com/_76ucAFyAIec/TEu-9Lhcy4I/AAAAAAAAA8k/QfOVhgFzh6I/s320/hello_wine.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5497697728410209154" /&gt;&lt;/a&gt;&lt;br /&gt;Wine には .Net Framework 2.0 をインストールしています。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_76ucAFyAIec/TEvOM3IinkI/AAAAAAAAA80/Q-FMJu30D80/s1600/dotnet_wine.png"&gt;&lt;img style="display:block; margin:10px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 230px;" src="http://3.bp.blogspot.com/_76ucAFyAIec/TEvOM3IinkI/AAAAAAAAA80/Q-FMJu30D80/s320/dotnet_wine.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5497714490489347650" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Windows XP へ &lt;tt&gt;hello.exe&lt;/tt&gt; をコピーして実行した結果は以下の様になります。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_76ucAFyAIec/TEu_pSJcHgI/AAAAAAAAA8s/HHioDXuvwn4/s1600/hello_xp.png"&gt;&lt;img style="display:block; margin:10px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 120px; height: 94px;" src="http://3.bp.blogspot.com/_76ucAFyAIec/TEu_pSJcHgI/AAAAAAAAA8s/HHioDXuvwn4/s320/hello_xp.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5497698486102793730" /&gt;&lt;/a&gt;&lt;br /&gt;ちなみに XP では .Net Framework 3.5 までインストールされています。そのため、今のところ &lt;tt&gt;gmcs&lt;/tt&gt; を使っていれば十分のようです。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_76ucAFyAIec/TEvTkNMdzFI/AAAAAAAAA88/Ep9omjuqHFM/s1600/dotnet_xp.png"&gt;&lt;img style="display:block; margin:10px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 147px;" src="http://3.bp.blogspot.com/_76ucAFyAIec/TEvTkNMdzFI/AAAAAAAAA88/Ep9omjuqHFM/s320/dotnet_xp.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5497720389106519122" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;h3&gt;参考サイト&lt;/h3&gt;&lt;br /&gt;[1] &lt;a href="http://www.mono-project.com/FAQ:_General"&gt;FAQ: General - Mono&lt;/a&gt;&lt;br /&gt;[2] &lt;a href="http://www.mono-project.com/CSharp_Compiler"&gt;CSharp Compiler - Mono&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9176013-5781622132320698956?l=bitwalk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitwalk.blogspot.com/feeds/5781622132320698956/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9176013&amp;postID=5781622132320698956' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/5781622132320698956'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/5781622132320698956'/><link rel='alternate' type='text/html' href='http://bitwalk.blogspot.com/2010/07/mono-gui-1.html' title='Mono で GUI プログラミング (1)'/><author><name>bitWalk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s72-c/fedora.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9176013.post-5037956868657352452</id><published>2010-05-21T21:21:00.019+09:00</published><updated>2010-05-22T23:18:30.781+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>Linux デスクトップ PC の時代は来るのか？</title><content type='html'>&lt;big&gt;L&lt;/big&gt;inux と付き合いを始めて既に 15 年近く経ちました。そもそも Linux を使い始めるきっかけは、何といっても Windows 95 で使う Visual Studio より GNU/Linux の開発環境の方が、自分にとって魅力的だったからです。それ以来、もっと Linux が一般に普及すればいいのにと思って使い続けています。そんな中で一時は Microsoft の牙城であるデスクトップ OS とオフィススイートの市場で、Linux のデスクトップ PC が脅威になるだろうと喧伝された時期がありました。&lt;br /&gt;&lt;br /&gt;[1] &lt;a href="http://japan.cnet.com/column/pers/story/0,2000055923,20102439,00.htm?deqwas_inflow=relation&amp;tag=deq:5"&gt;Linuxデスクトップの台頭に苦悩するマイクロソフト&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;でも、実際には、今でもそうはなっていません。そもそも、かつての Linux 関係誌のほとんどが休刊に追い込まれている状況をみると、言わずもがなという感はあります。&lt;br /&gt;&lt;br /&gt;ちょっと古いですが、以下のような記事があります。&lt;br /&gt;&lt;br /&gt;[2] &lt;a href="http://builder.japan.zdnet.com/news/story/0,3800079086,20404855,00.htm"&gt;Linuxデスクトップは市場に受け入れられていない--その現実を直視してみる&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;上の記事の、筆者が挙げている Linux がデスクトップ市場で普及しない理由の 1 から 3 は、ごく一般的なユーザーの視点では納得ができませんが、&lt;br /&gt;&lt;br /&gt;&lt;u&gt;4 企業は非難の矛先を向ける対象が欲しい&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;は頷けます。&lt;br /&gt;&lt;br /&gt;自分が勤めている会社では、相変わらずの Windows XP がデスクトップ PC です。IT 部門が、基幹系も含めて Windows 系のシステムしか導入していないから仕方ありません。でも周りの人にいろいろ聞いてみると、Windows に対する専門的な知識の少なさには驚かされます。思うに、Excel, Word あるいは PowerPoint そしてメールクライアントソフト (Outlook Express) が使用できれば、業務では事が足りているようです。それに一旦企業に普及してしまった環境を変えるということは、もうなかなかできないのかもしれません。&lt;br /&gt;&lt;br /&gt;一方、自宅での使用環境を振り返ってみると、最初は「Windows をメインに、Linux を切り替えて」使用していたのですが、ある時点で勇気を出して「Linux をメインに、Windows を切り替えて」使用するようになって以来、Windows を滅多に使用しなくなってしまいました。&lt;br /&gt;&lt;br /&gt;それでも世間一般の環境も利用できるように、なんとか Windows Vista までは切り替えて利用できるように追従してきましたが、Windows 7 でついに挫折です。Windows をほとんど使わないので投資効果が全然ありません。&lt;br /&gt;&lt;br /&gt;自宅では Windows がなくても不自由を感じないので、これはきっとある意味では慣れなのでしょう。また、長く使っているので信頼感とか安心感もあります。だから、大多数のユーザーにとっては、会社でも使っている Windows を自宅でも使うことは、なにかと便利であるし、Windows の細かいところを知らなくとも、なんとなく「慣れ」とか「安心感」があるのだと思います。MacOS なんていう、車で言うとポルシェみたいなブランドの OS も確かに聞いたことがあるけれど、実質的に Windows 以外の選択肢があるという事実すら認識していないのかもしれません。そこまで Windows を世間に普及させたのですから、そういう意味ではどう考えても Microsoft の市場における勝利です。&lt;br /&gt;&lt;br /&gt;Linux のデスクトップ環境が Windows を凌駕するためには、Linux のデスクトップでなければ実現できない、しかも大多数を惹きつける「なにか」がなければなりません。Linux でしか実現できないなんてものはあるのでしょうか？&lt;br /&gt;&lt;br /&gt;あるとすれば、もう Linux とは言えないかもしれない &lt;a href="http://www.chromium.org/chromium-os"&gt;Chromium OS&lt;/a&gt; (Google Chrome OS) のようなアプローチが、将来そうなる可能性を秘めています。しかし、先の記事にも書いてある通り、現実的な話題になるのは、まだまだ先の話です。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_76ucAFyAIec/S_fTdNoT4dI/AAAAAAAAA8M/PgpfVXc8L5w/s1600/ChromeOS.png"&gt;&lt;img style="display:block; margin:10px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 200px; height: 162px;" src="http://1.bp.blogspot.com/_76ucAFyAIec/S_fTdNoT4dI/AAAAAAAAA8M/PgpfVXc8L5w/s200/ChromeOS.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5474076370920530386" /&gt;&lt;/a&gt;&lt;br /&gt;[3] &lt;a href="Download Chrome OS VMWare image  After Google announced the availability of the Chrome OS... - gdgt"&gt;Download Chrome OS VMWare image  After Google announced the availability of the Chrome OS... - gdgt&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;ちなみに Web クライアントのシェアを、デスクトップ PC のシェアと同じと考えれば、今のところ Linux のシェアは 1% 程度しかありません。&lt;br /&gt;&lt;br /&gt;[4] &lt;a href="http://en.wikipedia.org/wiki/Usage_share_of_operating_systems"&gt;Usage share of operating systems - Wikipedia, the free encyclopedia&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9176013-5037956868657352452?l=bitwalk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitwalk.blogspot.com/feeds/5037956868657352452/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9176013&amp;postID=5037956868657352452' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/5037956868657352452'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/5037956868657352452'/><link rel='alternate' type='text/html' href='http://bitwalk.blogspot.com/2010/05/linux-pc.html' title='Linux デスクトップ PC の時代は来るのか？'/><author><name>bitWalk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_76ucAFyAIec/S_fTdNoT4dI/AAAAAAAAA8M/PgpfVXc8L5w/s72-c/ChromeOS.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9176013.post-7163383924496801479</id><published>2010-05-08T17:54:00.017+09:00</published><updated>2010-05-09T19:56:23.402+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='備忘録'/><category scheme='http://www.blogger.com/atom/ns#' term='Fedora'/><title type='text'>【備忘録】deltarpm の applydeltarpm</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s1600-h/fedora.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 43px; height: 44px;" src="http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s200/fedora.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5280249589920714050" /&gt;&lt;/a&gt;&lt;big&gt;R&lt;/big&gt;PM の差分インストール (delta RPM, drpm) の処理について、yum のプラグイン presto にばかり目が行ってしまい、直接、差分 RPM を処理できる deltarpm パッケージがあることを知りませんでした。Google で &lt;tt&gt;drpm&lt;/tt&gt; をキーワードに情報収集を続けていたことも、（インストールされているにもかかわらず）deltarpm をすぐに見つけられなかった原因のひとつかもしれません。&lt;br /&gt;&lt;br /&gt;とにかく deltarpm パッケージの存在を知ったので、遅ればせながら試してみました。&lt;br /&gt;&lt;pre style="clear:both;"&gt;&lt;br /&gt;$ &lt;font color="black"&gt;rpm -q deltarpm&lt;/font&gt;&lt;br /&gt;deltarpm-3.5-0.7.20100121git.fc13.x86_64&lt;br /&gt;$ &lt;font color="black"&gt;rpm -ql deltarpm&lt;/font&gt;&lt;br /&gt;/usr/bin/applydeltarpm&lt;br /&gt;/usr/bin/combinedeltarpm&lt;br /&gt;/usr/bin/makedeltarpm&lt;br /&gt;/usr/bin/rpmdumpheader&lt;br /&gt;/usr/share/doc/deltarpm-3.5&lt;br /&gt;/usr/share/doc/deltarpm-3.5/LICENSE.BSD&lt;br /&gt;/usr/share/doc/deltarpm-3.5/README&lt;br /&gt;/usr/share/man/man8/applydeltarpm.8.gz&lt;br /&gt;/usr/share/man/man8/combinedeltarpm.8.gz&lt;br /&gt;/usr/share/man/man8/makedeltarpm.8.gz&lt;br /&gt;$ &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;tt&gt;applydeltarpm&lt;/tt&gt; を利用すると、差分 RPM から、新しい RPM を生成（再構成）することができます。差分 RPM を使ってインストールされたパッケージを直接アップデートすることははできません。しかし、そういうものが必要であれば、機能を組み合わせて、表面上は直接アップデートしてくれるようなツールができそうです。&lt;br /&gt;&lt;br /&gt;&lt;tt&gt;man makedeltarpm&lt;/tt&gt; の出力の一部を日本語に訳してみました。&lt;br /&gt;&lt;pre style="clear:both;"&gt;&lt;br /&gt;NAME&lt;br /&gt;       applydeltarpm - 差分 RPM から RPM を再構成します&lt;br /&gt;&lt;br /&gt;SYNOPSIS&lt;br /&gt;       applydeltarpm [-v] [-p] [-r &lt;i&gt;oldrpm&lt;/i&gt;] &lt;i&gt;deltarpm newrpm&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;DESCRIPTION&lt;br /&gt;       applydeltarpm は、バイナリの差分データを、古い RPM ファイルあるいはインス&lt;br /&gt;       トールされたディスク上のデータに適用して新しい RPM を生成します。古い RPM&lt;br /&gt;       は -r オプションで指定し、指定がない場合はディスク上のデータが使用されま&lt;br /&gt;       す。&lt;br /&gt;       -p オプションを指定すると完了率が表示され、-v オプションを指定すると、処&lt;br /&gt;       理状態が出力されます。&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;実行例を以下に示します。&lt;br /&gt;&lt;pre style="clear:both;"&gt;&lt;br /&gt;$ &lt;font color="black"&gt;rpm -q sawarabi-gothic-fonts&lt;/font&gt;&lt;br /&gt;sawarabi-gothic-fonts-20100315-1.fc12.noarch&lt;br /&gt;$ &lt;font color="black"&gt;ls&lt;/font&gt;&lt;br /&gt;sawarabi-gothic-fonts-20100315-1.fc12_20100430-1.fc13.noarch.drpm&lt;br /&gt;$ &lt;font color="black"&gt;applydeltarpm -p -v sawarabi-gothic-fonts-20100315-1.fc12_20100430-1.fc13.noar&lt;br /&gt;ch.drpm sawarabi-gothic-fonts-20100430-1.fc13.noarch.rpm&lt;/font&gt;&lt;br /&gt;reading deltarpm&lt;br /&gt;applying delta&lt;br /&gt;100 percent finished.&lt;br /&gt;$ &lt;font color="black"&gt;ls&lt;/font&gt;&lt;br /&gt;sawarabi-gothic-fonts-20100315-1.fc12_20100430-1.fc13.noarch.drpm&lt;br /&gt;sawarabi-gothic-fonts-20100430-1.fc13.noarch.rpm&lt;br /&gt;$ &lt;font color="black"&gt;su&lt;/font&gt;&lt;br /&gt;パスワード:&lt;br /&gt;# &lt;font color="black"&gt;rpm -Uvh sawarabi-gothic-fonts-20100430-1.fc13.noarch.rpm&lt;/font&gt;&lt;br /&gt;準備中...                ########################################### [100%]&lt;br /&gt;   1:sawarabi-gothic-fonts  ########################################### [100%]&lt;br /&gt;# &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;tt&gt;deltarpm&lt;/tt&gt; パッケージの &lt;tt&gt;makedeltarpm&lt;/tt&gt; を利用すれば、差分 RPM を生成出来ます。しかしながら自分にとっては、前回紹介した &lt;tt&gt;presuto-utils&lt;/tt&gt; パッケージの &lt;tt&gt;createdeltarpms&lt;/tt&gt; の方が操作が簡単のように思います。使用例を以下に示しました。&lt;br /&gt;&lt;pre style="clear:both;"&gt;&lt;br /&gt;$ &lt;font color="black"&gt;ls&lt;/font&gt;&lt;br /&gt;sawarabi-gothic-fonts-20100315-1.fc12.noarch.rpm&lt;br /&gt;sawarabi-gothic-fonts-20100430-1.fc13.noarch.rpm&lt;br /&gt;$ &lt;font color="black"&gt;makedeltarpm sawarabi-gothic-fonts-20100315-1.fc12.noarch.rpm sawarabi-gothic-&lt;br /&gt;fonts-20100430-1.fc13.noarch.rpm sawarabi-gothic-fonts-20100315-1.fc12_20100430-&lt;br /&gt;1.fc13.noarch.drpm&lt;/font&gt;&lt;br /&gt;$ &lt;font color="black"&gt;ls&lt;/font&gt;&lt;br /&gt;sawarabi-gothic-fonts-20100315-1.fc12.noarch.rpm&lt;br /&gt;sawarabi-gothic-fonts-20100315-1.fc12_20100430-1.fc13.noarch.drpm&lt;br /&gt;sawarabi-gothic-fonts-20100430-1.fc13.noarch.rpm&lt;br /&gt;$ &lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9176013-7163383924496801479?l=bitwalk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitwalk.blogspot.com/feeds/7163383924496801479/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9176013&amp;postID=7163383924496801479' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/7163383924496801479'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/7163383924496801479'/><link rel='alternate' type='text/html' href='http://bitwalk.blogspot.com/2010/05/deltarpm-applydeltarpm.html' title='【備忘録】deltarpm の applydeltarpm'/><author><name>bitWalk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s72-c/fedora.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9176013.post-776605669936001054</id><published>2010-05-05T19:36:00.004+09:00</published><updated>2010-05-05T20:13:28.561+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='備忘録'/><category scheme='http://www.blogger.com/atom/ns#' term='Fedora'/><title type='text'>【備忘録】drpm パッケージの作り方</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s1600-h/fedora.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 43px; height: 44px;" src="http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s200/fedora.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5280249589920714050" /&gt;&lt;/a&gt;&lt;big&gt;F&lt;/big&gt;edora 11 から yum のプラグインとして採用された、RPM の差分インストール (delta RPM, drpm) を処理する presto は、今では当たり前の機能のようになってしまっています。しかし、どうやって drpm を作成するのか知らなかったので、調べてみました。&lt;br /&gt;&lt;br /&gt;drpm を作成するには、&lt;tt&gt;presto-utils&lt;/tt&gt; が必要になります。&lt;br /&gt;&lt;pre style="clear:both;"&gt;&lt;br /&gt;# &lt;font color="black"&gt;yum install presto-utils&lt;/font&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;tt&gt;presuto-utils&lt;/tt&gt; に収録されている &lt;tt&gt;createdeltarpms&lt;/tt&gt;（処理の実体は Python のスクリプト）が RPM の差分を生成します。&lt;br /&gt;&lt;pre style="clear:both;"&gt;&lt;br /&gt;    &lt;font color="black"&gt;createdeltarpms&lt;/font&gt; [options] &lt;i&gt;directory-of-packages&lt;/i&gt; &lt;i&gt;directory-of-deltarpms&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;    Options:&lt;br /&gt;     -d, --dist-update &amp;lt;dir&amp;gt; = optional directory containing old distribution&lt;br /&gt;                               to create an update from&lt;br /&gt;     -c, --count &amp;lt;number&amp;gt; = optional maximum number of deltarpms to create&lt;br /&gt;                            per package.  Default is maximum available&lt;br /&gt;     -n, --no-first = Don't create deltarpm against first rpm if number exceeds&lt;br /&gt;                      count.  Useful if you are running a continually-updated&lt;br /&gt;                      distribution rather than one with set release cycles.&lt;br /&gt;     -q, --quiet = run quietly&lt;br /&gt;     -v, --verbose = run verbosely&lt;br /&gt;     -h, --help = show this help&lt;br /&gt;     -V, --version = output version&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;試しに、&lt;tt&gt;rpms&lt;/tt&gt;　というフォルダに、&lt;tt&gt;sawarabi-gothic-fonts&lt;/tt&gt; の二種類のリリースの RPM パッケージをコピーし、&lt;tt&gt;drpms&lt;/tt&gt; という空のディレクトリを用意して、&lt;tt&gt;createdeltarpms&lt;/tt&gt; を実行してみました。&lt;br /&gt;&lt;pre style="clear:both;"&gt;&lt;br /&gt;$ &lt;font color="black"&gt;ls rpms&lt;/font&gt;&lt;br /&gt;sawarabi-gothic-fonts-20100315-1.fc12.noarch.rpm&lt;br /&gt;sawarabi-gothic-fonts-20100430-1.fc13.noarch.rpm&lt;br /&gt;$ &lt;font color="black"&gt;createdeltarpms ./rpms ./drpms&lt;/font&gt;&lt;br /&gt;/usr/lib/python2.6/site-packages/presto-utils/dumpMetadata.py:23: DeprecationWar&lt;br /&gt;ning: the md5 module is deprecated; use hashlib instead&lt;br /&gt;  import md5&lt;br /&gt;/usr/lib/python2.6/site-packages/presto-utils/dumpMetadata.py:24: DeprecationWar&lt;br /&gt;ning: the sha module is deprecated; use the hashlib module instead&lt;br /&gt;  import sha&lt;br /&gt;Using base dir: rpms&lt;br /&gt;Using destination dir: drpms&lt;br /&gt;Generated delta rpm for sawarabi-gothic-fonts.noarch - 20100315-1.fc12 =&gt; 201004&lt;br /&gt;30-1.fc13&lt;br /&gt;$ &lt;font color="black"&gt;ls drpms&lt;/font&gt;&lt;br /&gt;sawarabi-gothic-fonts-20100315-1.fc12_20100430-1.fc13.noarch.drpm&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;RPM レポジトリを公開しているわけではないので、差分パッケージの作成方法が解ったからといって、なにかにすぐ使えるということはなさそうです。差分の操作をローカルでもう少しできるのかもしれません。&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;h2&gt;参考サイト&lt;/h2&gt;&lt;br /&gt;[1] &lt;a href="http://builder.japan.zdnet.com/news/story/0,3800079086,20399902,00.htm"&gt;差分アップデートでダウンロード時間を短縮！--Fedora 11のDelta RPMを活用する - builder by ZDNet Japan&lt;/a&gt;&lt;br /&gt;[2] &lt;a href="http://sourceforge.jp/magazine/09/06/18/0413208/3"&gt;着実な進化を見せるFedora 11新機能レビュー - SourceForge.JP Magazine : オープンソースの話題満載&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9176013-776605669936001054?l=bitwalk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitwalk.blogspot.com/feeds/776605669936001054/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9176013&amp;postID=776605669936001054' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/776605669936001054'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/776605669936001054'/><link rel='alternate' type='text/html' href='http://bitwalk.blogspot.com/2010/05/drpm.html' title='【備忘録】drpm パッケージの作り方'/><author><name>bitWalk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s72-c/fedora.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9176013.post-8590507814369466477</id><published>2010-05-04T15:46:00.016+09:00</published><updated>2010-05-08T19:27:23.844+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MinGW クロスコンパイラ'/><category scheme='http://www.blogger.com/atom/ns#' term='GTK+'/><title type='text'>CMake と クロスコンパイル</title><content type='html'>&lt;a href="http://sourceforge.net/projects/mingw-cross"&gt;&lt;img src="http://sflogo.sourceforge.net/sflogo.php?group_id=204414&amp;amp;type=10" width="80" height="15" alt="Get MinGW Cross Compiler at SourceForge.net. Fast, secure and Free Open Source software downloads" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s1600-h/fedora.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 43px; height: 44px;" src="http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s200/fedora.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5280249589920714050" /&gt;&lt;/a&gt;&lt;a href="http://ja.wikipedia.org/wiki/CMake"&gt;&lt;big&gt;C&lt;/big&gt;Make&lt;/a&gt; を利用して、Linux 上で GTK+ のサンプルプログラムをビルドしてみました。使用マシン / OS は Fedora 13 β版 x86_64, 使用したサンプルは、以下のソース &lt;tt&gt;hello_gtk.c&lt;/tt&gt; です。&lt;br /&gt;&lt;pre style="clear:both;"&gt;&lt;br /&gt;#include &amp;lt;gtk/gtk.h&amp;gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;static void&lt;br /&gt;hello (GtkWidget * widget, gpointer data)&lt;br /&gt;{&lt;br /&gt;  g_print ("Hello World!\n");&lt;br /&gt;}&lt;br /&gt;&amp;nbsp;&lt;br /&gt;static gboolean&lt;br /&gt;delete_event (GtkWidget * widget, GdkEvent * event, gpointer data)&lt;br /&gt;{&lt;br /&gt;  g_print ("delete event occurred\n");&lt;br /&gt;&amp;nbsp;&lt;br /&gt;  return TRUE;&lt;br /&gt;}&lt;br /&gt;&amp;nbsp;&lt;br /&gt;static void&lt;br /&gt;destroy (GtkWidget * widget, gpointer data)&lt;br /&gt;{&lt;br /&gt;  gtk_main_quit ();&lt;br /&gt;}&lt;br /&gt;&amp;nbsp;&lt;br /&gt;int&lt;br /&gt;main (int argc, char *argv[])&lt;br /&gt;{&lt;br /&gt;  GtkWidget *window;&lt;br /&gt;  GtkWidget *button;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;  gtk_init (&amp;argc, &amp;argv);&lt;br /&gt;  window = gtk_window_new (GTK_WINDOW_TOPLEVEL);&lt;br /&gt;&amp;nbsp;&lt;br /&gt;  g_signal_connect (G_OBJECT (window), "delete_event",&lt;br /&gt;      G_CALLBACK (delete_event), NULL);&lt;br /&gt;  g_signal_connect (G_OBJECT (window), "destroy", G_CALLBACK (destroy), NULL);&lt;br /&gt;&amp;nbsp;&lt;br /&gt;  gtk_container_set_border_width (GTK_CONTAINER (window), 10);&lt;br /&gt;  button = gtk_button_new_with_label ("こんにちは、世界！");&lt;br /&gt;&amp;nbsp;&lt;br /&gt;  g_signal_connect (G_OBJECT (button), "clicked", G_CALLBACK (hello), NULL);&lt;br /&gt;  g_signal_connect_swapped (G_OBJECT (button), "clicked",&lt;br /&gt;       G_CALLBACK (gtk_widget_destroy),&lt;br /&gt;       G_OBJECT (window));&lt;br /&gt;&amp;nbsp;&lt;br /&gt;  gtk_container_add (GTK_CONTAINER (window), button);&lt;br /&gt;  gtk_widget_show (button);&lt;br /&gt;  gtk_widget_show (window);&lt;br /&gt;&amp;nbsp;&lt;br /&gt;  gtk_main ();&lt;br /&gt;&amp;nbsp;&lt;br /&gt;  return 0;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;CMake 用に以下の &lt;tt&gt;CMakeLists.txt&lt;/tt&gt; というテキストファイルを用意して、&lt;tt&gt;hello_gtk.c&lt;/tt&gt; と同じディレクトリに保存します。&lt;br /&gt;&lt;pre style="clear:both;"&gt;&lt;br /&gt;project(Hello)&lt;br /&gt;cmake_minimum_required(VERSION 2.8)&lt;br /&gt;&amp;nbsp;&lt;br /&gt;include(FindPkgConfig)&lt;br /&gt;pkg_check_modules(GLIB2 glib-2.0)&lt;br /&gt;pkg_check_modules(GTK2 gtk+-2.0)&lt;br /&gt;&amp;nbsp;&lt;br /&gt;include_directories(${GTK2_INCLUDE_DIRS})&lt;br /&gt;link_directories(${GTK2_LIBRARY_DIRS})&lt;br /&gt;link_libraries(${GTK2_LIBRARIES})&lt;br /&gt;&amp;nbsp;&lt;br /&gt;if(MINGW)&lt;br /&gt;  set(CMAKE_C_FLAGS -mms-bitfields)&lt;br /&gt;  set(CMAKE_CXX_FLAGS -mms-bitfields)&lt;br /&gt;  set(CMAKE_EXE_LINKER_FLAGS -mwindows)&lt;br /&gt;endif(MINGW)&lt;br /&gt;&amp;nbsp;&lt;br /&gt;add_executable(hello hello_gtk.c)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;h2&gt;Linux ネイティブなビルド&lt;/h2&gt;&lt;br /&gt;まずは、Linux ネイティブなビルドをしてみましょう。カレントディレクトリが &lt;tt&gt;hello_gtk.c&lt;/tt&gt; と同じとします。&lt;br /&gt;&lt;pre style="clear:both;"&gt;&lt;br /&gt;$ &lt;font color="black"&gt;mkdir unix&lt;/font&gt;&lt;br /&gt;$ &lt;font color="black"&gt;cd unix&lt;/font&gt;&lt;br /&gt;$ &lt;font color="black"&gt;cmake ..&lt;/font&gt;&lt;br /&gt;-- The C compiler identification is GNU&lt;br /&gt;-- The CXX compiler identification is GNU&lt;br /&gt;-- Check for working C compiler: /usr/lib64/ccache/gcc&lt;br /&gt;-- Check for working C compiler: /usr/lib64/ccache/gcc -- works&lt;br /&gt;-- Detecting C compiler ABI info&lt;br /&gt;-- Detecting C compiler ABI info - done&lt;br /&gt;-- Check for working CXX compiler: /usr/lib64/ccache/c++&lt;br /&gt;-- Check for working CXX compiler: /usr/lib64/ccache/c++ -- works&lt;br /&gt;-- Detecting CXX compiler ABI info&lt;br /&gt;-- Detecting CXX compiler ABI info - done&lt;br /&gt;-- checking for module 'glib-2.0'&lt;br /&gt;--   found glib-2.0, version 2.24.0&lt;br /&gt;-- checking for module 'gtk+-2.0'&lt;br /&gt;--   found gtk+-2.0, version 2.20.0&lt;br /&gt;-- Configuring done&lt;br /&gt;-- Generating done&lt;br /&gt;-- Build files have been written to: /home/bitwalk/work/gtk_hello/unix&lt;br /&gt;$ &lt;font color="black"&gt;make&lt;/font&gt;&lt;br /&gt;Scanning dependencies of target hello&lt;br /&gt;[100%] Building C object CMakeFiles/hello.dir/hello_gtk.c.o&lt;br /&gt;Linking C executable hello&lt;br /&gt;[100%] Built target hello&lt;br /&gt;$ &lt;font color="black"&gt;./hello&lt;/font&gt;&lt;br /&gt;Hello World!&lt;br /&gt;$ &lt;font color="black"&gt;cd ..&lt;/font&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_76ucAFyAIec/S9_Gj0E03WI/AAAAAAAAA78/hSi98Eg8kyk/s1600/hello_gtk_linux.png"&gt;&lt;img style="display:block; margin:10px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 155px; height: 73px;" src="http://1.bp.blogspot.com/_76ucAFyAIec/S9_Gj0E03WI/AAAAAAAAA78/hSi98Eg8kyk/s320/hello_gtk_linux.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5467306791227678050" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;h2&gt;MinGW 用クロスビルド&lt;/h2&gt;&lt;br /&gt;まず、MinGW クロスコンパイル環境に対応した CMake 用設定ファイル &lt;tt&gt;Toolchain-i686-mingw32.cmake&lt;/tt&gt; を用意し、適当なディレクトリ（ここでは、&lt;tt&gt;$HOME/work/cmake&lt;/tt&gt;）に保存しておきます。&lt;br /&gt;&lt;pre style="clear:both;"&gt;&lt;br /&gt;set(CMAKE_SYSTEM_NAME Windows)&lt;br /&gt;&amp;nbsp;&lt;br /&gt;# specify the cross compiler&lt;br /&gt;set(CMAKE_C_COMPILER   /usr/bin/i686-pc-mingw32-gcc)&lt;br /&gt;set(CMAKE_CXX_COMPILER /usr/bin/i686-pc-mingw32-g++)&lt;br /&gt;&amp;nbsp;&lt;br /&gt;# set PKG_CONFIG_PATH for MinGW Cross Compile Environment&lt;br /&gt;set(ENV{PKG_CONFIG_PATH} /usr/i686-pc-mingw32/sys-root/mingw/lib/pkgconfig)&lt;br /&gt;&amp;nbsp;&lt;br /&gt;# where is the target environment &lt;br /&gt;set(CMAKE_FIND_ROOT_PATH /usr/i686-pc-mingw32/sys-root/mingw)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;その上で、次のようにして cmake を実行して Makefile を生成して、make します。&lt;br /&gt;&lt;pre style="clear:both;"&gt;&lt;br /&gt;$ &lt;font color="black"&gt;mkdir win&lt;/font&gt;&lt;br /&gt;$ &lt;font color="black"&gt;cd win&lt;/font&gt;&lt;br /&gt;$ &lt;font color="black"&gt;cmake &lt;font color="blue"&gt;-DCMAKE_TOOLCHAIN_FILE=~/work/cmake/Toolchain-i686-mingw32.cmake&lt;/font&gt; ..&lt;/font&gt;&lt;br /&gt;-- The C compiler identification is GNU&lt;br /&gt;-- The CXX compiler identification is GNU&lt;br /&gt;-- Check for working C compiler: /usr/bin/i686-pc-mingw32-gcc&lt;br /&gt;-- Check for working C compiler: /usr/bin/i686-pc-mingw32-gcc -- works&lt;br /&gt;-- Detecting C compiler ABI info&lt;br /&gt;-- Detecting C compiler ABI info - done&lt;br /&gt;-- Check for working CXX compiler: /usr/bin/i686-pc-mingw32-g++&lt;br /&gt;-- Check for working CXX compiler: /usr/bin/i686-pc-mingw32-g++ -- works&lt;br /&gt;-- Detecting CXX compiler ABI info&lt;br /&gt;-- Detecting CXX compiler ABI info - done&lt;br /&gt;-- checking for module 'glib-2.0'&lt;br /&gt;--   found glib-2.0, version 2.23.4&lt;br /&gt;-- checking for module 'gtk+-2.0'&lt;br /&gt;--   found gtk+-2.0, version 2.19.6&lt;br /&gt;-- Configuring done&lt;br /&gt;-- Generating done&lt;br /&gt;-- Build files have been written to: /home/bitwalk/work/gtk_hello/win&lt;br /&gt;$ &lt;font color="black"&gt;make&lt;/font&gt;&lt;br /&gt;Scanning dependencies of target hello&lt;br /&gt;[100%] Building C object CMakeFiles/hello.dir/hello_gtk.c.obj&lt;br /&gt;Linking C executable hello.exe&lt;br /&gt;[100%] Built target hello&lt;br /&gt;$ &lt;font color="black"&gt;wine hello.exe&lt;/font&gt;&lt;br /&gt;Hello World!&lt;br /&gt;$ &lt;font color="black"&gt;cd ..&lt;/font&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_76ucAFyAIec/S9_TSvgezTI/AAAAAAAAA8E/Kk4h3ClzpPI/s1600/hello_gtk_mingw.png"&gt;&lt;img style="display:block; margin:10px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 155px; height: 73px;" src="http://2.bp.blogspot.com/_76ucAFyAIec/S9_TSvgezTI/AAAAAAAAA8E/Kk4h3ClzpPI/s320/hello_gtk_mingw.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5467320791594880306" /&gt;&lt;/a&gt;&lt;br /&gt;まだまだ CMake を使いこなせてはいませんが、とにかく、クロスコンパイル環境でも CMake が使える事を確認できました。&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;h2&gt;参考サイト&lt;/h2&gt;&lt;br /&gt;[1] &lt;a href="http://www.cmake.org/Wiki/CMake_Cross_Compiling"&gt;CMake Cross Compiling - KitwarePublic&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9176013-8590507814369466477?l=bitwalk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitwalk.blogspot.com/feeds/8590507814369466477/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9176013&amp;postID=8590507814369466477' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/8590507814369466477'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/8590507814369466477'/><link rel='alternate' type='text/html' href='http://bitwalk.blogspot.com/2010/05/cmake.html' title='CMake と クロスコンパイル'/><author><name>bitWalk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s72-c/fedora.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9176013.post-7220532075801934859</id><published>2010-05-03T23:49:00.008+09:00</published><updated>2010-05-04T00:54:19.380+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='コンパイラ'/><title type='text'>LLVM 2.7 のベンチマーク (2)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_76ucAFyAIec/S8mr8B-x8TI/AAAAAAAAA7A/COQcoNo34NA/s1600/DragonXSmall.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 68px; height: 68px;" src="http://1.bp.blogspot.com/_76ucAFyAIec/S8mr8B-x8TI/AAAAAAAAA7A/COQcoNo34NA/s200/DragonXSmall.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5461085070975693106" /&gt;&lt;/a&gt;&lt;big&gt;L&lt;/big&gt;LVM のベンチマークと言っても、コンパイルに使用するライブラリのほとんどが GCC でビルドされたものであることを考えると、前回の Tcl を使ったベンチマークは、あまりにもアバウトな比較だったように思います。&lt;br /&gt;&amp;nbsp;&lt;br /&gt;そこで、今回は、GMP を利用した円周率の計算プログラムで、GCC と LLVM/clang のパフォーマンスを較べてみました。計算の主要部分である GMP ライブラリを GCC と clang でビルドして用いれば、もう少し精度の良い比較が出きると考えたからです。&lt;br /&gt;&amp;nbsp;&lt;br /&gt;GMP は最新の 5.0.1 のスタティックライブラリを GCC, LLVM/clang それぞれでビルドしてローカルアカウントの領域にインストール、そのライブラリを使い、円周率計算プログラムを、それぞれに対応するコンパイラでビルドして比較してみました。&lt;br /&gt;&amp;nbsp;&lt;br /&gt;円周率の計算プログラムのソースは、&lt;a href="http://h2np.net/pi/"&gt;GNU/Linux上で円周率の計算をおこなう&lt;/a&gt;で紹介されている &lt;tt&gt;pi.c&lt;/tt&gt; を利用させていただきました。&lt;br /&gt;&amp;nbsp;&lt;br /&gt;GMP をビルドするのに使用したスクリプト &lt;tt&gt;build-gmp.sh&lt;/tt&gt; を以下に示しました。このスクリプトは作業エリア &lt;tt&gt;$HOME/work/Pi/GMP/&lt;/tt&gt; 内に GMP のソースがあり、インストール先が使用したコンパイラに応じて、&lt;tt&gt;$HOME/work/Pi/GMP/${CC}&lt;/tt&gt; であることを想定しています。&lt;br /&gt;&lt;pre style="clear:both;"&gt;&lt;br /&gt;#!/bin/sh&lt;br /&gt;&amp;nbsp;&lt;br /&gt;# C compiler&lt;br /&gt;#&lt;font color="blue"&gt;export CC=gcc&lt;/font&gt;&lt;br /&gt;&lt;font color="red"&gt;export CC=clang&lt;/font&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;# constants&lt;br /&gt;export ver="5.0.1"&lt;br /&gt;&amp;nbsp;&lt;br /&gt;# remove old sources&lt;br /&gt;echo "### Removing old sources &amp; binaries"&lt;br /&gt;rm -fR gmp-${ver}&lt;br /&gt;&amp;nbsp;&lt;br /&gt;# extract sources&lt;br /&gt;echo "### Expanding sources to build"&lt;br /&gt;tar jxvf gmp-${ver}.tar.bz2&lt;br /&gt;&amp;nbsp;&lt;br /&gt;# build GMP&lt;br /&gt;echo "### build GMP"&lt;br /&gt;cd gmp-${ver}&lt;br /&gt;./configure --prefix=$HOME/work/Pi/GMP/${CC} \&lt;br /&gt;--disable-shared --enable-static&lt;br /&gt;make&lt;br /&gt;make install&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;GCC と　LLVM/clang でそれぞれビルド、円周率を計算した結果を以下に示しました。使用した PC は Thinkpad X31 です。なお、あらかじめ glibc のスタティックライブラリの RPM &lt;tt&gt;glibc-static&lt;/tt&gt; がインストールされている必要があります。&lt;br /&gt;&lt;pre style="clear:both;"&gt;&lt;br /&gt;### GCC 4.4.3&lt;br /&gt;&amp;nbsp;&lt;br /&gt;$ &lt;font color="black"&gt;time ./build-gmp.sh&lt;/font&gt;&lt;br /&gt;real &lt;font color="blue"&gt;3m28.100s&lt;/font&gt;&lt;br /&gt;user 0m50.568s&lt;br /&gt;sys 1m19.172s&lt;br /&gt;&amp;nbsp;&lt;br /&gt;$ &lt;font color="black"&gt;ls -l ./gcc/lib/libgmp.a&lt;/font&gt;&lt;br /&gt;-rw-r--r--. 1 bitwalk bitwalk &lt;font color="blue"&gt;816078&lt;/font&gt; 2010-05-03 23:24 ./gcc/lib/libgmp.a&lt;br /&gt;&amp;nbsp;&lt;br /&gt;$ &lt;font color="black"&gt;gcc -static -O2 -I./gcc/include pi.c ./gcc/lib/libgmp.a -o pi&lt;/font&gt;&lt;br /&gt;$ &lt;font color="black"&gt;time ./pi &amp;gt; pi.dat&lt;/font&gt;&lt;br /&gt;real &lt;font color="blue"&gt;0m19.522s&lt;/font&gt;&lt;br /&gt;user 0m18.564s&lt;br /&gt;sys 0m0.661s&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;### LLVM/clang 2.7&lt;br /&gt;&amp;nbsp;&lt;br /&gt;$ &lt;font color="black"&gt;time ./build-gmp.sh&lt;/font&gt;&lt;br /&gt;real &lt;font color="red"&gt;4m2.098s&lt;/font&gt;&lt;br /&gt;user 1m11.869s&lt;br /&gt;sys 1m30.534s&lt;br /&gt;&amp;nbsp;&lt;br /&gt;$ &lt;font color="black"&gt;ls -l ./clang/lib/libgmp.a&lt;/font&gt;&lt;br /&gt;-rw-r--r--. 1 bitwalk bitwalk &lt;font color="red"&gt;739022&lt;/font&gt; 2010-05-03 23:36 ./clang/lib/libgmp.a&lt;br /&gt;&amp;nbsp;&lt;br /&gt;$ &lt;font color="black"&gt;clang -static -O2 -I./clang/include pi.c ./clang/lib/libgmp.a -o pi&lt;/font&gt;&lt;br /&gt;$ &lt;font color="black"&gt;time ./pi &amp;gt; pi.dat&lt;/font&gt;&lt;br /&gt;real &lt;font color="red"&gt;0m19.584s&lt;/font&gt;&lt;br /&gt;user 0m18.661s&lt;br /&gt;sys 0m0.622s&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;今回は、GMP のビルドに要した時間も計測してみましたが、意外にも clang でビルドした場合の方が時間が掛かっています（+16.3% 程度）。バイナリ &lt;tt&gt;libgmp.a&lt;/tt&gt; のサイズは clang でビルドした方が明らかに小さく（-9.4% 程度）、実行速度は GCC よりやや遅い（+0.3% 程度）という結果になりました。&lt;br /&gt;&amp;nbsp;&lt;br /&gt;余談になりますが、Fedora 13（β版）の RPM パッケージ GMP 4.3.1 のスタティックライブラリを使って普通にビルドした場合の計算時間も確認しました。GMP 5.0.1 との差にびっくりです。&lt;br /&gt;&lt;pre style="clear:both;"&gt;&lt;br /&gt;$ &lt;font color="black"&gt;gcc -static -O2 pi.c -lgmp -o pi&lt;/font&gt;&lt;br /&gt;$ &lt;font color="black"&gt;time ./pi &amp;gt; pi.dat&lt;/font&gt;&lt;br /&gt;real &lt;font color="#008000"&gt;0m38.492s&lt;/font&gt;&lt;br /&gt;user 0m37.361s&lt;br /&gt;sys 0m0.605s&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;h2&gt;参考サイト&lt;/h2&gt;&lt;br /&gt;[1] &lt;a href="http://h2np.net/pi/"&gt;GNU/Linux上で円周率の計算をおこなう&lt;/a&gt;&lt;br /&gt;[2] &lt;a href="http://gmplib.org/"&gt;The GNU MP Bignum Library&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9176013-7220532075801934859?l=bitwalk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitwalk.blogspot.com/feeds/7220532075801934859/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9176013&amp;postID=7220532075801934859' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/7220532075801934859'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/7220532075801934859'/><link rel='alternate' type='text/html' href='http://bitwalk.blogspot.com/2010/05/llvm-27-2.html' title='LLVM 2.7 のベンチマーク (2)'/><author><name>bitWalk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_76ucAFyAIec/S8mr8B-x8TI/AAAAAAAAA7A/COQcoNo34NA/s72-c/DragonXSmall.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9176013.post-3430693882739008838</id><published>2010-05-02T10:21:00.017+09:00</published><updated>2010-05-03T00:10:02.540+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='コンパイラ'/><title type='text'>LLVM 2.7 のベンチマーク</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_76ucAFyAIec/S8mr8B-x8TI/AAAAAAAAA7A/COQcoNo34NA/s1600/DragonXSmall.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 68px; height: 68px;" src="http://1.bp.blogspot.com/_76ucAFyAIec/S8mr8B-x8TI/AAAAAAAAA7A/COQcoNo34NA/s200/DragonXSmall.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5461085070975693106" /&gt;&lt;/a&gt;&lt;big&gt;先&lt;/big&gt;日リリースされたばかりの LLVM 2.7 のベンチマークを、&lt;a href="http://bitwalk.blogspot.com/2010/04/llvm-clang.html"&gt;前回と同様に&lt;/a&gt;取ってみました。OS / マシン は、Fedora 13（β版）/ 32bit の古いノート PC (ThinkPad X31) を使用しています。&lt;br /&gt;&lt;br /&gt;LLVM/clang の RPM は、rawhide のパッケージ &lt;tt&gt;llvm-2.7-0.1.pre1.fc14.src.rpm&lt;/tt&gt; の spec ファイルを書き換え、LLVM と clang のソースファイルも 2.7 リリース版に置き換えてビルドしたパッケージを使用しました。&lt;br /&gt;&lt;br /&gt;ベンチマークに使用した Tcl は、nightly-cvs 版 &lt;tt&gt;tcl-20100430.tar.gz&lt;/tt&gt; です。 以下に GCC 4.4.3 と LLVM/clang-2.7 のベンチマーク結果を示しました。&lt;br /&gt;&lt;pre style="clear:both;"&gt;&lt;br /&gt;Fedora 13 (32bit i686)&lt;br /&gt;tcl-20100430&lt;br /&gt;# GCC 4.4.3&lt;br /&gt;1000000 repeats in 0.146364&lt;br /&gt;10000 iterative factorial(100) in 74.794581&lt;br /&gt;10000 iterative factorial(100) with 'if' in 75.131586&lt;br /&gt;10000 recursive factorial(100) in 90.248124&lt;br /&gt;1000 exec calls in 5.680614&lt;br /&gt;total time was 246.00126899999998&lt;br /&gt;&amp;nbsp;&lt;br /&gt;# LLVM/clang 2.7&lt;br /&gt;1000000 repeats in 0.170331&lt;br /&gt;10000 iterative factorial(100) in 77.283847&lt;br /&gt;10000 iterative factorial(100) with 'if' in 77.356544&lt;br /&gt;10000 recursive factorial(100) in 93.987031&lt;br /&gt;1000 exec calls in 5.631689&lt;br /&gt;total time was 254.429442&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;依然として clang で生成したバイナリの方が遅いのですが、その差は 3 - 4% 程度でした。&lt;br /&gt;&lt;br /&gt;clang-2.7 では C++ のセルフホスティングに対応し、LLVM と clang のビルドが可能になったということです。次の興味としては、clang でビルドした LLVM/clang のパフォーマンスがどうなのかなのですが、まずは clang でビルド出来ることを確認してみます。&lt;br /&gt;&amp;nbsp;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9176013-3430693882739008838?l=bitwalk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitwalk.blogspot.com/feeds/3430693882739008838/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9176013&amp;postID=3430693882739008838' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/3430693882739008838'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/3430693882739008838'/><link rel='alternate' type='text/html' href='http://bitwalk.blogspot.com/2010/05/llvm-27.html' title='LLVM 2.7 のベンチマーク'/><author><name>bitWalk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_76ucAFyAIec/S8mr8B-x8TI/AAAAAAAAA7A/COQcoNo34NA/s72-c/DragonXSmall.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9176013.post-4085389168562852746</id><published>2010-05-01T07:42:00.003+09:00</published><updated>2010-05-01T07:47:17.245+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='フォント'/><title type='text'>さわらびゴシック 20100430</title><content type='html'>&lt;a href="http://sourceforge.jp/"&gt;&lt;img src="http://sourceforge.jp/sflogo.php?group_id=3896&amp;type=1" width="96" height="31" border="0" alt="SourceForge.JP"&gt;&lt;/a&gt;&lt;br /&gt;&lt;big&gt;さ&lt;/big&gt;わらびゴシックフォント 20100430 がリリースされました。しばらく RPM パッケージ作成をサボっていましたが、今回は Fedora 13 用 RPM パッケージを作成しアップロードしました。漢字グリフが 1,845 文字になりました。&lt;br /&gt;&lt;br /&gt;・&lt;a href="https://sourceforge.jp/projects/sawarabi-fonts/releases/"&gt;さわらびフォント&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_76ucAFyAIec/S9tdWGbxaVI/AAAAAAAAA7Q/1Wpl-xAyOrQ/s1600/sawarabi-gothic.png"&gt;&lt;img style="display:block; margin:10px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 246px; height: 320px;" src="http://3.bp.blogspot.com/_76ucAFyAIec/S9tdWGbxaVI/AAAAAAAAA7Q/1Wpl-xAyOrQ/s320/sawarabi-gothic.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5466065207009831250" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9176013-4085389168562852746?l=bitwalk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitwalk.blogspot.com/feeds/4085389168562852746/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9176013&amp;postID=4085389168562852746' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/4085389168562852746'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/4085389168562852746'/><link rel='alternate' type='text/html' href='http://bitwalk.blogspot.com/2010/05/20100430.html' title='さわらびゴシック 20100430'/><author><name>bitWalk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_76ucAFyAIec/S9tdWGbxaVI/AAAAAAAAA7Q/1Wpl-xAyOrQ/s72-c/sawarabi-gothic.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9176013.post-6207720727472265119</id><published>2010-04-30T22:18:00.006+09:00</published><updated>2010-05-05T20:53:27.836+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Fedora'/><title type='text'>Fedora 13 (Goddard) ベータ版</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s1600-h/fedora.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 43px; height: 44px;" src="http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s200/fedora.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5280249589920714050" /&gt;&lt;/a&gt;&lt;big&gt;F&lt;/big&gt;edora 13 リリーススケジュールによると、当初の予定より遅れ、正式リリースは 5 月 18 日、RC 版のリリースが 5 月 6 日の予定になっています。&lt;br /&gt;&lt;br /&gt;当初はこの GW に RC 版をインストールしようと予定していたのですが、5 月 6 日までは待ちきれず、β版の iso イメージをダウンロードしてアップグレードしてしまいました。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_76ucAFyAIec/S9tX6dqe8lI/AAAAAAAAA7I/RHsUyeiayew/s1600/Fedora13.png"&gt;&lt;img style="display:block; margin:10px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 256px;" src="http://1.bp.blogspot.com/_76ucAFyAIec/S9tX6dqe8lI/AAAAAAAAA7I/RHsUyeiayew/s320/Fedora13.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5466059234651075154" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;参考サイト&lt;/h2&gt;&lt;br /&gt;[1] &lt;a href="http://journal.mycom.co.jp/news/2010/04/14/033/index.html"&gt;Fedora 13のベータ版が登場 - 正式版は5月中旬か | エンタープライズ | マイコミジャーナル&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9176013-6207720727472265119?l=bitwalk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitwalk.blogspot.com/feeds/6207720727472265119/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9176013&amp;postID=6207720727472265119' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/6207720727472265119'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/6207720727472265119'/><link rel='alternate' type='text/html' href='http://bitwalk.blogspot.com/2010/04/fedora-13.html' title='Fedora 13 (Goddard) ベータ版'/><author><name>bitWalk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s72-c/fedora.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9176013.post-3355627127967416491</id><published>2010-04-29T06:03:00.005+09:00</published><updated>2010-05-02T13:42:41.146+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='コンパイラ'/><title type='text'>【備忘録】LLVM の IR って？</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_76ucAFyAIec/S8mr8B-x8TI/AAAAAAAAA7A/COQcoNo34NA/s1600/DragonXSmall.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 68px; height: 68px;" src="http://1.bp.blogspot.com/_76ucAFyAIec/S8mr8B-x8TI/AAAAAAAAA7A/COQcoNo34NA/s200/DragonXSmall.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5461085070975693106" /&gt;&lt;/a&gt;&lt;big&gt;L&lt;/big&gt;LVM を使い始めてまだ日が浅いので、マニュアルを読むと解らない用語がいろいろあります。&lt;br /&gt;&lt;br /&gt;頻繁に出てくる LLVM IR あるいは an in-memory compiler IR という表現で使われている IR もその一つです。&lt;br /&gt;&lt;br /&gt;どうやら IR は &lt;i&gt;Instruction Register&lt;/i&gt; の略語だと思うのですが…、ちょっと自信がありません。とりあえず【備忘録】として残しておきます。&lt;br /&gt;&lt;br /&gt;&lt;b&gt;【訂正】&lt;/b&gt; 02-May-2010&lt;br /&gt;[2] の記事に書いてありました。IR とは &lt;i&gt;Intermediate Representation&lt;/i&gt; の略でした。&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;関連サイト&lt;/h2&gt;&lt;br /&gt;[1] &lt;a href="http://en.wikipedia.org/wiki/Bootstrapping_%28computing%29"&gt;Bootstrapping (computing) - Wikipedia, the free encyclopedia&lt;/a&gt;&lt;br /&gt;[2] &lt;a href="http://journal.mycom.co.jp/news/2010/04/29/025/?rt=na"&gt;LLVMプロジェクト、対応プラットフォームを強化した「LLVM 2.7」&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9176013-3355627127967416491?l=bitwalk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitwalk.blogspot.com/feeds/3355627127967416491/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9176013&amp;postID=3355627127967416491' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/3355627127967416491'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/3355627127967416491'/><link rel='alternate' type='text/html' href='http://bitwalk.blogspot.com/2010/04/llvm-ir.html' title='【備忘録】LLVM の IR って？'/><author><name>bitWalk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_76ucAFyAIec/S8mr8B-x8TI/AAAAAAAAA7A/COQcoNo34NA/s72-c/DragonXSmall.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9176013.post-2645892844111175583</id><published>2010-04-28T21:34:00.002+09:00</published><updated>2010-04-28T21:49:00.230+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='コンパイラ'/><title type='text'>LLVM 2.7 リリース</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_76ucAFyAIec/S8mr8B-x8TI/AAAAAAAAA7A/COQcoNo34NA/s1600/DragonXSmall.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 68px; height: 68px;" src="http://1.bp.blogspot.com/_76ucAFyAIec/S8mr8B-x8TI/AAAAAAAAA7A/COQcoNo34NA/s200/DragonXSmall.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5461085070975693106" /&gt;&lt;/a&gt;&lt;big&gt;L&lt;/big&gt;LVM 2.7 が 4 月 27 日付けでリリースされました。&lt;br /&gt;&lt;br /&gt;[1] &lt;a href="http://llvm.org/"&gt;The LLVM Compiler Infrastructure&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9176013-2645892844111175583?l=bitwalk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitwalk.blogspot.com/feeds/2645892844111175583/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9176013&amp;postID=2645892844111175583' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/2645892844111175583'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/2645892844111175583'/><link rel='alternate' type='text/html' href='http://bitwalk.blogspot.com/2010/04/llvm-27.html' title='LLVM 2.7 リリース'/><author><name>bitWalk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_76ucAFyAIec/S8mr8B-x8TI/AAAAAAAAA7A/COQcoNo34NA/s72-c/DragonXSmall.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9176013.post-7828197396365772584</id><published>2010-04-17T11:09:00.023+09:00</published><updated>2010-05-02T15:20:06.997+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='コンパイラ'/><title type='text'>LLVM と clang</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_76ucAFyAIec/S8mr8B-x8TI/AAAAAAAAA7A/COQcoNo34NA/s1600/DragonXSmall.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 68px; height: 68px;" src="http://1.bp.blogspot.com/_76ucAFyAIec/S8mr8B-x8TI/AAAAAAAAA7A/COQcoNo34NA/s200/DragonXSmall.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5461085070975693106" /&gt;&lt;/a&gt;&lt;big&gt;以&lt;/big&gt;前から気になっていた LLVM と clang を、Fedora 12 上で使ってみました。&lt;br /&gt;&lt;br /&gt;&lt;a href="http://llvm.org/"&gt;LLVM&lt;/a&gt; は Low Level Virtual Machine の略で、プログラミング言語に対する仮想マシン（コンパイラ・インフラストラクチャ）です。この仮想マシンには RISC CPU のようなインストラクションセット（マシン語）が構成されています。プログラミング言語で記述されたプログラムを、LLVM のフロントエンドのコンパイラが仮想マシン LLVM のマシン語に翻訳し、LLVM が言語やプラットフォームから独立して最適化を行い、ターゲット CPU のマシン語を生成します。&lt;br /&gt;&lt;br /&gt;&lt;a href="http://clang.llvm.org/"&gt;clang&lt;/a&gt;（クラング）は、C 系のプログラミング言語 (C, C++, Objective C/C++) をサポートする LLVM のフロントエンド（コンパイラ）で、GCC と互換性があります。また、プログラムを開発する IDE とインターフェースを取りやすいように考慮された設計になっています。&lt;br /&gt;&lt;pre style="clear:both;"&gt;&lt;br /&gt;SYNOPSIS&lt;br /&gt;       &lt;b&gt;clang&lt;/b&gt; [&lt;b&gt;-c&lt;/b&gt;|&lt;b&gt;-S&lt;/b&gt;|&lt;b&gt;-E&lt;/b&gt;] &lt;b&gt;-std=&lt;/b&gt;&lt;u&gt;standard&lt;/u&gt; &lt;b&gt;-g&lt;/b&gt;&lt;br /&gt;         [&lt;b&gt;-O0&lt;/b&gt;|&lt;b&gt;-O1&lt;/b&gt;|&lt;b&gt;-O2&lt;/b&gt;|&lt;b&gt;-Os&lt;/b&gt;|&lt;b&gt;-O3&lt;/b&gt;|&lt;b&gt;-O4&lt;/b&gt;]&lt;br /&gt;         &lt;b&gt;-W&lt;/b&gt;&lt;u&gt;warnings...&lt;/u&gt; &lt;b&gt;-pedantic&lt;/b&gt;&lt;br /&gt;         &lt;b&gt;-I&lt;/b&gt;&lt;u&gt;dir...&lt;/u&gt; &lt;b&gt;-L&lt;/b&gt;&lt;u&gt;dir...&lt;/u&gt;&lt;br /&gt;         &lt;b&gt;-D&lt;/b&gt;&lt;u&gt;macro[=defn]&lt;/u&gt;&lt;br /&gt;         &lt;b&gt;-f&lt;/b&gt;&lt;u&gt;feature-option...&lt;/u&gt;&lt;br /&gt;         &lt;b&gt;-m&lt;/b&gt;&lt;u&gt;machine-option...&lt;/u&gt;&lt;br /&gt;         &lt;b&gt;-o&lt;/b&gt; &lt;u&gt;output-file&lt;/u&gt;&lt;br /&gt;         &lt;u&gt;input-filenames&lt;/u&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;どちらのライセンスも、&lt;a href="http://en.wikipedia.org/wiki/BSD_License"&gt;BSD ライセンス&lt;/a&gt;をベースにした &lt;a href="http://en.wikipedia.org/wiki/University_of_Illinois/NCSA_Open_Source_License"&gt;University of Illinois/NCSA Open Source License&lt;/a&gt; です。&lt;br /&gt;&lt;br /&gt;さて、Fedora 12 で LLVM と clang 関連 RPM を利用するには、yum で次のようにしてインストールします。&lt;br /&gt;&lt;pre style="clear:both;"&gt;&lt;br /&gt;$ &lt;font color="black"&gt;yum install llvm* clang*&lt;/font&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;LLVM、clang のバージョンは 2.6 で、最新の安定版です。&lt;br /&gt;&lt;br /&gt;clang で生成したバイナリが、どの程度のパフォーマンスを持っているのか気になるので、Tcl の nightly-CVS(Tcl8.6b1.1, tcl-20100415.tar.gz) ファイルをダウンロードして、gcc と clang それぞれでコンパイルしたバイナリのベンチマークを取ってみました。&lt;br /&gt;&lt;br /&gt;Tcl のビルドに使用したスクリプトを以下に示します。&lt;br /&gt;&lt;pre style="clear:both;"&gt;&lt;br /&gt;#!/bin/sh&lt;br /&gt;&amp;nbsp;&lt;br /&gt;# C compiler&lt;br /&gt;#export CC=gcc&lt;br /&gt;export CC=clang&lt;br /&gt;&amp;nbsp;&lt;br /&gt;# constants&lt;br /&gt;export cvs_ver="20100415"&lt;br /&gt;&amp;nbsp;&lt;br /&gt;# remove old sources&lt;br /&gt;echo "### Removing old sources &amp; binaries"&lt;br /&gt;rm -fR tcl&lt;br /&gt;&amp;nbsp;&lt;br /&gt;# extract sources&lt;br /&gt;echo "### Expanding sources to build"&lt;br /&gt;tar zxvf tcl-${cvs_ver}.tar.gz&lt;br /&gt;&amp;nbsp;&lt;br /&gt;# build Tcl&lt;br /&gt;echo "### build Tcl"&lt;br /&gt;cd tcl/unix&lt;br /&gt;./configure --prefix=$HOME&lt;br /&gt;make&lt;br /&gt;make test&lt;br /&gt;make install&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;clang でビルドした際に、警告メッセージが gcc の時と違って、ずいぶんと親切な内容であったことが印象的でした。例を以下に示します。&lt;br /&gt;&lt;pre style="clear:both;"&gt;&lt;br /&gt;clang -c -DNDEBUG -O2  -pipe -fvisibility=hidden  -Wall -fPIC -DBUILD_tcl -I"." &lt;br /&gt;-I/home/bitwalk/src/tcl/unix -I/home/bitwalk/src/tcl/generic -I/home/bitwalk/src&lt;br /&gt;/tcl/libtommath -DPACKAGE_NAME=\"tcl\" -DPACKAGE_TARNAME=\"tcl\" -DPACKAGE_VERSI&lt;br /&gt;ON=\"8.6\" -DPACKAGE_STRING=\"tcl\ 8.6\" -DPACKAGE_BUGREPORT=\"\" -DSTDC_HEADERS&lt;br /&gt;=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 &lt;br /&gt;-DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAV&lt;br /&gt;E_UNISTD_H=1 -DHAVE_LIMITS_H=1 -DHAVE_SYS_PARAM_H=1 -DUSE_THREAD_ALLOC=1 -D_REEN&lt;br /&gt;TRANT=1 -D_THREAD_SAFE=1 -DTCL_THREADS=1 -DTCL_CFGVAL_ENCODING=\"iso8859-1\" -DH&lt;br /&gt;AVE_ZLIB=1 -DTCL_SHLIB_EXT=\".so\" -DTCL_CFG_OPTIMIZED=1 -DTCL_CFG_DEBUG=1 -DTCL&lt;br /&gt;_TOMMATH=1 -DMP_PREC=4 -D_LARGEFILE64_SOURCE=1 -DTCL_WIDE_INT_TYPE=long\ long -D&lt;br /&gt;HAVE_STRUCT_STAT64=1 -DHAVE_OPEN64=1 -DHAVE_LSEEK64=1 -DHAVE_TYPE_OFF64_T=1 -DHA&lt;br /&gt;VE_GETCWD=1 -DHAVE_MKSTEMP=1 -DHAVE_OPENDIR=1 -DHAVE_STRTOL=1 -DHAVE_WAITPID=1 -&lt;br /&gt;DHAVE_GETADDRINFO=1 -DHAVE_GETPWUID_R_5=1 -DHAVE_GETPWUID_R=1 -DHAVE_GETPWNAM_R_&lt;br /&gt;5=1 -DHAVE_GETPWNAM_R=1 -DHAVE_GETGRGID_R_5=1 -DHAVE_GETGRGID_R=1 -DHAVE_GETGRNA&lt;br /&gt;M_R_5=1 -DHAVE_GETGRNAM_R=1 -DHAVE_GETHOSTBYNAME_R_6=1 -DHAVE_GETHOSTBYNAME_R=1 &lt;br /&gt;-DHAVE_GETHOSTBYADDR_R_8=1 -DHAVE_GETHOSTBYADDR_R=1 -DUSE_TERMIOS=1 -DHAVE_SYS_T&lt;br /&gt;IME_H=1 -DTIME_WITH_SYS_TIME=1 -DHAVE_GMTIME_R=1 -DHAVE_LOCALTIME_R=1 -DHAVE_MKT&lt;br /&gt;IME=1 -DHAVE_TM_GMTOFF=1 -DHAVE_TIMEZONE_VAR=1 -DHAVE_STRUCT_STAT_ST_BLOCKS=1 -D&lt;br /&gt;HAVE_STRUCT_STAT_ST_BLKSIZE=1 -DHAVE_BLKCNT_T=1 -DHAVE_INTPTR_T=1 -DHAVE_UINTPTR&lt;br /&gt;_T=1 -DHAVE_SIGNED_CHAR=1 -DHAVE_LANGINFO=1 -DHAVE_MKSTEMPS=1 -DHAVE_FTS=1 -DHAV&lt;br /&gt;E_SYS_IOCTL_H=1 -DTCL_UNLOAD_DLLS=1       /home/bitwalk/src/tcl/generic/tclBasic&lt;br /&gt;.c&lt;br /&gt;/home/bitwalk/src/tcl/generic/tclBasic.c:7652:2: warning: expression result unus&lt;br /&gt;ed [-Wunused-value]&lt;br /&gt;        TclGetLongFromObj(NULL, objPtr, &amp;iResult);&lt;br /&gt;        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~&lt;br /&gt;/home/bitwalk/src/tcl/generic/tclInt.h:2460:57: note: instantiated from:&lt;br /&gt;            ? ((*(longPtr) = (objPtr)-&gt;internalRep.longValue), TCL_OK) \&lt;br /&gt;                                                               ^&lt;br /&gt;/home/bitwalk/src/tcl/generic/tcl.h:635:18: note: instantiated from:&lt;br /&gt;#define TCL_OK                  0&lt;br /&gt;                                ^&lt;br /&gt;/home/bitwalk/src/tcl/generic/tclBasic.c:7892:2: warning: expression result unus&lt;br /&gt;ed [-Wunused-value]&lt;br /&gt;        TclGetLongFromObj(NULL, objPtr, &amp;i);&lt;br /&gt;        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~&lt;br /&gt;/home/bitwalk/src/tcl/generic/tclInt.h:2460:57: note: instantiated from:&lt;br /&gt;            ? ((*(longPtr) = (objPtr)-&gt;internalRep.longValue), TCL_OK) \&lt;br /&gt;                                                               ^&lt;br /&gt;/home/bitwalk/src/tcl/generic/tcl.h:635:18: note: instantiated from:&lt;br /&gt;#define TCL_OK                  0&lt;br /&gt;                                ^&lt;br /&gt;/home/bitwalk/src/tcl/generic/tclBasic.c:8897:5: warning: expression result unus&lt;br /&gt;ed [-Wunused-value]&lt;br /&gt;    TclGetString(cmdObjPtr);&lt;br /&gt;    ^~~~~~~~~~~~~~~~~~~~~~~&lt;br /&gt;/home/bitwalk/src/tcl/generic/tclInt.h:3957:33: note: instantiated from:&lt;br /&gt;    ((objPtr)-&gt;bytes? (objPtr)-&gt;bytes : Tcl_GetString((objPtr)))&lt;br /&gt;                      ~~~~~~~~  ^~~~~&lt;br /&gt;3 diagnostics generated.&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Tcl のベンチマークは、&lt;a href="http://www.metacard.com/tclbench.html"&gt;Tcl benchmark tests&lt;/a&gt; のサイトのスクリプトの一部を使用しました。32bit の x86 版 Fedora 12 上で、gcc と clang それぞれのベンチマークを取った結果は以下のようになりました。数値の単位は「秒」です。&lt;br /&gt;&lt;pre style="clear:both;"&gt;&lt;br /&gt;### gcc&lt;br /&gt;$ &lt;font color="black"&gt;ls -l libtcl8.6.so&lt;/font&gt;&lt;br /&gt;-r-xr-xr-x. 1 bitwalk bitwalk 1393392 2010-04-17 09:15 libtcl8.6.so&lt;br /&gt;&lt;br /&gt;$ &lt;font color="black"&gt;tclsh8.6 benchmark.tcl&lt;/font&gt;&lt;br /&gt;1000000 repeats in 0.169659&lt;br /&gt;10000 iterative factorial(100) in 73.867148&lt;br /&gt;10000 iterative factorial(100) with 'if' in 73.777363&lt;br /&gt;10000 recursive factorial(100) in 88.282079&lt;br /&gt;1000 exec calls in 1.600121&lt;br /&gt;total time was 237.69637&lt;br /&gt;&amp;nbsp;&lt;br /&gt;### LLVN &amp;amp; clang&lt;br /&gt;$ &lt;font color="black"&gt;ls -l libtcl8.6.so&lt;/font&gt;&lt;br /&gt;-r-xr-xr-x. 1 bitwalk bitwalk 1371875 2010-04-17 09:54 libtcl8.6.so&lt;br /&gt;&amp;nbsp;&lt;br /&gt;$ &lt;font color="black"&gt;tclsh8.6 benchmark.tcl&lt;/font&gt;&lt;br /&gt;1000000 repeats in 0.165494&lt;br /&gt;10000 iterative factorial(100) in 79.013924&lt;br /&gt;10000 iterative factorial(100) with 'if' in 79.165719&lt;br /&gt;10000 recursive factorial(100) in 95.940107&lt;br /&gt;1000 exec calls in 1.549376&lt;br /&gt;total time was 255.83461999999997&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;64bit 版 Fedora 12 上でも、&lt;tt&gt;--enable-64bit&lt;/tt&gt; スイッチを加えてビルドした Tcl を試しましたが、現時点では、どちらの場合も、clang でビルドしたバイナリによる計算速度は、gcc でビルドしたものより 5 - 10 % 程度遅いという結果になりました。バイナリのサイズは clang で生成した方が、やや小さくなっています。&lt;br /&gt;&lt;br /&gt;IDE でプログラムを開発する場合のメリットを調べる必要があります。機会があれば紹介しようと思います。&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;&lt;u&gt;参考サイト&lt;/u&gt;&lt;/h3&gt;&lt;br /&gt;[1] &lt;a href="http://llvm.org/"&gt;The LLVM Compiler Infrastructure Project&lt;/a&gt;&lt;br /&gt;[2] &lt;a href="http://sourceforge.jp/magazine/09/10/26/0749208"&gt;LLVM 2.6リリース  - SourceForge.JP Magazine : オープンソースの話題満載&lt;/a&gt;&lt;br /&gt;[3] &lt;a href="http://sourceforge.jp/magazine/10/02/08/0254222"&gt;LLVMのコンパイラ「Clang」、セルフホスティングに成功  - SourceForge.JP Magazine : オープンソースの話題満載&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9176013-7828197396365772584?l=bitwalk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitwalk.blogspot.com/feeds/7828197396365772584/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9176013&amp;postID=7828197396365772584' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/7828197396365772584'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/7828197396365772584'/><link rel='alternate' type='text/html' href='http://bitwalk.blogspot.com/2010/04/llvm-clang.html' title='LLVM と clang'/><author><name>bitWalk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_76ucAFyAIec/S8mr8B-x8TI/AAAAAAAAA7A/COQcoNo34NA/s72-c/DragonXSmall.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9176013.post-8514330030248964082</id><published>2010-03-27T18:27:00.021+09:00</published><updated>2010-03-28T17:49:08.955+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Let&apos;s Wine'/><title type='text'>Let's Wine（第15回）</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_76ucAFyAIec/R8EKgBycuJI/AAAAAAAAAGE/xUJHSYhssIY/s1600-h/wine.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://bp3.blogger.com/_76ucAFyAIec/R8EKgBycuJI/AAAAAAAAAGE/xUJHSYhssIY/s400/wine.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5170425392550164626"&gt;&lt;/a&gt;&lt;h2&gt;ParaFla を試す&lt;/h2&gt;&lt;br /&gt;&lt;big&gt;P&lt;/big&gt;araFla は（Windows 用の）フリーな Flash 作成ツールで、簡単な操作で Flash ムービーが作成可能、簡単お手軽にテキストエフェクトが使用可能、FLASH MX 相当の本格的なアクションスクリプトに対応、携帯電話向けの FSCommand2 や SMAF・MFi サウンドに対応、FLASH8 相当のフィルタエフェクト・ブレンドモードに対応といった特徴があります。著作権は作者である Coa 氏に帰属します。&lt;br /&gt;&lt;br /&gt;ParaFra を動作させるには、Visual Basic 6.0 のランタイム及び IE 用の Flash Player 8 が必要になります。私の wine の環境では、VB のランタイムは、&lt;a href="http://www.vector.co.jp/soft/win95/util/se308404.html"&gt;XTRM Runtime&lt;/a&gt; をインストール、Flash は、（後方互換性があると考え）&lt;a href="http://get.adobe.com/jp/flashplayer/otherversions/"&gt;Flash Player 10 for Windows Internet Explorer&lt;/a&gt; をインストールしています。&lt;br /&gt;&lt;br /&gt;ParaFla を実行するには、ダウンロードした zip ファイルを展開し、&lt;tt&gt;parafla.exe&lt;/tt&gt; を wine で起動するだけです。&lt;br /&gt;&lt;pre style="clear:both;"&gt;&lt;br /&gt;$ &lt;font color="black"&gt;unzip parafla137.zip&lt;/font&gt;&lt;br /&gt;Archive:  parafla137.zip&lt;br /&gt;   creating: parafla/&lt;br /&gt;  inflating: parafla/aclib.dll       &lt;br /&gt;   creating: parafla/effect/&lt;br /&gt;   creating: parafla/effect/in/&lt;br /&gt;   :&lt;br /&gt;   :&lt;br /&gt;  inflating: parafla/sample/sample10/texteffect.pfl  &lt;br /&gt;  inflating: parafla/zlib.dll&lt;br /&gt;$ &lt;font color="black"&gt;cd parafla&lt;/font&gt;&lt;br /&gt;$ &lt;font color="black"&gt;ls&lt;/font&gt;&lt;br /&gt;aclib.dll  history.txt  ijl15.dll  parafla.chm  readme.txt  zlib.dll&lt;br /&gt;effect     icons.bmp    mpng.dll   parafla.exe  sample&lt;br /&gt;$ &lt;font color="black"&gt;wine parafla.exe &amp;amp;&lt;/font&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_76ucAFyAIec/S63Q8R4dDiI/AAAAAAAAA6k/nF6Uuu4aQ28/s1600/ParaFla.png"&gt;&lt;img style="display:block; margin:10px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 188px;" src="http://2.bp.blogspot.com/_76ucAFyAIec/S63Q8R4dDiI/AAAAAAAAA6k/nF6Uuu4aQ28/s320/ParaFla.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5453244457826455074"&gt;&lt;/a&gt;&lt;br /&gt;以下は、同梱されていたサンプルファイル sample06 から swf ファイルを出力して表示した例です。&lt;br /&gt;&lt;center&gt;&lt;object data="http://bitwalk.sitemix.jp/pic/sample06.swf" width="160" height="225" type="application/x-shockwave-flash"&gt;&lt;br /&gt;&lt;param name="movie" value="http://bitwalk.sitemix.jp/pic/sample06.swf"/&gt;&lt;br /&gt;&lt;/object&gt;&lt;/center&gt;&lt;br /&gt;私の調査不足かもしれませんが、Linux では、これといった Flash ムービー作成用ツールが見当たらないので、wine 上で動作する ParaFla は重宝しそうです。&lt;br /&gt;&lt;br /&gt;&lt;H2&gt;参考サイト&lt;/h2&gt;&lt;br /&gt;[1] &lt;a href="http://www.geocities.jp/coa9999/index.html"&gt;ParaFla!のページ&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9176013-8514330030248964082?l=bitwalk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitwalk.blogspot.com/feeds/8514330030248964082/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9176013&amp;postID=8514330030248964082' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/8514330030248964082'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/8514330030248964082'/><link rel='alternate' type='text/html' href='http://bitwalk.blogspot.com/2010/03/lets-wine15.html' title='Let&apos;s Wine（第15回）'/><author><name>bitWalk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_76ucAFyAIec/R8EKgBycuJI/AAAAAAAAAGE/xUJHSYhssIY/s72-c/wine.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9176013.post-6477170681452485819</id><published>2010-03-21T01:47:00.007+09:00</published><updated>2010-03-21T06:47:20.554+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Fedora'/><title type='text'>Fedora 13 のリリース時期</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s1600-h/fedora.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 43px; height: 44px;" src="http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s200/fedora.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5280249589920714050" /&gt;&lt;/a&gt;&lt;big&gt;F&lt;/big&gt;edora 13 のリリース時期が近づいています。年 2 回のリリースというペースは、なかなか慌しいことです。予定では正式リリースは 5 月 11 日で、現在、αリリースが公開されています。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://fedoraproject.org/get-prerelease"&gt;&lt;img style="display:block; margin:10px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 200px; height: 100px;" src="http://2.bp.blogspot.com/_76ucAFyAIec/S6T-zLNLrXI/AAAAAAAAA6c/hq0KpXQfOQg/s320/f13alpha.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5450761604160007538" /&gt;&lt;/a&gt;&lt;br /&gt;RC 版が入手出来るようになったら、次のリリースに乗り換えていますので、5 月の連休は、新しい Fedora に振り回されます。&lt;br /&gt;&lt;br /&gt;[1] &lt;a href="http://fedoraproject.org/wiki/Releases/13"&gt;Releases/13/Schedule - FedoraProject&lt;/a&gt;&lt;br /&gt;[2] &lt;a href="http://fedoraproject.org/wiki/Releases/13/FeatureList?wkanF13"&gt;Releases/13/FeatureList - FedoraProject&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9176013-6477170681452485819?l=bitwalk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitwalk.blogspot.com/feeds/6477170681452485819/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9176013&amp;postID=6477170681452485819' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/6477170681452485819'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/6477170681452485819'/><link rel='alternate' type='text/html' href='http://bitwalk.blogspot.com/2010/03/fedora-13.html' title='Fedora 13 のリリース時期'/><author><name>bitWalk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s72-c/fedora.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9176013.post-4914423606336874015</id><published>2010-03-20T09:03:00.015+09:00</published><updated>2010-03-21T01:38:56.483+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Let&apos;s Wine'/><title type='text'>Let's Wine（第14回）</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_76ucAFyAIec/R8EKgBycuJI/AAAAAAAAAGE/xUJHSYhssIY/s1600-h/wine.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://bp3.blogger.com/_76ucAFyAIec/R8EKgBycuJI/AAAAAAAAAGE/xUJHSYhssIY/s400/wine.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5170425392550164626" /&gt;&lt;/a&gt;&lt;h2&gt;msstyle 形式のスキンでカスタマイズ&lt;/h2&gt;&lt;br /&gt;&lt;big&gt;W&lt;/big&gt;indows XP を使うときには、Windows クラシックスタイルを使っています。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_76ucAFyAIec/S6SIufmlR-I/AAAAAAAAA6M/fTyAElaZX8Y/s1600-h/winxp_style.png"&gt;&lt;img style="display:block; margin:10px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 284px;" src="http://1.bp.blogspot.com/_76ucAFyAIec/S6SIufmlR-I/AAAAAAAAA6M/fTyAElaZX8Y/s320/winxp_style.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5450631781363828706" /&gt;&lt;/a&gt;&lt;div align="center"&gt;&lt;u&gt;Windows XP のスタイル（Windows クラシックスタイル）&lt;/u&gt;&lt;/div&gt;&lt;br /&gt;しかし、Wine で Windows のアプリケーションを実行する時には、オリジナルのスタイルの場合、なぜかとても貧相のように感じ、可能であれば、もう少しなんとかならないかと思っていました。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_76ucAFyAIec/S6QTSczRJNI/AAAAAAAAA58/nOtRRqOCKeo/s1600-h/Wine%E8%A8%AD%E5%AE%9A_normal.png"&gt;&lt;img style="display:block; margin:10px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 300px; height: 320px;" src="http://1.bp.blogspot.com/_76ucAFyAIec/S6QTSczRJNI/AAAAAAAAA58/nOtRRqOCKeo/s320/Wine%E8%A8%AD%E5%AE%9A_normal.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5450502656714941650" /&gt;&lt;/a&gt;&lt;div align="center"&gt;&lt;u&gt;Wine のオリジナルスタイル (winecfg)&lt;/u&gt;&lt;/div&gt;&lt;br /&gt;参考サイト [1] に、無料で入手できる Windows XP の msstyle のスキンを見つけたので、いろいろと Wine に試してみました。以下は、&lt;a href="http://www.skinbase.org/rate.php?skins=29043"&gt;Xenes VS&lt;/a&gt; というテーマを Wine に適用した例です。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_76ucAFyAIec/S6QTkvcsUDI/AAAAAAAAA6E/Fe04dzPr0GU/s1600-h/Wine%E8%A8%AD%E5%AE%9A_Xenes_VS.png"&gt;&lt;img style="display:block; margin:10px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 300px; height: 320px;" src="http://1.bp.blogspot.com/_76ucAFyAIec/S6QTkvcsUDI/AAAAAAAAA6E/Fe04dzPr0GU/s320/Wine%E8%A8%AD%E5%AE%9A_Xenes_VS.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5450502970958172210" /&gt;&lt;/a&gt;&lt;div align="center"&gt;&lt;u&gt;Wine に Venes VS を適用した例 (winecfg)&lt;/u&gt;&lt;/div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_76ucAFyAIec/S6T4uujqhJI/AAAAAAAAA6U/7XzHfzgKxWg/s1600-h/%E3%81%BE%E3%82%81File%EF%BC%94.png"&gt;&lt;img style="display:block; margin:10px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 207px;" src="http://3.bp.blogspot.com/_76ucAFyAIec/S6T4uujqhJI/AAAAAAAAA6U/7XzHfzgKxWg/s320/%E3%81%BE%E3%82%81File%EF%BC%94.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5450754930680431762" /&gt;&lt;/a&gt;&lt;div align="center"&gt;&lt;u&gt;Wine 上で実行した"&lt;a href="http://www.vector.co.jp/soft/win95/util/se202113.html"&gt;まめFile４&lt;/a&gt;"の例&lt;/u&gt;&lt;/div&gt;&lt;br /&gt;&lt;h2&gt;参考サイト&lt;/h2&gt;&lt;br /&gt;[1] &lt;a href="http://www.skinbase.org/Skins/msstyles/135"&gt;msstyles Skins&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9176013-4914423606336874015?l=bitwalk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitwalk.blogspot.com/feeds/4914423606336874015/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9176013&amp;postID=4914423606336874015' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/4914423606336874015'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/4914423606336874015'/><link rel='alternate' type='text/html' href='http://bitwalk.blogspot.com/2010/03/lets-wine14.html' title='Let&apos;s Wine（第14回）'/><author><name>bitWalk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_76ucAFyAIec/R8EKgBycuJI/AAAAAAAAAGE/xUJHSYhssIY/s72-c/wine.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9176013.post-1414685116829930353</id><published>2010-03-16T20:59:00.012+09:00</published><updated>2010-03-16T21:28:30.226+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='備忘録'/><title type='text'>【備忘録】Google の 正規表現ライブラリ re2</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_76ucAFyAIec/S590yqzWrYI/AAAAAAAAA50/guyCjuzLnSA/s1600-h/logo"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 88px; height: 55px;" src="http://2.bp.blogspot.com/_76ucAFyAIec/S590yqzWrYI/AAAAAAAAA50/guyCjuzLnSA/s320/logo" border="0" alt=""id="BLOGGER_PHOTO_ID_5449202487973555586" /&gt;&lt;/a&gt;&lt;a href="http://sourceforge.jp"&gt;&lt;big&gt;S&lt;/big&gt;ourceForge.jp&lt;/a&gt; によると、米 Google が 3 月 11 日、C++ 用の正規表現ライブラリ「RE2」を発表したそうです。（sawarabi-gothic 20100315 の RPM パッケージをアップロードする時に記事を発見しました。）&lt;br /&gt;&lt;br /&gt;スレッドフレンドリーで高速、しかも一定の小さいメモリ量で動作するように開発されているのが特徴で、処理時間は入力に対して線形に増加するよう保証されているそうです。ライセンスは New &lt;a href="http://ja.wikipedia.org/wiki/BSDライセンス"&gt;BSD License&lt;/a&gt; ということなので、広く利用可能です。&lt;br /&gt;&lt;br /&gt;ちなみに、勝手に借用してしまいましたが、意味不明なロゴ（文頭）です。&lt;br /&gt;&lt;br /&gt;[1] &lt;a href="http://sourceforge.jp/magazine/10/03/15/0331223"&gt;米Google、高速・低メモリ消費の正規表現ライブラリ「RE2」を公開&lt;/a&gt;&lt;br /&gt;[2] &lt;a href="http://code.google.com/p/re2/"&gt;re2 - Project Hosting on Google Code&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9176013-1414685116829930353?l=bitwalk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitwalk.blogspot.com/feeds/1414685116829930353/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9176013&amp;postID=1414685116829930353' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/1414685116829930353'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/1414685116829930353'/><link rel='alternate' type='text/html' href='http://bitwalk.blogspot.com/2010/03/google-re2.html' title='【備忘録】Google の 正規表現ライブラリ re2'/><author><name>bitWalk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_76ucAFyAIec/S590yqzWrYI/AAAAAAAAA50/guyCjuzLnSA/s72-c/logo' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9176013.post-4290115954817088299</id><published>2010-03-14T10:13:00.004+09:00</published><updated>2010-03-14T19:23:12.976+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Let&apos;s Wine'/><title type='text'>Let's Wine（第13回）</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_76ucAFyAIec/R8EKgBycuJI/AAAAAAAAAGE/xUJHSYhssIY/s1600-h/wine.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://bp3.blogger.com/_76ucAFyAIec/R8EKgBycuJI/AAAAAAAAAGE/xUJHSYhssIY/s400/wine.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5170425392550164626" /&gt;&lt;/a&gt;&lt;h2&gt;コントロールパネル&lt;/h2&gt;&lt;br /&gt;&lt;big&gt;W&lt;/big&gt;indows のコントロールパネルに相当するものが、Wine には無いのかと思っていましたが、調べてみるとちゃんとありました。&lt;br /&gt;&lt;pre style="clear:both;"&gt;&lt;br /&gt;$ &lt;font color="black"&gt;wine control&lt;/font&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_76ucAFyAIec/S5w5IsZo29I/AAAAAAAAA5s/hFsJPkBCiFA/s1600-h/Wine+%E3%82%B3%E3%83%B3%E3%83%88%E3%83%AD%E3%83%BC%E3%83%AB+%E3%83%91%E3%83%8D%E3%83%AB.png"&gt;&lt;img style="display:block; margin:10px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 178px;" src="http://1.bp.blogspot.com/_76ucAFyAIec/S5w5IsZo29I/AAAAAAAAA5s/hFsJPkBCiFA/s320/Wine+%E3%82%B3%E3%83%B3%E3%83%88%E3%83%AD%E3%83%BC%E3%83%AB+%E3%83%91%E3%83%8D%E3%83%AB.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5448292470731889618" /&gt;&lt;/a&gt;&lt;br /&gt;Wine のコントロールパネルは、アプリケーションのインストールで、コントロールパネルのアプレット（&lt;tt&gt;.cpl&lt;/tt&gt; の拡張子のファイル）があるものに対応するためのものだそうです。&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;参考サイト&lt;/h2&gt;&lt;br /&gt;[1] &lt;a href="http://www.winehq.org/docs/wineusr-guide/running"&gt;WineHQ - Running Wine&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9176013-4290115954817088299?l=bitwalk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitwalk.blogspot.com/feeds/4290115954817088299/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9176013&amp;postID=4290115954817088299' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/4290115954817088299'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/4290115954817088299'/><link rel='alternate' type='text/html' href='http://bitwalk.blogspot.com/2010/03/lets-wine13.html' title='Let&apos;s Wine（第13回）'/><author><name>bitWalk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_76ucAFyAIec/R8EKgBycuJI/AAAAAAAAAGE/xUJHSYhssIY/s72-c/wine.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9176013.post-7311285342637532629</id><published>2010-03-07T18:37:00.010+09:00</published><updated>2010-03-07T21:57:58.859+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Let&apos;s Wine'/><title type='text'>Let's Wine（第12回）</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_76ucAFyAIec/R8EKgBycuJI/AAAAAAAAAGE/xUJHSYhssIY/s1600-h/wine.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://bp3.blogger.com/_76ucAFyAIec/R8EKgBycuJI/AAAAAAAAAGE/xUJHSYhssIY/s400/wine.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5170425392550164626" /&gt;&lt;/a&gt;&lt;h2&gt;追加フォント用 RPM パッケージ&lt;/h2&gt;&lt;br /&gt;&lt;big&gt;W&lt;/big&gt;ine の C ドライブや設定は、デフォルトで &lt;tt&gt;$HOME/.wine&lt;/tt&gt; 以下に生成されます。そのため設定を大きく変えるときなどには、&lt;tt&gt;$HOME/.wine&lt;/tt&gt; の名前を変更するか削除してもう一度作り直す事ができます。オリジナルの Wine では供給されていない日本語 TTF フォントなどは、自前で用意して &lt;tt&gt;~/.wine/drive_c/windows/Fonts&lt;/tt&gt; に直接コピーして使っていましたが、毎回、&lt;tt&gt;$HOME/.wine&lt;/tt&gt; を変更する度に日本語 TTF などのフォントをコピーするのはさすがに面倒になりました。&lt;br /&gt;&lt;br /&gt;Wine が使用するオリジナルのフォントは、&lt;tt&gt;%{_datadir}/wine/fonts&lt;/tt&gt; にインストールされていますので、足りないフォントをそこにインストール出来るように RPM パッケージを作りました。ただし、追加するフォントは、フリーのフォントではなく配布できないので、SPEC ファイル &lt;tt&gt;wine-fonts-plus.spec&lt;/tt&gt; のみを示します。&lt;br /&gt;&lt;pre style="clear:both;"&gt;&lt;br /&gt;Name:   wine-fonts-plus&lt;br /&gt;Version:    1&lt;br /&gt;Release:    1%{?dist}&lt;br /&gt;Summary:    Additional Wine font files&lt;br /&gt;Group:  Applications/Emulators&lt;br /&gt;License:    proprietary&lt;br /&gt;URL:    http://www.winehq.org/&lt;br /&gt;Source0:    %{name}.tar.gz&lt;br /&gt;NoSource:   0&lt;br /&gt;BuildArch:  noarch&lt;br /&gt;BuildRequires:  wine-fonts&lt;br /&gt;BuildConflicts: wine-fonts-plus&lt;br /&gt;Requires: wine-fonts&lt;br /&gt;&lt;br /&gt;%description&lt;br /&gt;Additional font set for wine.&lt;br /&gt;&lt;br /&gt;%prep&lt;br /&gt;%setup -q -n %{name}&lt;br /&gt;&lt;br /&gt;%build&lt;br /&gt;for i in $(ls %{_datadir}/wine/fonts)&lt;br /&gt;do&lt;br /&gt;   rm -f $i;&lt;br /&gt;done&lt;br /&gt;&lt;br /&gt;%install&lt;br /&gt;rm -rf %{buildroot}&lt;br /&gt;install -m 0755 -d $RPM_BUILD_ROOT%{_datadir}/wine/fonts&lt;br /&gt;install -m 0644 -p *.* $RPM_BUILD_ROOT%{_datadir}/wine/fonts&lt;br /&gt;&lt;br /&gt;%clean&lt;br /&gt;rm -rf %{buildroot}&lt;br /&gt;&lt;br /&gt;%files&lt;br /&gt;%defattr(-,root,root,-)&lt;br /&gt;%{_datadir}/wine/fonts&lt;br /&gt;&lt;br /&gt;%changelog&lt;br /&gt;* Sun Mar 07 2010 XXXX XXXX &lt;XXXX@XXXX&gt;&lt;br /&gt;- initial version&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;追加するフォントは、ディレクトリ &lt;tt&gt;wine-fonts-plus&lt;/tt&gt; 内に保存し、以下の様に &lt;tt&gt;wine-fonts-plus.tar.gz&lt;/tt&gt; に圧縮します。&lt;br /&gt;&lt;pre style="clear:both;"&gt;&lt;br /&gt;$ &lt;font color=black&gt;tar zcvf wine-fonts-plus.tar.gz wine-fonts-plus&lt;/font&gt;&lt;br /&gt;wine-fonts-plus/&lt;br /&gt;wine-fonts-plus/ariblk.ttf&lt;br /&gt;wine-fonts-plus/vgasysr.fon&lt;br /&gt;wine-fonts-plus/consolab.ttf&lt;br /&gt;wine-fonts-plus/vgafixr.fon&lt;br /&gt;:&lt;br /&gt;:&lt;br /&gt;:&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;圧縮したファイルを、RPM が参照するソースディレクトリ（私の環境では &lt;tt&gt;$HOME/redhat/SOURCES&lt;/tt&gt;）に移して、次の様にビルドすれば、rpm ファイルの出来上がりです。ちなみに、Wine 用のオリジナルのフォントが収録されている &lt;tt&gt;wine-fonts&lt;/tt&gt; パッケージのフォントと同名のフォントは、ビルド中に調べてインストールされないようにしました。&lt;br /&gt;&lt;pre style="clear:both;"&gt;&lt;br /&gt;$ &lt;font color=black&gt;rpmbuild -ba wine-fonts-plus.spec&lt;/font&gt;&lt;br /&gt;実行中(%prep): /bin/sh -e /home/bitwalk/tmp/rpm-tmp.CQF0yG&lt;br /&gt;+ umask 022&lt;br /&gt;+ cd /home/bitwalk/redhat/BUILD&lt;br /&gt;+ LANG=C&lt;br /&gt;+ export LANG&lt;br /&gt;:&lt;br /&gt;:&lt;br /&gt;:&lt;br /&gt;Processing files: wine-fonts-plus-1-1.fc12.noarch&lt;br /&gt;Requires(rpmlib): rpmlib(CompressedFileNames) &lt;= 3.0.4-1 rpmlib(FileDigests) &lt;= &lt;br /&gt;4.6.0-1 rpmlib(PayloadFilesHavePrefix) &lt;= 4.0-1&lt;br /&gt;伸張ファイルの検査中: /usr/lib/rpm/check-files /home/bitwalk/redhat/BUILDROOT/win&lt;br /&gt;e-fonts-plus-1-1.fc12.x86_64&lt;br /&gt;書き込み完了: /home/bitwalk/redhat/SRPMS/wine-fonts-plus-1-1.fc12.nosrc.rpm&lt;br /&gt;書き込み完了: /home/bitwalk/redhat/RPMS/noarch/wine-fonts-plus-1-1.fc12.noarch.r&lt;br /&gt;pm&lt;br /&gt;実行中(%clean): /bin/sh -e /home/bitwalk/tmp/rpm-tmp.fWk6qn&lt;br /&gt;+ umask 022&lt;br /&gt;+ cd /home/bitwalk/redhat/BUILD&lt;br /&gt;+ cd wine-fonts-plus&lt;br /&gt;+ rm -rf /home/bitwalk/redhat/BUILDROOT/wine-fonts-plus-1-1.fc12.x86_64&lt;br /&gt;+ exit 0&lt;br /&gt;$ &lt;font color=black&gt;su&lt;/font&gt;&lt;br /&gt;パスワード:&lt;br /&gt;# &lt;font color=black&gt;rpm -ivh /home/bitwalk/redhat/RPMS/noarch/wine-fonts-plus-1-1.fc12.noarch.rpm&lt;/font&gt;&lt;br /&gt;準備中...                ########################################### [100%]&lt;br /&gt;   1:wine-fonts-plus        ########################################### [100%]&lt;br /&gt;# &lt;font color=black&gt;exit&lt;/font&gt;&lt;br /&gt;$&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;u&gt;追加フォント導入前&lt;/u&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_76ucAFyAIec/S5N5Q4MnziI/AAAAAAAAA5c/w4ByVcYdXWs/s1600-h/%E3%83%A1%E3%83%A2%E5%B8%B31.png"&gt;&lt;img style="display:block; margin:10px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 100px;" src="http://4.bp.blogspot.com/_76ucAFyAIec/S5N5Q4MnziI/AAAAAAAAA5c/w4ByVcYdXWs/s320/%E3%83%A1%E3%83%A2%E5%B8%B31.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5445829705291255330" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;u&gt;追加フォント導入後&lt;/u&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_76ucAFyAIec/S5N5dlHfqQI/AAAAAAAAA5k/wuUUpqcUBO4/s1600-h/%E3%83%A1%E3%83%A2%E5%B8%B32.png"&gt;&lt;img style="display:block; margin:10px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 102px;" src="http://3.bp.blogspot.com/_76ucAFyAIec/S5N5dlHfqQI/AAAAAAAAA5k/wuUUpqcUBO4/s320/%E3%83%A1%E3%83%A2%E5%B8%B32.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5445829923507775746" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;u&gt;注意！&lt;/u&gt;&lt;br /&gt;ちなみに &lt;a href="http://wddb.wine-doors.org/"&gt;wine-doors&lt;/a&gt; を利用している場合は、この方法は有効ではありません。どうやらレジストリをいじっている様で、Wine オリジナルのフォントが期待するように反映されません。残念ながら wine-doors を積極的には利用していないので、レジストリのどこが変更されているのかよく判っていません。&lt;br /&gt;&amp;nbsp;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9176013-7311285342637532629?l=bitwalk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitwalk.blogspot.com/feeds/7311285342637532629/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9176013&amp;postID=7311285342637532629' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/7311285342637532629'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/7311285342637532629'/><link rel='alternate' type='text/html' href='http://bitwalk.blogspot.com/2010/03/lets-wine12.html' title='Let&apos;s Wine（第12回）'/><author><name>bitWalk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_76ucAFyAIec/R8EKgBycuJI/AAAAAAAAAGE/xUJHSYhssIY/s72-c/wine.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9176013.post-7792547653753264710</id><published>2010-03-01T20:46:00.002+09:00</published><updated>2010-03-01T20:49:28.593+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Fedora'/><category scheme='http://www.blogger.com/atom/ns#' term='フォント'/><title type='text'>さわらびゴシック 20100228</title><content type='html'>&lt;a href="http://sourceforge.jp/"&gt;&lt;img src="http://sourceforge.jp/sflogo.php?group_id=3896&amp;type=1" width="96" height="31" border="0" alt="SourceForge.JP"&gt;&lt;/a&gt;&lt;br /&gt;&lt;big&gt;さ&lt;/big&gt;わらびゴシックフォント 20100228 がリリースされていましたので Fedora 12 用 RPM パッケージを作成しアップロードしました。漢字グリフが 1700 文字になりました。&lt;br /&gt;&lt;br /&gt;・&lt;a href="https://sourceforge.jp/projects/sawarabi-fonts/releases/"&gt;さわらびフォント&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_76ucAFyAIec/S4updE9PIDI/AAAAAAAAA5U/-S4N4BeZPHw/s1600-h/sawarabi-gothic.png"&gt;&lt;img style="display:block; margin:10px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 233px;" src="http://1.bp.blogspot.com/_76ucAFyAIec/S4updE9PIDI/AAAAAAAAA5U/-S4N4BeZPHw/s320/sawarabi-gothic.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5443630891619262514" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9176013-7792547653753264710?l=bitwalk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitwalk.blogspot.com/feeds/7792547653753264710/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9176013&amp;postID=7792547653753264710' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/7792547653753264710'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/7792547653753264710'/><link rel='alternate' type='text/html' href='http://bitwalk.blogspot.com/2010/03/20100228.html' title='さわらびゴシック 20100228'/><author><name>bitWalk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_76ucAFyAIec/S4updE9PIDI/AAAAAAAAA5U/-S4N4BeZPHw/s72-c/sawarabi-gothic.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9176013.post-5207234509400112539</id><published>2010-02-28T17:04:00.020+09:00</published><updated>2010-03-01T05:10:11.651+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Let&apos;s Wine'/><title type='text'>Let's Wine（第11回）</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_76ucAFyAIec/R8EKgBycuJI/AAAAAAAAAGE/xUJHSYhssIY/s1600-h/wine.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://bp3.blogger.com/_76ucAFyAIec/R8EKgBycuJI/AAAAAAAAAGE/xUJHSYhssIY/s400/wine.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5170425392550164626" /&gt;&lt;/a&gt;&lt;h2&gt;.NET Framework&lt;/h2&gt;&lt;br /&gt;&lt;big&gt;.N&lt;/big&gt;ET Framework 環境が wine 上で利用できるかどうか調べてみました。&lt;br /&gt;&lt;br /&gt;まず &lt;a href="http://bitwalk.blogspot.com/2009/07/lets-wine.html"&gt;Let's Wine（第８回）&lt;/a&gt;で紹介した winetricks で .NET Framework をインストールします。winetricks スクリプトを、次のように引数なしで実行すると、インストールするプログラムを選択する画面が表示されます。&lt;br /&gt;&lt;pre style="clear:both;"&gt;&lt;br /&gt;$ &lt;font color="black"&gt;sh winetricks&lt;/font&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_76ucAFyAIec/S4oqGEa9PtI/AAAAAAAAA5M/GZWUnflsESc/s1600-h/winetricks01.png"&gt;&lt;img style="display:block; margin:10px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 245px;" src="http://2.bp.blogspot.com/_76ucAFyAIec/S4oqGEa9PtI/AAAAAAAAA5M/GZWUnflsESc/s320/winetricks01.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5443209383385054930" /&gt;&lt;/a&gt;&lt;br /&gt;winetricks では .NET Framework 1.1 から 3.0 までインストール出来るようになっていますが、全部を正常にインストールできるかどうか怪しかったので、dotnet11 (1.1) からひとつずつインストールしていきました。&lt;br /&gt;&lt;br /&gt;いろいろ試行錯誤をしましたが、結局、私の環境 (&lt;tt&gt;wine-1.1.38-1.fc12.i686&lt;/tt&gt;) で正常にインストーラが終了したものは、dotnet11 と dotnet20 (2.0) の２つでした。ということで、.NET Framework 2.0 に対して簡単な動作確認をしてみます。&lt;br /&gt;&lt;br /&gt;動作確認には Linux 上の &lt;a href="http://ja.wikipedia.org/wiki/Mono_(ソフトウェア)"&gt;mono&lt;/a&gt; でコンパイルしたバイトコードを mono と、wine 上の .NET Framework で動作させてみます。以下の C# のサンプル (&lt;tt&gt;hello.cs&lt;/tt&gt;) を使用しました。 &lt;br /&gt;&lt;pre style="clear:both;"&gt;&lt;br /&gt;using System;&lt;br /&gt;using System.Windows.Forms;&lt;br /&gt;&lt;br /&gt;class HelloWorldApp {&lt;br /&gt;    public static void Main() {&lt;br /&gt;        MessageBox.Show("こんにちは、世界！", "mono");&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;この &lt;tt&gt;hello.cs&lt;/tt&gt; を mono (2.4.3) で以下のようにコンパイルします。&lt;br /&gt;&lt;pre style="clear:both;"&gt;&lt;br /&gt;$ &lt;font color="black"&gt;gmcs hello.cs -pkg:dotnet&lt;/font&gt;&lt;br /&gt;$ &lt;font color="black"&gt;ls&lt;/font&gt;&lt;br /&gt;hello.cs  &lt;font color="green"&gt;hello.exe&lt;/font&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;コンパイルされた &lt;tt&gt;hello.exe&lt;/tt&gt; を mono で実行すると以下のようになります。&lt;br /&gt;&lt;pre style="clear:both;"&gt;&lt;br /&gt;$ &lt;font color="black"&gt;mono hello.exe&lt;/font&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_76ucAFyAIec/S4ol3g6HccI/AAAAAAAAA48/2gva--Xjb_w/s1600-h/dotNET_hello_mono.png"&gt;&lt;img style="display:block; margin:10px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 127px; height: 97px;" src="http://2.bp.blogspot.com/_76ucAFyAIec/S4ol3g6HccI/AAAAAAAAA48/2gva--Xjb_w/s320/dotNET_hello_mono.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5443204735287390658" /&gt;&lt;/a&gt;&lt;br /&gt;同様に .NET Framework 2.0 がインストールされている wine で実行した結果です。&lt;br /&gt;&lt;pre style="clear:both;"&gt;&lt;br /&gt;$ &lt;font color="black"&gt;wine hello.exe&lt;/font&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_76ucAFyAIec/S4omFvY5ENI/AAAAAAAAA5E/ZUcfG8sdT_M/s1600-h/dotNET_hello_wine.png"&gt;&lt;img style="display:block; margin:10px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 132px; height: 85px;" src="http://4.bp.blogspot.com/_76ucAFyAIec/S4omFvY5ENI/AAAAAAAAA5E/ZUcfG8sdT_M/s320/dotNET_hello_wine.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5443204979692736722" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;h2&gt;参考サイト&lt;/h2&gt;&lt;br /&gt;[1] &lt;a href="http://ja.wikipedia.org/wiki/Hello_worldプログラムの一覧"&gt;Hello worldプログラムの一覧 - Wikipedia&lt;/a&gt;&lt;br /&gt;[2] &lt;a href="http://mono-project.com/Mono_Basics"&gt;Mono Basics - Mono&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9176013-5207234509400112539?l=bitwalk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitwalk.blogspot.com/feeds/5207234509400112539/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9176013&amp;postID=5207234509400112539' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/5207234509400112539'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/5207234509400112539'/><link rel='alternate' type='text/html' href='http://bitwalk.blogspot.com/2010/02/lets-wine11.html' title='Let&apos;s Wine（第11回）'/><author><name>bitWalk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_76ucAFyAIec/R8EKgBycuJI/AAAAAAAAAGE/xUJHSYhssIY/s72-c/wine.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9176013.post-1192343742890586143</id><published>2010-02-27T20:39:00.011+09:00</published><updated>2010-02-27T23:01:30.284+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Let&apos;s Wine'/><title type='text'>Let's Wine（第10回）</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_76ucAFyAIec/R8EKgBycuJI/AAAAAAAAAGE/xUJHSYhssIY/s1600-h/wine.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://bp3.blogger.com/_76ucAFyAIec/R8EKgBycuJI/AAAAAAAAAGE/xUJHSYhssIY/s400/wine.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5170425392550164626" /&gt;&lt;/a&gt;&lt;h2&gt;JaneStyle&lt;/h2&gt;&lt;br /&gt;&lt;big&gt;A&lt;/big&gt;A（&lt;a href="http://ja.wikipedia.org/wiki/アスキーアート"&gt;アスキーアート&lt;/a&gt;）と言えば、２ちゃんねるで表現されている文字絵を、まず思い浮かべます。非アスキーな日本語フォントを用いてるので、狭義にはアスキーアートではないのですが、一般にはあまり区別せずアスキーアートと呼んでいるようです。&lt;br /&gt;&lt;br /&gt;「日本語フォントを用いたアスキーアートは、一種独特な文化を形成しています。」なんて批評できるほど詳しくはありません。アルファベットだけを使ったアスキーアートは、&lt;a href="http://en.wikipedia.org/wiki/ASCII_art_converters"&gt;巨視的には写真と見間違えるほど&lt;/a&gt;リアルなアートを表現できます。一方で、限られた面積を持つディスプレイ上で表現される、日本語フォントを駆使したリアルな輪郭は、非常に近視的であり、アルファベットだけを使ったアスキーアートとは別物のように思えます。&lt;br /&gt;&lt;br /&gt;前置きが長くなってしまいましたが、実を言うと私は２ちゃんねる専用のブラウザを使うほどのヘビィなユーザーではないので、２ちゃんねるを見るときにも通常のインターネットブラウザを使っています。&lt;br /&gt;&lt;br /&gt;ただ、以下のような AA を目にすると、専用のブラウザで見れば、もっと綺麗に見えるんだろうな、といつも思います。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_76ucAFyAIec/S4kPa1xWpaI/AAAAAAAAA4k/cUhCuxXrpWk/s1600-h/AA_Chrome.png"&gt;&lt;img style="display:block; margin:10px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 224px;" src="http://1.bp.blogspot.com/_76ucAFyAIec/S4kPa1xWpaI/AAAAAAAAA4k/cUhCuxXrpWk/s320/AA_Chrome.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5442898578439054754" /&gt;&lt;/a&gt;&lt;br /&gt;その割には、いままで専用ブラウザを試したことはありませんでした。自宅では Windows を使うことがほとんどないので、Linux で動作する専用ブラウザを探そうとしていなかっただけかもしれません。&lt;br /&gt;&lt;br /&gt;調べてみると Linux 用の２ちゃんねるブラウザがいくつかありました。そのなかで &lt;a href="http://jd4linux.sourceforge.jp/"&gt;JD&lt;/a&gt; が yum でインストールできるようになっていたので、今回はじめて試してみました。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_76ucAFyAIec/S4kRzlf-8PI/AAAAAAAAA4s/AATF8BmVg_Q/s1600-h/AA-JD.png"&gt;&lt;img style="display:block; margin:10px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 224px;" src="http://4.bp.blogspot.com/_76ucAFyAIec/S4kRzlf-8PI/AAAAAAAAA4s/AATF8BmVg_Q/s320/AA-JD.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5442901202591215858" /&gt;&lt;/a&gt;&lt;br /&gt;字間や縦横比は改善されていますが、今度は行間がやや開きすぎているように感じます。&lt;br /&gt;&lt;br /&gt;比較用に、Windows 用２ちゃんねるブラウザ &lt;a href="http://janesoft.net/janestyle/"&gt;JaneStyle&lt;/a&gt; を wine 上で使ってみました。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_76ucAFyAIec/S4kSUzFUoyI/AAAAAAAAA40/nPisXnyuXk8/s1600-h/AA_Jane.png"&gt;&lt;img style="display:block; margin:10px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 224px;" src="http://3.bp.blogspot.com/_76ucAFyAIec/S4kSUzFUoyI/AAAAAAAAA40/nPisXnyuXk8/s320/AA_Jane.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5442901773173170978" /&gt;&lt;/a&gt;&lt;br /&gt;JD に比べて行間が詰まって、いい感じで表示されてます。最近は古い IBM ThinkPad X31 にインストールした Fedora 上で（32bit 用の）wine を使っていますが、それでも、さくさく動作してくれます。&lt;br /&gt;&lt;br /&gt;ちなみに、wine 上で動作するアプリケーションに対しては、Alt と「半角/全角」キーでインプットメソッド (IBus-Anthy)が有効になり、日本語を入力することができます。&lt;br /&gt;&lt;br /&gt;今回は wine の話題というより、２ちゃんねるブラウザの単なる比較レポートになってしまいました。&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;参考サイト&lt;/h2&gt;&lt;br /&gt;[1] &lt;a href="http://monazilla.org/"&gt;monazilla.org&lt;/a&gt;&lt;br /&gt;[2] &lt;a href="http://love6.2ch.net/test/read.cgi/aasaloon/1267222372/"&gt;AAテスト・練習スレpart1104&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9176013-1192343742890586143?l=bitwalk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitwalk.blogspot.com/feeds/1192343742890586143/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9176013&amp;postID=1192343742890586143' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/1192343742890586143'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/1192343742890586143'/><link rel='alternate' type='text/html' href='http://bitwalk.blogspot.com/2010/02/lets-wine10.html' title='Let&apos;s Wine（第10回）'/><author><name>bitWalk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_76ucAFyAIec/R8EKgBycuJI/AAAAAAAAAGE/xUJHSYhssIY/s72-c/wine.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9176013.post-6477258002359511800</id><published>2010-02-20T21:14:00.012+09:00</published><updated>2010-02-21T11:12:00.151+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Let&apos;s Wine'/><title type='text'>Let's Wine（第９回）</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_76ucAFyAIec/R8EKgBycuJI/AAAAAAAAAGE/xUJHSYhssIY/s1600-h/wine.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://bp3.blogger.com/_76ucAFyAIec/R8EKgBycuJI/AAAAAAAAAGE/xUJHSYhssIY/s400/wine.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5170425392550164626" /&gt;&lt;/a&gt;&lt;h2&gt;wineconsole&lt;/h2&gt;&lt;br /&gt;&lt;big&gt;久&lt;/big&gt;しぶりに &lt;a href="http://ja.wikipedia.org/wiki/Wine"&gt;Wine&lt;/a&gt; の話題です。&lt;br /&gt;&lt;br /&gt;Wine には、&lt;tt&gt;wineconsole&lt;/tt&gt; というプログラムがあり、これで &lt;tt&gt;cmd.exe&lt;/tt&gt; を起動すると、Windows のコマンドプロンプトと同様なインターフェースが実現できます。しかしながら、自分の環境 (Fedora 12) では、次のようなエラーが出て起動できません。&lt;br /&gt;&lt;pre style="clear:both;"&gt;&lt;br /&gt;$ &lt;font color="#000000"&gt;wineconsole cmd&lt;/font&gt;&lt;br /&gt;err:wineconsole:WCUSER_SetFont wrong font&lt;br /&gt;err:wineconsole:WCUSER_SetFont wrong font&lt;br /&gt;err:wineconsole:WCUSER_SetFont wrong font&lt;br /&gt;err:wineconsole:WCUSER_SetFont wrong font&lt;br /&gt;err:wineconsole:WCUSER_SetFont wrong font&lt;br /&gt;err:wineconsole:WCUSER_SetFont wrong font&lt;br /&gt;err:wineconsole:WCUSER_SetFont wrong font&lt;br /&gt;err:wineconsole:WCUSER_SetFont wrong font&lt;br /&gt;err:wineconsole:WCUSER_SetFont wrong font&lt;br /&gt;err:wineconsole:WCUSER_SetFont wrong font&lt;br /&gt;err:wineconsole:WCUSER_SetFont wrong font&lt;br /&gt;err:wineconsole:WCUSER_SetFont wrong font&lt;br /&gt;err:wineconsole:WCUSER_SetFont wrong font&lt;br /&gt;err:wineconsole:WCUSER_SetFont wrong font&lt;br /&gt;err:wineconsole:WCUSER_SetFont wrong font&lt;br /&gt;err:wineconsole:WCUSER_SetFont wrong font&lt;br /&gt;err:wineconsole:WCUSER_SetFont wrong font&lt;br /&gt;err:wineconsole:WCUSER_SetFont wrong font&lt;br /&gt;err:wineconsole:WCUSER_SetFont wrong font&lt;br /&gt;err:wineconsole:WCUSER_SetFont wrong font&lt;br /&gt;err:wineconsole:WCUSER_SetFont wrong font&lt;br /&gt;err:wineconsole:WCUSER_SetFont wrong font&lt;br /&gt;err:wineconsole:WINECON_Fatal Couldn't find a decent font, aborting&lt;br /&gt;&lt;br /&gt;$&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;そこで、&lt;tt&gt;wineconsole&lt;/tt&gt; を使わずに、&lt;tt&gt;wine&lt;/tt&gt; で &lt;tt&gt;cmd.exe&lt;/tt&gt; を起動して Windows のコマンドプロンプトに相当する環境として利用していました。&lt;br /&gt;&lt;pre style="clear:both;"&gt;&lt;br /&gt;$ &lt;font color="#000000"&gt;wine cmd&lt;/font&gt;&lt;br /&gt;CMD Version 1.1.38&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Z:\home\bitwalk&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;しかし、ひょんなことから参考サイト [1] の情報を知り、環境変数 &lt;tt&gt;LANG&lt;/tt&gt; を &lt;tt&gt;en_EN.UTF-8&lt;/tt&gt; へ変更することで、 &lt;tt&gt;wineconsole&lt;/tt&gt; を起動できることが判りました。&lt;br /&gt;&lt;pre style="clear:both;"&gt;&lt;br /&gt;$ &lt;font color="#000000"&gt;export LANG=en_EN.UTF-8&lt;/font&gt;&lt;br /&gt;$ &lt;font color="#000000"&gt;wineconsole cmd&lt;/font&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_76ucAFyAIec/S3_Y79Qt0jI/AAAAAAAAA4M/51M0QO0ztRM/s1600-h/wineconsole.png"&gt;&lt;img style="display:block; margin:10px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 198px;" src="http://2.bp.blogspot.com/_76ucAFyAIec/S3_Y79Qt0jI/AAAAAAAAA4M/51M0QO0ztRM/s320/wineconsole.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5440305399455404594" /&gt;&lt;/a&gt;&lt;br /&gt;これで、例えば &lt;a href="http://pdcurses.sourceforge.net/"&gt;PDCurses&lt;/a&gt; を利用したコンソールモードのプログラムの動作も Wine 上で確認できるようになりました。以下は、&lt;tt&gt;mingw32-pdcurses-3.4-6.fc12.noarch&lt;/tt&gt; のデモプログラム &lt;tt&gt;newdemo.exe&lt;/tt&gt; を &lt;tt&gt;wineconsole&lt;/tt&gt; 上で実行した例です。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_76ucAFyAIec/S3__5DOjhXI/AAAAAAAAA4c/USnZOrXuF0E/s1600-h/wineconsole2.png"&gt;&lt;img style="display:block; margin:10px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 198px;" src="http://1.bp.blogspot.com/_76ucAFyAIec/S3__5DOjhXI/AAAAAAAAA4c/USnZOrXuF0E/s320/wineconsole2.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5440348230470829426" /&gt;&lt;/a&gt;&lt;br /&gt;ちなみに、&lt;tt&gt;wineconsole&lt;/tt&gt; の起動時に毎回、環境変数 &lt;tt&gt;LANG&lt;/tt&gt; の値を変更するのはさすがに面倒なので、私はデスクトップ上にランチャ（Windows のショートカットみたいなもの）を生成して使用しています。起動するコマンドは以下のようにしています。&lt;br /&gt;&lt;pre style="clear:both;"&gt;&lt;br /&gt;sh -c "export LANG=en_EN.UTF-8; exec wineconsole cmd"&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_76ucAFyAIec/S3_iBlmvtkI/AAAAAAAAA4U/OMmljcA7Z7k/s1600-h/commandprompt.png"&gt;&lt;img style="display:block; margin:10px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 261px;" src="http://3.bp.blogspot.com/_76ucAFyAIec/S3_iBlmvtkI/AAAAAAAAA4U/OMmljcA7Z7k/s320/commandprompt.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5440315391789217346" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;h2&gt;参考サイト&lt;/h2&gt;&lt;br /&gt;[1] &lt;a href="http://d.hatena.ne.jp/monamour555/20080507"&gt;2008-05-07 - 後悔^H^H公開日記：別館&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9176013-6477258002359511800?l=bitwalk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitwalk.blogspot.com/feeds/6477258002359511800/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9176013&amp;postID=6477258002359511800' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/6477258002359511800'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/6477258002359511800'/><link rel='alternate' type='text/html' href='http://bitwalk.blogspot.com/2010/02/lets-wine.html' title='Let&apos;s Wine（第９回）'/><author><name>bitWalk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_76ucAFyAIec/R8EKgBycuJI/AAAAAAAAAGE/xUJHSYhssIY/s72-c/wine.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9176013.post-5843366776022715713</id><published>2010-02-13T10:26:00.007+09:00</published><updated>2010-02-13T13:40:09.882+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='その他'/><title type='text'>電子書籍の未来</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_76ucAFyAIec/S3YpvRPJ5TI/AAAAAAAAA4E/3SEq6yqrlGQ/s1600-h/tn_books201.gif"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 100px; height: 100px;" src="http://3.bp.blogspot.com/_76ucAFyAIec/S3YpvRPJ5TI/AAAAAAAAA4E/3SEq6yqrlGQ/s200/tn_books201.gif" border="0" alt=""id="BLOGGER_PHOTO_ID_5437579492154008882" /&gt;&lt;/a&gt;&lt;big&gt;確&lt;/big&gt;かに [1] で述べられているように、&lt;a href="http://ja.wikipedia.org/wiki/ゲームブック"&gt;ゲームブック&lt;/a&gt;のアイデアを、Kindle や iPad などのデバイス上で読む電子書籍に応用できれば、紙媒体の単なる電子化ではない、新しい文化と市場が生まれることでしょう。&lt;br /&gt;&lt;br /&gt;なんだか大きなビジネスチャンスがそこにあるような気がするのですが、具体的なアイデアが出てこないのがもどかしい…。&lt;br /&gt;&lt;br /&gt;&lt;h2 style="clear:both;"&gt;参考サイト&lt;/h2&gt;&lt;br /&gt;[1] &lt;a href="http://it.nikkei.co.jp/digital/news/index.aspx?n=MMITew001012022010"&gt;iPadやキンドルから「未知の電子書籍」が生まれる可能性&lt;/a&gt;&lt;br /&gt;[2] &lt;a href="http://blogs.zdnet.com/BTL/?p=29798&amp;tag=content;col1"&gt;Can the Kindle work as an app platform? | Between the Lines | ZDNet.com&lt;/a&gt;&lt;br /&gt;[3] &lt;a href="http://www.apple.com/nz/ipad/"&gt;Apple - iPad - The best way to experience the web, email, &amp;amp; photos&lt;/a&gt;&lt;br /&gt;[4] &lt;a href="http://www.amazon.com/Kindle-Wireless-Reading-Display-Generation/dp/B0015T963C/ref=amb_link_84656791_1?pf_rd_m=ATVPDKIKX0DER&amp;pf_rd_s=top-1&amp;pf_rd_r=0NQH8KWTDMZNGZ35D61S&amp;pf_rd_t=301&amp;pf_rd_p=93651582&amp;pf_rd_i=kindle"&gt;Amazon.com: Kindle Wireless Reading Device (6&amp;quot; Display, Global Wireless, Latest Generation): Kindle Store&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9176013-5843366776022715713?l=bitwalk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitwalk.blogspot.com/feeds/5843366776022715713/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9176013&amp;postID=5843366776022715713' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/5843366776022715713'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/5843366776022715713'/><link rel='alternate' type='text/html' href='http://bitwalk.blogspot.com/2010/02/blog-post.html' title='電子書籍の未来'/><author><name>bitWalk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_76ucAFyAIec/S3YpvRPJ5TI/AAAAAAAAA4E/3SEq6yqrlGQ/s72-c/tn_books201.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9176013.post-6429422167698958242</id><published>2010-02-11T21:27:00.010+09:00</published><updated>2010-02-13T10:26:22.164+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='備忘録'/><category scheme='http://www.blogger.com/atom/ns#' term='Fedora'/><category scheme='http://www.blogger.com/atom/ns#' term='TeX'/><title type='text'>【備忘録】TeX Live</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s1600-h/fedora.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 43px; height: 44px;" src="http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s200/fedora.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5280249589920714050" /&gt;&lt;/a&gt;&lt;big&gt;い&lt;/big&gt;わゆるワープロソフト（表現が古すぎますか？ようするに文書作成ソフトウェアです。）の限界を感じる時は、数式を扱うときです。いろいろテクニックを駆使すれば Word でもそれなりの、センスある数式が表現できるのでしょうが、そこまで Word に愛着がありません。&lt;br /&gt;&lt;br /&gt;そこで、久しぶりに、Fedora で &lt;a href="http://ja.wikipedia.org/wiki/TeX"&gt;TeX&lt;/a&gt; (TeX Live) を使ってみようと、参考サイト [1] の情報を元に必要なパッケージをインストールしました。&lt;br /&gt;&lt;br /&gt;動作確認サンプルとして、参考サイト [2] で紹介されていた例を流用させていただきました。&lt;br /&gt;&lt;pre style="clear:both;"&gt;&lt;br /&gt;\documentclass{jarticle}&lt;br /&gt;\begin{document}&lt;br /&gt;&lt;br /&gt;\section*{数式の例 (1)}&lt;br /&gt;&lt;br /&gt;日本で漱石が「吾輩は猫である」を発表したころ、&lt;br /&gt;ドイツではAlbert Einsteinが特殊相対論を発表した。&lt;br /&gt;&lt;br /&gt;この理論によれば、エネルギー $E$ と質量 $m$ は&lt;br /&gt;\begin{equation}&lt;br /&gt;  E = mc^{2}&lt;br /&gt;\end{equation}&lt;br /&gt;で関係づけられる。ここに $c$ は光速で、&lt;br /&gt;\begin{equation}&lt;br /&gt;  c = 299{,}792{,}458 \, \mathrm{m/s}&lt;br /&gt;\end{equation}&lt;br /&gt;である。&lt;br /&gt;&lt;br /&gt;\section*{数式の例 (2)}&lt;br /&gt;&lt;br /&gt;\[&lt;br /&gt;  \frac{\pi}{2} =&lt;br /&gt;  \left( \int_{0}^{\infty} \frac{\sin x}{\sqrt{x}} dx \right)^2 =&lt;br /&gt;  \sum_{k=0}^{\infty} \frac{(2k)!}{2^{2k}(k!)^2} \frac{1}{2k+1} =&lt;br /&gt;  \prod_{k=1}^{\infty} \frac{4k^2}{4k^2 - 1}&lt;br /&gt;\]&lt;br /&gt;&lt;br /&gt;\begin{thebibliography}{99}&lt;br /&gt;\item&lt;br /&gt;  Leslie Lamport『文書処理システム \LaTeXe』&lt;br /&gt;  （阿瀬はる美 訳，ピアソン・エデュケーション，1999年）&lt;br /&gt;\item&lt;br /&gt;  奥村晴彦『［改訂第4版］\LaTeXe 美文書作成入門』&lt;br /&gt;  （技術評論社，2007年）&lt;br /&gt;\end{thebibliography}&lt;br /&gt;&lt;br /&gt;\end{document}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;上記ファイルを &lt;tt&gt;test.tex&lt;/tt&gt; というファイル名で、EUC-JP で保存します。これを、&lt;tt&gt;platex&lt;/tt&gt; でコンパイルします。&lt;br /&gt;&lt;pre style="clear:both;"&gt;&lt;br /&gt;$ &lt;font color="black"&gt;platex test.tex&lt;/font&gt;&lt;br /&gt;This is pTeXk, Version 3.141592-p3.1.10 (euc) (Web2C 7.5.6)&lt;br /&gt; %&amp;-line parsing enabled.&lt;br /&gt;(./test.tex&lt;br /&gt;pLaTeX2e &lt;2006/11/10&gt;+0 (based on LaTeX2e &lt;2005/12/01&gt; patch level 0)&lt;br /&gt;(/usr/share/texmf/ptex/platex/base/jarticle.cls&lt;br /&gt;Document Class: jarticle 2006/06/27 v1.6 Standard pLaTeX class&lt;br /&gt;(/usr/share/texmf/ptex/platex/base/jsize10.clo)) (./test.aux) [1] (./test.aux) &lt;br /&gt;)&lt;br /&gt;Output written on test.dvi (1 page, 2220 bytes).&lt;br /&gt;Transcript written on test.log.&lt;br /&gt;$ &lt;font color="black"&gt;dvipdfmx test.dvi&lt;/font&gt;&lt;br /&gt;test.dvi -&gt; test.pdf&lt;br /&gt;[1]&lt;br /&gt;17484 bytes written&lt;br /&gt;$ &lt;font color="black"&gt;evince test.pdf &amp;&lt;/font&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;tt&gt;pxdvi&lt;/tt&gt; でDVI 形式のファイルを閲覧できるのですが、日本語フォントが表示されなかったので、出力ファイル &lt;tt&gt;test.dvi&lt;/tt&gt; を &lt;tt&gt;dvipdfmx&lt;/tt&gt;　で、PDF 形式に変換しました。出力ファイルは &lt;tt&gt;test.pdf&lt;/tt&gt; になります。これを、&lt;tt&gt;&lt;a href="http://ja.wikipedia.org/wiki/Evince"&gt;evince&lt;/a&gt;&lt;/tt&gt; で開いた例が下図になります。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_76ucAFyAIec/S3P7hsDwtII/AAAAAAAAA3g/1vBwpn5v-z4/s1600-h/platex.png"&gt;&lt;img style="display:block; margin:10px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 259px;" src="http://4.bp.blogspot.com/_76ucAFyAIec/S3P7hsDwtII/AAAAAAAAA3g/1vBwpn5v-z4/s320/platex.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5436965731347510402" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;科学論文を書きたいわけではありませんが、少なくとも自己満足ができるマニュアル類が Linux で作成できそうです。&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;参考サイト&lt;/h2&gt;&lt;br /&gt;[1] &lt;a href="http://www-section.cocolog-nifty.com/blog/2008/12/fedora-10tex--1.html"&gt;Fedora 10のTeX Liveで日本語TeX・・・その2: プログラマーになりたい！&lt;/a&gt;&lt;br /&gt;[2] &lt;a href="http://oku.edu.mie-u.ac.jp/~okumura/texwiki/?TeX入門"&gt;TeX入門 - TeX Wiki&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9176013-6429422167698958242?l=bitwalk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitwalk.blogspot.com/feeds/6429422167698958242/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9176013&amp;postID=6429422167698958242' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/6429422167698958242'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/6429422167698958242'/><link rel='alternate' type='text/html' href='http://bitwalk.blogspot.com/2010/02/tex-live.html' title='【備忘録】TeX Live'/><author><name>bitWalk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s72-c/fedora.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9176013.post-6788917441466988071</id><published>2010-01-31T20:00:00.002+09:00</published><updated>2010-01-31T20:03:31.103+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='フォント'/><title type='text'>さわらびゴシック 20101131</title><content type='html'>&lt;a href="http://sourceforge.jp/"&gt;&lt;img src="http://sourceforge.jp/sflogo.php?group_id=3896&amp;type=1" width="96" height="31" border="0" alt="SourceForge.JP"&gt;&lt;/a&gt;&lt;br /&gt;&lt;big&gt;さ&lt;/big&gt;わらびゴシックフォント 20100131 がリリースされましたので Fedora 12 用 RPM パッケージを作成しアップロードしました。漢字グリフが 1600 文字になりました。&lt;br /&gt;&lt;br /&gt;・&lt;a href="https://sourceforge.jp/projects/sawarabi-fonts/releases/"&gt;さわらびフォント&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_76ucAFyAIec/S2VjVSMcSQI/AAAAAAAAA3M/_X7_6itG3jg/s1600-h/sawarabi-gothic.png"&gt;&lt;img style="display:block; margin:10px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 298px; height: 320px;" src="http://1.bp.blogspot.com/_76ucAFyAIec/S2VjVSMcSQI/AAAAAAAAA3M/_X7_6itG3jg/s320/sawarabi-gothic.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5432857742804797698" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9176013-6788917441466988071?l=bitwalk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitwalk.blogspot.com/feeds/6788917441466988071/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9176013&amp;postID=6788917441466988071' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/6788917441466988071'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/6788917441466988071'/><link rel='alternate' type='text/html' href='http://bitwalk.blogspot.com/2010/01/20101131.html' title='さわらびゴシック 20101131'/><author><name>bitWalk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_76ucAFyAIec/S2VjVSMcSQI/AAAAAAAAA3M/_X7_6itG3jg/s72-c/sawarabi-gothic.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9176013.post-8271057558737891134</id><published>2010-01-24T11:19:00.010+09:00</published><updated>2010-01-24T17:49:08.484+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='備忘録'/><category scheme='http://www.blogger.com/atom/ns#' term='Gnome'/><category scheme='http://www.blogger.com/atom/ns#' term='NAS'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Fedora'/><title type='text'>【備忘録】gvfs</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s1600-h/fedora.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 43px; height: 44px;" src="http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s200/fedora.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5280249589920714050" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;big&gt;1&lt;/big&gt;.5TB の &lt;a href="http://www.iodata.jp/product/hdd/lanhdd/hdl-c/"&gt;HDL-C1.5&lt;/a&gt; をネットワークにぶら下げ、nautilus から接続して使い始めましたが、一体どこにマウントポイントがあるのか、しばらく判りませんでした。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_76ucAFyAIec/S0m4omteMEI/AAAAAAAAA2s/1I17ZlZyAqA/s1600-h/smbfs1.png"&gt;&lt;img style="display:block; margin:10px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 186px;" src="http://4.bp.blogspot.com/_76ucAFyAIec/S0m4omteMEI/AAAAAAAAA2s/1I17ZlZyAqA/s320/smbfs1.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5425070233870020674" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_76ucAFyAIec/S0m4-pHCq3I/AAAAAAAAA20/o9h74wSpQK8/s1600-h/smbfs2.png"&gt;&lt;img style="display:block; margin:10px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 264px;" src="http://4.bp.blogspot.com/_76ucAFyAIec/S0m4-pHCq3I/AAAAAAAAA20/o9h74wSpQK8/s320/smbfs2.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5425070612471262066" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;tt&gt;df&lt;/tt&gt; コマンドだと判りませんが &lt;tt&gt;mount&lt;/tt&gt; だと見えます。&lt;br /&gt;&lt;pre style="clear:both;"&gt;&lt;br /&gt;$ &lt;font color="black"&gt;df&lt;/font&gt;&lt;br /&gt;Filesystem           1K-ブロック    使用   使用可 使用% マウント位置&lt;br /&gt;/dev/mapper/vg_desktop-lv_root&lt;br /&gt;                     202924944  21550236 171066716  12% /&lt;br /&gt;tmpfs                   963256       180    963076   1% /dev/shm&lt;br /&gt;/dev/sda2               198337     56371    131726  30% /boot&lt;br /&gt;$ &lt;font color="black"&gt;mount&lt;/font&gt;&lt;br /&gt;/dev/mapper/vg_desktop-lv_root on / type ext4 (rw)&lt;br /&gt;proc on /proc type proc (rw)&lt;br /&gt;sysfs on /sys type sysfs (rw)&lt;br /&gt;devpts on /dev/pts type devpts (rw,gid=5,mode=620)&lt;br /&gt;tmpfs on /dev/shm type tmpfs (rw)&lt;br /&gt;/dev/sda2 on /boot type ext4 (rw)&lt;br /&gt;none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)&lt;br /&gt;sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)&lt;br /&gt;&lt;font color="tomato"&gt;gvfs-fuse-daemon on /home/bitwalk/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,no&lt;br /&gt;dev,user=bitwalk)&lt;/font&gt;&lt;br /&gt;$ &lt;font color="black"&gt;ls ~/.gvfs&lt;/font&gt;&lt;br /&gt;&lt;font color="skyblue"&gt;bitwalk＠192.168.11.3&lt;/font&gt;&lt;br /&gt;$&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;GVFS という、Gnome の仮想ファイルシステムで、ローカルの &lt;tt&gt;~/.gvfs&lt;/tt&gt; 内にネットワークドライブがマウントされていたのでした。GVFS は、Gnome 2.22 で GnomeVFS と置き換えられたもののようですが、そもそも GnomeVFS も知りません。&lt;tt&gt;man&lt;/tt&gt; コマンドでは出てこないし、インターネットでも情報源があまり見つかりませんでした。とりあえず &lt;tt&gt;rpm -ql gvfs&lt;/tt&gt; とタイプして、&lt;tt&gt;/usr/bin&lt;/tt&gt; 以下にインストールされているファイルから、&lt;tt&gt;gvfs-mount&lt;/tt&gt; を選んでヘルプをみてみました。&lt;br /&gt;&lt;pre style="clear:both;"&gt;&lt;br /&gt;$ &lt;font color="black"&gt;gvfs-mount --help&lt;/font&gt;&lt;br /&gt;用法:&lt;br /&gt;  gvfs-mount [オプション...] - mount &lt;location&gt;&lt;br /&gt;&lt;br /&gt;ヘルプのオプション:&lt;br /&gt;  -h, --help               ヘルプのオプションを表示する&lt;br /&gt;&lt;br /&gt;アプリケーションのオプション:&lt;br /&gt;  -m, --mountable          Mount as mountable&lt;br /&gt;  -d, --device             Mount volume with device file&lt;br /&gt;  -u, --unmount            Unmount&lt;br /&gt;  -s, --unmount-scheme     Unmount all mounts with the given scheme&lt;br /&gt;  -l, --list               List&lt;br /&gt;  -i, --detail             Show extra information for List and Monitor&lt;br /&gt;  -o, --monitor            Monitor events&lt;br /&gt;&lt;br /&gt;$ &lt;font color="black"&gt;gvfs-mount -l&lt;/font&gt;&lt;br /&gt;Drive(0): 320 GB ハードディスク&lt;br /&gt;  Type: GProxyDrive (GProxyVolumeMonitorGdu)&lt;br /&gt;  Volume(0): ファイルシステム 105 GB&lt;br /&gt;    Type: GProxyVolume (GProxyVolumeMonitorGdu)&lt;br /&gt;Drive(1): CD/DVD ドライブ&lt;br /&gt;  Type: GProxyDrive (GProxyVolumeMonitorGdu)&lt;br /&gt;Mount(0): bitwalk＠192.168.11.3 -&gt; smb://bitwalk@192.168.11.3/bitwalk/&lt;br /&gt;  Type: GDaemonMount&lt;br /&gt;$&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;h2&gt;参考サイト&lt;/h2&gt;&lt;br /&gt;[1] &lt;a href="http://www.mazn.net/blog/2009/03/29/203.html"&gt;Mazn.net &amp;raquo; gvfsを使用して、Windowsの共有フォルダを使用する＠Ubuntu 9.04&lt;/a&gt;&lt;br /&gt;[2] &lt;a href="http://en.wikipedia.org/wiki/GVFS"&gt;GVFS - Wikipedia, the free encyclopedia&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9176013-8271057558737891134?l=bitwalk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitwalk.blogspot.com/feeds/8271057558737891134/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9176013&amp;postID=8271057558737891134' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/8271057558737891134'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/8271057558737891134'/><link rel='alternate' type='text/html' href='http://bitwalk.blogspot.com/2010/01/gvfs.html' title='【備忘録】gvfs'/><author><name>bitWalk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s72-c/fedora.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9176013.post-1057719880586668076</id><published>2010-01-22T21:33:00.004+09:00</published><updated>2010-01-22T21:39:41.016+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='リリース情報'/><title type='text'>Firefox 3.6 リリース</title><content type='html'>&lt;a href="http://getfirefox.jp/" title="Firefox ブラウザ無料ダウンロード"&gt;&lt;img src="http://getfirefox.jp/b/88x31_1_orange" alt="Firefox ブラウザ無料ダウンロード" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;祝！ Firefox の バージョン 3.6 が 2010 年 1 月 21 日にリリースされました。&lt;br /&gt;&lt;br /&gt;・&lt;a href="http://mozilla.jp/firefox/3.6/releasenotes/"&gt;リリースノート&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9176013-1057719880586668076?l=bitwalk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitwalk.blogspot.com/feeds/1057719880586668076/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9176013&amp;postID=1057719880586668076' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/1057719880586668076'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/1057719880586668076'/><link rel='alternate' type='text/html' href='http://bitwalk.blogspot.com/2010/01/firefox-36.html' title='Firefox 3.6 リリース'/><author><name>bitWalk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9176013.post-406731591746487334</id><published>2010-01-17T07:58:00.003+09:00</published><updated>2010-01-17T08:00:32.784+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='フォント'/><title type='text'>さわらびゴシック 20100115</title><content type='html'>&lt;a href="http://sourceforge.jp/"&gt;&lt;img src="http://sourceforge.jp/sflogo.php?group_id=3896&amp;type=1" width="96" height="31" border="0" alt="SourceForge.JP"&gt;&lt;/a&gt;&lt;br /&gt;&lt;big&gt;さ&lt;/big&gt;わらびゴシックフォント 20100115 がリリースされましたので Fedora 12 用 RPM パッケージを作成しアップロードしました。漢字グリフが 1550 文字になりました。&lt;br /&gt;&lt;br /&gt;・&lt;a href="https://sourceforge.jp/projects/sawarabi-fonts/releases/"&gt;さわらびフォント&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_76ucAFyAIec/S1JEycu_IsI/AAAAAAAAA3E/GGcTP8Fqu3o/s1600-h/sawarabi-gothic.png"&gt;&lt;img style="display:block; margin:10px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 315px;" src="http://1.bp.blogspot.com/_76ucAFyAIec/S1JEycu_IsI/AAAAAAAAA3E/GGcTP8Fqu3o/s320/sawarabi-gothic.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5427476134432285378" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9176013-406731591746487334?l=bitwalk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitwalk.blogspot.com/feeds/406731591746487334/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9176013&amp;postID=406731591746487334' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/406731591746487334'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/406731591746487334'/><link rel='alternate' type='text/html' href='http://bitwalk.blogspot.com/2010/01/20100115.html' title='さわらびゴシック 20100115'/><author><name>bitWalk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_76ucAFyAIec/S1JEycu_IsI/AAAAAAAAA3E/GGcTP8Fqu3o/s72-c/sawarabi-gothic.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9176013.post-856995227989680854</id><published>2010-01-11T19:39:00.004+09:00</published><updated>2010-01-11T19:50:51.253+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='COBOL'/><title type='text'>Tiny COBOL 0.65.5</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_76ucAFyAIec/S0MqPrNZT2I/AAAAAAAAA2c/M7I4GXmdkSA/s1600-h/project-logo-R4_s.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 130px; height: 32px;" src="http://1.bp.blogspot.com/_76ucAFyAIec/S0MqPrNZT2I/AAAAAAAAA2c/M7I4GXmdkSA/s200/project-logo-R4_s.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5423224825069522786" /&gt;&lt;/a&gt;&lt;big&gt;先&lt;/big&gt;日、バージョン 0.65 がリリースされたばかりだというのに、バグフィックスバージョンの 0.65.5 がリリースされました。現在 VB-ISAM の RPM パッケージを作成中…。&lt;br /&gt;&lt;pre style="clear:both;"&gt;&lt;br /&gt;Date: Mon, 11 Jan 2010 02:45:12 -0500&lt;br /&gt;From: David Essex &amp;lt;dessex at users.sourceforge.net&amp;gt;&lt;br /&gt;To: tiny-cobol-users &amp;lt;tiny-cobol-users at lists.sourceforge.net&amp;gt;&lt;br /&gt;Subject: [Tiny-cobol-users] TC release version 0.65.5&lt;br /&gt;&lt;br /&gt;Due to a major bug fix, TC version 0.65.5 (32-bit) is now available for&lt;br /&gt;download [1].&lt;br /&gt;&lt;br /&gt;Lots of changes to the file IO compiler and run-time have been made.&lt;br /&gt;&lt;br /&gt;For indexed files, version 0.65, uses VB-ISAM version 2.&lt;br /&gt;While BDB is no longer used for indexed files, it is still required by&lt;br /&gt;the RT for file SORTS.&lt;br /&gt;&lt;br /&gt;To build and run TC version 0.65.5 requires the following.&lt;br /&gt;- VB-ISAM version 2 or later.&lt;br /&gt;- Berkeley DB version 1.85 or later.&lt;br /&gt;- A curses library (PDcurses on win32).&lt;br /&gt;&lt;br /&gt;Since VB-ISAM is not usually included in any UN*X distributions, the&lt;br /&gt;source can be found on SF [2].&lt;br /&gt;&lt;br /&gt;For MinGW users, binaries are available on SF [1].&lt;br /&gt;Just download and install TC (ZIP or setup format), VB-ISAM version 2&lt;br /&gt;[3], BDB version 1.85 [4], and PDcurses version 2.4 [5].&lt;br /&gt;Or download the ALL version ZIP file which contains TC and required&lt;br /&gt;libraries.&lt;br /&gt;&lt;br /&gt;Cheers.&lt;br /&gt;&lt;br /&gt;1) SF downloads&lt;br /&gt;2) ISAM - vbisam-2.0.tar.bz2&lt;br /&gt;3) ISAM - vbisam-2.0.mingw.zip&lt;br /&gt;4) BDB  - bdb-1.85.mingw.zip&lt;br /&gt;5) PDcurses - pdcurses-2.4.mingw.zip&lt;br /&gt;&lt;a href="http://sourceforge.net/projects/tiny-cobol/files/"&gt;http://sourceforge.net/projects/tiny-cobol/files/&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;------------------------------------------------------------------------------&lt;br /&gt;This SF.Net email is sponsored by the Verizon Developer Community&lt;br /&gt;Take advantage of Verizon's best-in-class app development support&lt;br /&gt;A streamlined, 14 day to market process makes app distribution fast and easy&lt;br /&gt;Join now and get one step closer to millions of Verizon customers&lt;br /&gt;&lt;a href="http://p.sf.net/sfu/verizon-dev2dev"&gt;http://p.sf.net/sfu/verizon-dev2dev&lt;/a&gt; &lt;br /&gt;_______________________________________________&lt;br /&gt;Tiny-cobol-users@lists.sourceforge.net&lt;br /&gt;&lt;a href="https://lists.sourceforge.net/lists/listinfo/tiny-cobol-users"&gt;https://lists.sourceforge.net/lists/listinfo/tiny-cobol-users&lt;/a&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9176013-856995227989680854?l=bitwalk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitwalk.blogspot.com/feeds/856995227989680854/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9176013&amp;postID=856995227989680854' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/856995227989680854'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/856995227989680854'/><link rel='alternate' type='text/html' href='http://bitwalk.blogspot.com/2010/01/tiny-cobol-0655.html' title='Tiny COBOL 0.65.5'/><author><name>bitWalk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_76ucAFyAIec/S0MqPrNZT2I/AAAAAAAAA2c/M7I4GXmdkSA/s72-c/project-logo-R4_s.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9176013.post-6028653353629807260</id><published>2010-01-10T19:48:00.020+09:00</published><updated>2010-01-11T12:45:54.736+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='NAS'/><category scheme='http://www.blogger.com/atom/ns#' term='Fedora'/><title type='text'>LAN 接続型ハードディスク</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s1600-h/fedora.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 43px; height: 44px;" src="http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s200/fedora.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5280249589920714050" /&gt;&lt;/a&gt;&lt;big&gt;そ&lt;/big&gt;ろそろ Windows Vista を Windows 7 へアップグレードしようかと地元のショッピングセンター内にある&lt;a href="http://shop.joshin.co.jp/"&gt;ジョーシン&lt;/a&gt;をぶらついていたら、アイ・オー・データ機器の LAN 接続型ハードディスク（HDL-Cシリーズ）が目に入ってしまいました。かねてから、USB による外付けハードディスクではなく、ネットワークで共有できるハードディスクが欲しいと思っていたので、Windows 7 をあきらめて、1.5TB の HDL-C1.5 を買ってしまいました。帰宅後、まず Windows で基本的な設定を済ませました。Fedora/Windows のアカウントと同じ名前（&lt;code&gt;bitwalk&lt;/code&gt;）と同じパスワードを設定しておきます。&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_76ucAFyAIec/S0nHmBr21BI/AAAAAAAAA28/zI55o1GLq8w/s1600-h/hdl-c.png"&gt;&lt;img style="display:block; margin:10px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 222px;" src="http://2.bp.blogspot.com/_76ucAFyAIec/S0nHmBr21BI/AAAAAAAAA28/zI55o1GLq8w/s320/hdl-c.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5425086682245813266" /&gt;&lt;/a&gt;&lt;br /&gt;さて、問題は Fedora からのアクセスですが、しばらく Samba を使わない間に、いろいろと便利になっていてビックリです。&lt;code&gt;mount -t cifs&lt;/code&gt; を使おうといろいろ試していたところ、nautilus で簡単に接続できることを発見。あっけないほど簡単に接続できてしまいました。&lt;br /&gt;&lt;br /&gt;まず、nautilus を開いて、メニューから、&lt;code&gt;ファイル(&lt;u&gt;F&lt;/u&gt;)&lt;/code&gt; → &lt;code&gt;サーバへ接続(&lt;u&gt;S&lt;/u&gt;)...&lt;/code&gt; を選びます。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_76ucAFyAIec/S0m4omteMEI/AAAAAAAAA2s/1I17ZlZyAqA/s1600-h/smbfs1.png"&gt;&lt;img style="display:block; margin:10px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 186px;" src="http://4.bp.blogspot.com/_76ucAFyAIec/S0m4omteMEI/AAAAAAAAA2s/1I17ZlZyAqA/s320/smbfs1.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5425070233870020674" /&gt;&lt;/a&gt;&lt;br /&gt;接続先を設定する先を設定して &lt;code&gt;接続する(&lt;u&gt;O&lt;/u&gt;)&lt;/code&gt; をクリックするだけです。ここでは、&lt;code&gt;//192.168.11.3/bitwalk&lt;/code&gt; へ接続しようとしている例です。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_76ucAFyAIec/S0m4-pHCq3I/AAAAAAAAA20/o9h74wSpQK8/s1600-h/smbfs2.png"&gt;&lt;img style="display:block; margin:10px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 264px;" src="http://4.bp.blogspot.com/_76ucAFyAIec/S0m4-pHCq3I/AAAAAAAAA20/o9h74wSpQK8/s320/smbfs2.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5425070612471262066" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://ja.wikipedia.org/wiki/ミラーリング"&gt;ミラーリング&lt;/a&gt;も何もしていない安易な使い方ではありますが、Windows、Linux どちらからも共有できる広大な領域が、安価に利用できるようになったので、とりあえず満足です。&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;参考サイト&lt;/h3&gt;&lt;br /&gt;[1] &lt;a href="http://www.iodata.jp/product/hdd/lanhdd/hdl-c/"&gt;LAN接続型ハードディスク/NAS｜HDL-Cシリーズ｜概要｜ハードディスク(HDD)｜IODATA アイ・オー・データ機器&lt;/a&gt;&lt;br /&gt;[2] &lt;a href="http://journal.mycom.co.jp/kikaku/2009/10/23/003/menu.html"&gt;【特別企画】超簡単にデータ共有できるLAN&amp;USB接続対応ハードディスク - アイ・オー・データ機器「HDL-Cシリーズ」 | パソコン | マイコミジャーナル&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9176013-6028653353629807260?l=bitwalk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitwalk.blogspot.com/feeds/6028653353629807260/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9176013&amp;postID=6028653353629807260' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/6028653353629807260'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/6028653353629807260'/><link rel='alternate' type='text/html' href='http://bitwalk.blogspot.com/2010/01/lan.html' title='LAN 接続型ハードディスク'/><author><name>bitWalk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s72-c/fedora.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9176013.post-5104114595407945806</id><published>2010-01-06T21:29:00.010+09:00</published><updated>2010-01-09T19:12:38.598+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='COBOL'/><title type='text'>COBOL-IT</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_76ucAFyAIec/S0SCdXxhSMI/AAAAAAAAA2k/J1z9056Hwuo/s1600-h/cobol-it.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 118px; height: 32px;" src="http://1.bp.blogspot.com/_76ucAFyAIec/S0SCdXxhSMI/AAAAAAAAA2k/J1z9056Hwuo/s200/cobol-it.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5423603292370454722" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s1600-h/fedora.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 43px; height: 44px;" src="http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s200/fedora.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5280249589920714050" /&gt;&lt;/a&gt;&lt;big&gt;昨&lt;/big&gt;日の Tiny COBOL に関連する情報を調べていたところ、COBOL-IT なるものを見つけました。どうやら、西田圭介氏が開発していた &lt;a href="http://www.ipa.go.jp/NBP/14nendo/14youth/mdata/2-2.htm"&gt;OpenCOBOL&lt;/a&gt; から派生した物らしいです。&lt;br /&gt;&lt;br /&gt;ソースをダウンロードして、コンパイルして見たところ難なく出来たので、RPM パッケージを作ってインストールし、ちょっと使って見ました。以下のサンプル &lt;code&gt;hello.cob&lt;/code&gt; はごく簡単なものです。&lt;br /&gt;&lt;pre style="clear:both;"&gt;&lt;br /&gt;       IDENTIFICATION  DIVISION.&lt;br /&gt;       PROGRAM-ID.     HELLO.&lt;br /&gt;       PROCEDURE       DIVISION. &lt;br /&gt;           DISPLAY "Hello World!".&lt;br /&gt;           STOP   RUN.&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;コンパイルと実行は次の通りです。&lt;br /&gt;&lt;pre style="clear:both;"&gt;&lt;br /&gt;$ &lt;font color="black"&gt;cobc hello.cob&lt;/font&gt;&lt;br /&gt;$ &lt;font color="black"&gt;ls&lt;/font&gt;&lt;br /&gt;hello.cob  &lt;font color="green"&gt;hello.so&lt;/font&gt;&lt;br /&gt;$ &lt;font color="black"&gt;cobcrun hello&lt;/font&gt;&lt;br /&gt;Hello World!&lt;br /&gt;$ &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;MicroFocus の COBOL と互換な使い方もできるようです。&lt;br /&gt;&lt;pre style="clear:both;"&gt;&lt;br /&gt;$ &lt;font color="black"&gt;cobmf --help&lt;/font&gt;&lt;br /&gt;Cobol-IT MF compatible cob &lt;br /&gt;Cobol-IT MF compatible caller usage :&lt;br /&gt;cob [options] files&lt;br /&gt;    options are :&lt;br /&gt;    -a            ignored&lt;br /&gt;    -C directive  Pass syntax-check phase directive to the Compiler&lt;br /&gt;    -CC option    Pass option  to the C Compiler&lt;br /&gt;    -Q  option    Pass option  to the Linker&lt;br /&gt;    -c            Compile no further than a linkable object module (.o)&lt;br /&gt;    -g            Create debugging information&lt;br /&gt;    -I dir        Where are stored copy book&lt;br /&gt;    -i            Compile to .int code for unlinked environment &lt;br /&gt;    -k cobol-file Recognize COBOL source file with non-standard filename extension&lt;br /&gt;    -L dir        Pass option to system linker, &lt;br /&gt;                  changing search algorithm and maintaining relative ordering&lt;br /&gt;    -l lib        Pass option to system linker, maintaining relative ordering&lt;br /&gt;    -m symb=newsym        Map text symb onto newsym&lt;br /&gt;    -O            Enable optimization&lt;br /&gt;    -o filename   Specify output filename&lt;br /&gt;    -P            Produce COBOL compilation listing file&lt;br /&gt;    -u            Compile to .gnt code for unlinked environment&lt;br /&gt;    -V            Report version number&lt;br /&gt;    -v            Set verbose mode&lt;br /&gt;    -W err-level  Control error level for cob termination&lt;br /&gt;    -x            Process to system executable file&lt;br /&gt;    -Z            Process to shared library&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;RPM パッケージを下記のサイトに供給させてもらえるか、サイトの管理者と交渉してみる予定です。また、Windows 版をクロスコンパイルできるかもしれないです。詳細を後日報告します。&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;参考サイト&lt;/h3&gt;&lt;br /&gt;[1] &lt;a href="https://sourceforge.net/projects/cobol-it/"&gt;cobol-it | Get cobol-it at SourceForge.net&lt;/a&gt;&lt;br /&gt;[2] &lt;a href="http://sourceforge.jp/projects/sfnet_cobol-it/"&gt;cobol-it プロジェクト日本語トップページ - SourceForge.JP&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;追記&lt;/h3&gt;&lt;br /&gt;その後、&lt;code&gt;make check&lt;/code&gt; をして、テストプログラムをチェックしたところ、大量の &lt;code&gt;FAILED&lt;/code&gt; が出ました。RPM パッケージを供給する前に、とりあえずこの件でサイトの管理者に問い合わせ中です。(10/1/9)&lt;br /&gt;&amp;nbsp;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9176013-5104114595407945806?l=bitwalk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitwalk.blogspot.com/feeds/5104114595407945806/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9176013&amp;postID=5104114595407945806' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/5104114595407945806'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/5104114595407945806'/><link rel='alternate' type='text/html' href='http://bitwalk.blogspot.com/2010/01/cobol-it.html' title='COBOL-IT'/><author><name>bitWalk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_76ucAFyAIec/S0SCdXxhSMI/AAAAAAAAA2k/J1z9056Hwuo/s72-c/cobol-it.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9176013.post-3835213205522114830</id><published>2010-01-05T20:37:00.005+09:00</published><updated>2010-01-11T19:47:38.840+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='COBOL'/><title type='text'>Tiny COBOL 0.65</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_76ucAFyAIec/S0MqPrNZT2I/AAAAAAAAA2c/M7I4GXmdkSA/s1600-h/project-logo-R4_s.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 130px; height: 32px;" src="http://1.bp.blogspot.com/_76ucAFyAIec/S0MqPrNZT2I/AAAAAAAAA2c/M7I4GXmdkSA/s200/project-logo-R4_s.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5423224825069522786" /&gt;&lt;/a&gt;&lt;big&gt;T&lt;/big&gt;iny COBOL 0.65 がリリースされました。この週末、久しぶりに COBOL で遊んでみようかな。&lt;br /&gt;&lt;br /&gt;&lt;pre style="clear:both;"&gt;&lt;br /&gt;Date: Mon, 04 Jan 2010 23:22:39 -0500&lt;br /&gt;From: David Essex &amp;lt;dessex at users.sourceforge.net&amp;gt;&lt;br /&gt;Subject: [Tiny-cobol-users] TC release version 0.65&lt;br /&gt;&lt;br /&gt;TC version 0.65 (32-bit) is now available for download [1].&lt;br /&gt;&lt;br /&gt;Lots of changes to the file IO compiler and run-time have been made.&lt;br /&gt;&lt;br /&gt;For indexed files, version 0.65, uses VB-ISAM version 2.&lt;br /&gt;While BDB is no longer used for indexed files, it is still required by&lt;br /&gt;the RT for file SORTS.&lt;br /&gt;&lt;br /&gt;To build and run TC version 0.65 requires the following.&lt;br /&gt;- VB-ISAM version 2 or later.&lt;br /&gt;- Berkeley DB version 1.85 or later.&lt;br /&gt;- A curses library (PDcurses on win32).&lt;br /&gt;&lt;br /&gt;Since VB-ISAM is not usually included in any UN*X distributions, the&lt;br /&gt;source can be found on SF [2].&lt;br /&gt;&lt;br /&gt;For MinGW users, binaries are available on SF [1].&lt;br /&gt;Just download and install TC (ZIP or setup format), VB-ISAM version 2&lt;br /&gt;[3], BDB version 1.85 [4], and PDcurses version 2.4 [5].&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Cheers.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;1) SF downloads&lt;br /&gt;2) ISAM - vbisam-2.0.tar.bz2&lt;br /&gt;3) ISAM - vbisam-2.0.mingw.zip&lt;br /&gt;4) BDB  - bdb-1.85.mingw.zip&lt;br /&gt;&lt;a href="http://sourceforge.net/projects/tiny-cobol/files/"&gt;http://sourceforge.net/projects/tiny-cobol/files/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;5) PDcurses - version 2.4 or later&lt;br /&gt;&lt;a href="http://gnuwin32.sourceforge.net/"&gt;http://gnuwin32.sourceforge.net/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;------------------------------------------------------------------------------&lt;br /&gt;This SF.Net email is sponsored by the Verizon Developer Community&lt;br /&gt;Take advantage of Verizon's best-in-class app development support&lt;br /&gt;A streamlined, 14 day to market process makes app distribution fast and easy&lt;br /&gt;Join now and get one step closer to millions of Verizon customers&lt;br /&gt;&lt;a href="http://p.sf.net/sfu/verizon-dev2dev"&gt;http://p.sf.net/sfu/verizon-dev2dev&lt;/a&gt; &lt;br /&gt;_______________________________________________&lt;br /&gt;Tiny-cobol-users at lists.sourceforge.net&lt;br /&gt;&lt;a href="https://lists.sourceforge.net/lists/listinfo/tiny-cobol-users"&gt;https://lists.sourceforge.net/lists/listinfo/tiny-cobol-users&lt;/a&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9176013-3835213205522114830?l=bitwalk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitwalk.blogspot.com/feeds/3835213205522114830/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9176013&amp;postID=3835213205522114830' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/3835213205522114830'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/3835213205522114830'/><link rel='alternate' type='text/html' href='http://bitwalk.blogspot.com/2010/01/tiny-cobol-065.html' title='Tiny COBOL 0.65'/><author><name>bitWalk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_76ucAFyAIec/S0MqPrNZT2I/AAAAAAAAA2c/M7I4GXmdkSA/s72-c/project-logo-R4_s.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9176013.post-738968835668195634</id><published>2009-12-30T21:07:00.003+09:00</published><updated>2009-12-30T21:09:49.451+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='フォント'/><title type='text'>さわらびゴシック 20091230</title><content type='html'>&lt;a href="http://sourceforge.jp/"&gt;&lt;img src="http://sourceforge.jp/sflogo.php?group_id=3896&amp;type=1" width="96" height="31" border="0" alt="SourceForge.JP"&gt;&lt;/a&gt;&lt;br /&gt;&lt;big&gt;さ&lt;/big&gt;わらびゴシックフォント 20091230 がリリースされましたので Fedora 12 用 RPM パッケージを作成しアップロードしました。漢字グリフが 1500 文字になりました。&lt;br /&gt;&lt;br /&gt;・&lt;a href="https://sourceforge.jp/projects/sawarabi-fonts/releases/"&gt;さわらびフォント&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_76ucAFyAIec/SztCz-MKieI/AAAAAAAAA2M/ly_Cb0dgCL8/s1600-h/sawarabi-gothic.png"&gt;&lt;img style="display:block; margin:10px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 246px;" src="http://3.bp.blogspot.com/_76ucAFyAIec/SztCz-MKieI/AAAAAAAAA2M/ly_Cb0dgCL8/s320/sawarabi-gothic.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5421000037105306082" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9176013-738968835668195634?l=bitwalk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitwalk.blogspot.com/feeds/738968835668195634/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9176013&amp;postID=738968835668195634' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/738968835668195634'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/738968835668195634'/><link rel='alternate' type='text/html' href='http://bitwalk.blogspot.com/2009/12/20091230.html' title='さわらびゴシック 20091230'/><author><name>bitWalk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_76ucAFyAIec/SztCz-MKieI/AAAAAAAAA2M/ly_Cb0dgCL8/s72-c/sawarabi-gothic.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9176013.post-3529841148729355381</id><published>2009-12-29T19:56:00.008+09:00</published><updated>2009-12-31T22:24:14.045+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='備忘録'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Fedora'/><title type='text'>【備忘録】Java/Swing のプログラムにおける日本語フォント表示</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s1600-h/fedora.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 43px; height: 44px;" src="http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s200/fedora.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5280249589920714050" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_76ucAFyAIec/Szs2snLfd4I/AAAAAAAAA1s/vOhN8Yt4gS4/s1600-h/java.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 38px; height: 38px;" src="http://3.bp.blogspot.com/_76ucAFyAIec/Szs2snLfd4I/AAAAAAAAA1s/vOhN8Yt4gS4/s200/java.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5420986716529850242" /&gt;&lt;/a&gt;&lt;big&gt;J&lt;/big&gt;ava の GUI プログラムで、日本語のフォントが正しく表示されません。環境は Fedora 12 (x86_64) です。&lt;br /&gt;&lt;br /&gt;そもそも、Fedora で Java のプログラミングをほとんどしないので気がつきませんでした。&lt;br /&gt;&lt;br /&gt;例えば、以下のようなプログラム &lt;code&gt;Hello.java&lt;/code&gt; をコンパイルして実行してみます。&lt;br /&gt;&lt;pre style="clear:both;"&gt;&lt;br /&gt;// Hello.java&lt;br /&gt;import javax.swing.*;&lt;br /&gt; &lt;br /&gt;public class Hello extends JFrame {&lt;br /&gt;    private static final long serialVersionUID = 1L;&lt;br /&gt;&lt;br /&gt;    Hello() {&lt;br /&gt;        setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);&lt;br /&gt;        add(new JLabel("こんにちは、世界！"));&lt;br /&gt;        pack();&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public static void main(String[] args) {&lt;br /&gt;        new Hello().setVisible(true);&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;pre style="clear:both;"&gt;&lt;br /&gt;$ &lt;span style="color:black;"&gt;javac Hello.java&lt;/span&gt;&lt;br /&gt;$ &lt;span style="color:black;"&gt;java Hello&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;日本語フォントが □□□□ となってしまって表示されません。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_76ucAFyAIec/Szs4Ax1tzYI/AAAAAAAAA10/eIJdHI74tWc/s1600-h/Hello1.png"&gt;&lt;img style="display:block; margin:10px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 71px; height: 44px;" src="http://2.bp.blogspot.com/_76ucAFyAIec/Szs4Ax1tzYI/AAAAAAAAA10/eIJdHI74tWc/s320/Hello1.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5420988162500316546" /&gt;&lt;/a&gt;&lt;br /&gt;しかしながら、コンパイルした &lt;code&gt;Hello.class&lt;/code&gt; を Windows へコピーして実行してみると日本語フォントが正しく表示されます。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_76ucAFyAIec/Szs6ArbqhbI/AAAAAAAAA18/3QUImIDhRJI/s1600-h/Hello1win.png"&gt;&lt;img style="display:block; margin:10px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 125px; height: 43px;" src="http://2.bp.blogspot.com/_76ucAFyAIec/Szs6ArbqhbI/AAAAAAAAA18/3QUImIDhRJI/s320/Hello1win.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5420990359803692466" /&gt;&lt;/a&gt;&lt;br /&gt;これは、Fedora の Java 実行環境に問題がありそうだと考え、インターネットを検索してみると、既に調べている方がおられました。&lt;br /&gt;&lt;br /&gt;[1] &lt;a href="http://d.hatena.ne.jp/nattou_curry_2/20091128/1259427112"&gt;Fedora11でSwingのプログラムに日本語を正しく表示させる方法 - 何かしらの言語による記述を解析する日記&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;[1] のサイトの「方法1」に従い、自分の環境に読み替えて編集すると　Fedora 上で日本語を表示させることができました。ただし &lt;code&gt;$JAVA_HOME/lib/fontconfig.Fedora.bfc&lt;/code&gt; のリネームはしていません。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_76ucAFyAIec/Szs7g8Y9qyI/AAAAAAAAA2E/QS-w05XmXIQ/s1600-h/Hello2.png"&gt;&lt;img style="display:block; margin:10px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 125px; height: 44px;" src="http://2.bp.blogspot.com/_76ucAFyAIec/Szs7g8Y9qyI/AAAAAAAAA2E/QS-w05XmXIQ/s320/Hello2.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5420992013623208738" /&gt;&lt;/a&gt;&lt;br /&gt;会社で他の人に使ってもらう GUI ツールがあって、プロトタイプは Tcl/Tk で作って試用してもらいました。しかし、そもそも自分は IT 部門の人間ではないので、長期的な保守を考えれば、（自分しか保守ができない言語で作るより） Java あたりで作り直しておいた方が無難かと思い、この年末年始の休みに作り替えてしまおうとしています。実行環境は Windows 上になりますが、開発は使い慣れた Fedora の方がはかどるからです。&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;h3&gt;追記&lt;/h3&gt;&lt;br /&gt;[1] の方法で確かに日本語フォントが表示できるようになりましたが、Fedora デフォルトでインストールされていなかった「さざなみ」フォントをインストールしたことで、ブラウザなどの表示フォントが変わってしまいました。以前のフォントの方が断然見やすかったので、「さざなみ」フォントの使用を止めて元に戻し、Windows のフォントを持ってきて（RPM を作成して）Java 用に使用できるように変更してしまいました。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_76ucAFyAIec/SzwNg286AFI/AAAAAAAAA2U/UZak7gIy5YI/s1600-h/Hello3.png"&gt;&lt;img style="display:block; margin:10px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 125px; height: 39px;" src="http://4.bp.blogspot.com/_76ucAFyAIec/SzwNg286AFI/AAAAAAAAA2U/UZak7gIy5YI/s320/Hello3.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5421222909605183570" /&gt;&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9176013-3529841148729355381?l=bitwalk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitwalk.blogspot.com/feeds/3529841148729355381/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9176013&amp;postID=3529841148729355381' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/3529841148729355381'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/3529841148729355381'/><link rel='alternate' type='text/html' href='http://bitwalk.blogspot.com/2009/12/javaswing.html' title='【備忘録】Java/Swing のプログラムにおける日本語フォント表示'/><author><name>bitWalk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s72-c/fedora.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9176013.post-2029309966968800520</id><published>2009-12-19T21:05:00.011+09:00</published><updated>2009-12-20T09:31:40.725+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='仮想化'/><category scheme='http://www.blogger.com/atom/ns#' term='ReactOS'/><title type='text'>ReactOS 0.3.11</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_76ucAFyAIec/SoYa0U6YnLI/AAAAAAAAAqQ/0ySFeBAXlHQ/s1600-h/ros_logo_08s.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 100px; height: 51px;" src="http://2.bp.blogspot.com/_76ucAFyAIec/SoYa0U6YnLI/AAAAAAAAAqQ/0ySFeBAXlHQ/s200/ros_logo_08s.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5370009091955006642" /&gt;&lt;/a&gt;&lt;a href="http://www.reactos.org/wiki/Roadmap"&gt;&lt;big&gt;予&lt;/big&gt;定より&lt;/a&gt;二ヶ月ほど遅れましたが、12 月 16 日に ReactOS 0.3.11 がリリースされました。最初 Linux 上の qemu に ReactOS の iso イメージをインストールしてみましたが、動作が固まってしまったりと不安定でした。そこで、出来合いの VMware 用イメージを Windows 上の &lt;a href="http://www.vmware.com/"&gt;VMware&lt;/a&gt; で起動してみました。&lt;br /&gt;&lt;br /&gt;・&lt;a href="http://sourceforge.net/projects/reactos/files/ReactOS/0.3.11"&gt;ReactOS 0.3.11&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;起動時のイメージが変更されています。なんだか昔の &lt;a href="http://www.blogeek.ch/images/news/windows311_logo.jpg"&gt;Windows for Workgroups 3.11 (WfW)&lt;/a&gt; の起動イメージを連想してしまうのは、自分だけでしょうか…。&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_76ucAFyAIec/SyzB5xojKaI/AAAAAAAAA1k/Nu08XENuB1I/s1600-h/ReactOS_1.png"&gt;&lt;img style="display:block; margin:10px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 265px;" src="http://1.bp.blogspot.com/_76ucAFyAIec/SyzB5xojKaI/AAAAAAAAA1k/Nu08XENuB1I/s320/ReactOS_1.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5416917650139982242" /&gt;&lt;/a&gt;&lt;br /&gt;前回は Linux 上で qemu を使用することにこだわったので、結局 ReactOS 側からネットワークへ接続できずじまいでしたが、今回は難なくネットワークを利用して Firefox をダウンロードしてインストールすることができました。&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_76ucAFyAIec/SyzBxdSaEeI/AAAAAAAAA1c/e1CbV4xrewY/s1600-h/ReactOS_2.png"&gt;&lt;img style="display:block; margin:10px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 260px;" src="http://2.bp.blogspot.com/_76ucAFyAIec/SyzBxdSaEeI/AAAAAAAAA1c/e1CbV4xrewY/s320/ReactOS_2.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5416917507239449058" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9176013-2029309966968800520?l=bitwalk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitwalk.blogspot.com/feeds/2029309966968800520/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9176013&amp;postID=2029309966968800520' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/2029309966968800520'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/2029309966968800520'/><link rel='alternate' type='text/html' href='http://bitwalk.blogspot.com/2009/12/reactos-0311.html' title='ReactOS 0.3.11'/><author><name>bitWalk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_76ucAFyAIec/SoYa0U6YnLI/AAAAAAAAAqQ/0ySFeBAXlHQ/s72-c/ros_logo_08s.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9176013.post-5228694088076381024</id><published>2009-12-18T23:31:00.000+09:00</published><updated>2009-12-19T19:11:12.438+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='備忘録'/><category scheme='http://www.blogger.com/atom/ns#' term='Fedora'/><title type='text'>【備忘録】Fedora を yum でアップグレード</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s1600-h/fedora.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 43px; height: 44px;" src="http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s200/fedora.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5280249589920714050" /&gt;&lt;/a&gt;&lt;big&gt;F&lt;/big&gt;edora 11 のままだった古いノート PC をようやく Fedora 12 へアップグレードしました。通常は、&lt;code&gt;/home&lt;/code&gt; 以下のバックアップをとってクリーンインストールをすることにしていますが、今回は面倒だったので yum でアップデートしてみました。&lt;br /&gt;&lt;br /&gt;まず以下の２つの RPM ファイルを入手します。&lt;br /&gt;&lt;br /&gt;&lt;code&gt;fedora-release-12-1.noarch.rpm&lt;br /&gt;fedora-release-notes-12.0.0-4.fc12.noarch.rpm&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;例えば、&lt;a href="ftp://ftp.kddilabs.jp/Linux/packages/fedora/releases/12/Fedora/"&gt;ftp://ftp.kddilabs.jp/Linux/packages/fedora/releases/12/Fedora/&lt;/a&gt; などから入手できます。&lt;br /&gt;&lt;pre style="clear:both;"&gt;&lt;br /&gt;# rpm -Uvh fedora-release-12*&lt;br /&gt;...&lt;br /&gt;# yum clean all&lt;br /&gt;# yum -y upgrade&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;アップグレード後再起動します。&lt;br /&gt;&lt;br /&gt;参考サイト&lt;br /&gt;・&lt;a href="http://www.kawaz.jp/pukiwiki/?Fedora%20upgrade"&gt;ずんWiki - Fedora upgrade&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9176013-5228694088076381024?l=bitwalk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitwalk.blogspot.com/feeds/5228694088076381024/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9176013&amp;postID=5228694088076381024' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/5228694088076381024'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/5228694088076381024'/><link rel='alternate' type='text/html' href='http://bitwalk.blogspot.com/2009/12/fedora-yum.html' title='【備忘録】Fedora を yum でアップグレード'/><author><name>bitWalk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s72-c/fedora.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9176013.post-7720010652644035878</id><published>2009-12-17T20:25:00.003+09:00</published><updated>2009-12-17T20:28:20.888+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='フォント'/><title type='text'>さわらびゴシック 20091215</title><content type='html'>&lt;a href="http://sourceforge.jp/"&gt;&lt;img src="http://sourceforge.jp/sflogo.php?group_id=3896&amp;type=1" width="96" height="31" border="0" alt="SourceForge.JP"&gt;&lt;/a&gt;&lt;br /&gt;&lt;big&gt;さ&lt;/big&gt;わらびゴシックフォント 20091215 がリリースされていましたので Fedora 12 用 RPM パッケージを作成しアップロードしました。漢字グリフが 1450 文字になりました。&lt;br /&gt;&lt;br /&gt;・&lt;a href="https://sourceforge.jp/projects/sawarabi-fonts/releases/"&gt;さわらびフォント&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_76ucAFyAIec/SyoVlLcSr2I/AAAAAAAAA1U/IiqjHyHh2ms/s1600-h/sawarabi-gothic.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 301px;" src="http://3.bp.blogspot.com/_76ucAFyAIec/SyoVlLcSr2I/AAAAAAAAA1U/IiqjHyHh2ms/s320/sawarabi-gothic.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5416165230337240930" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9176013-7720010652644035878?l=bitwalk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitwalk.blogspot.com/feeds/7720010652644035878/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9176013&amp;postID=7720010652644035878' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/7720010652644035878'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/7720010652644035878'/><link rel='alternate' type='text/html' href='http://bitwalk.blogspot.com/2009/12/20091215.html' title='さわらびゴシック 20091215'/><author><name>bitWalk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_76ucAFyAIec/SyoVlLcSr2I/AAAAAAAAA1U/IiqjHyHh2ms/s72-c/sawarabi-gothic.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9176013.post-5695534071189617004</id><published>2009-12-09T21:54:00.008+09:00</published><updated>2009-12-09T22:45:47.323+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Chrome'/><title type='text'>Google からのメール</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_76ucAFyAIec/Swi75Zqx2WI/AAAAAAAAA0U/6pAibA8aApA/s1600/google-chrome-os.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 34px; height: 34px;" src="http://1.bp.blogspot.com/_76ucAFyAIec/Swi75Zqx2WI/AAAAAAAAA0U/6pAibA8aApA/s200/google-chrome-os.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5406777947475532130" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s1600-h/fedora.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 43px; height: 44px;" src="http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s200/fedora.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5280249589920714050" /&gt;&lt;/a&gt;&lt;big&gt;G&lt;/big&gt;oogle からメールがきました。Linux 版の Google Chrome のベータ版がリリースされたというお知らせでした。さっそくダウンロードしようとサイトにアクセスすると、deb、rpm パッケージがそれぞれ 32 bit / 64 bit CPU 用にダウンロードできるようになっていました。しばらくこの Chrome を使ってみようと思います。&lt;br /&gt;&lt;pre style="clear:both;"&gt;&lt;br /&gt;Date: Tue, 08 Dec 2009 17:49:37 +0000&lt;br /&gt;From: Google Chrome &lt;googlechromenews@google.com&gt;&lt;br /&gt;To: xxxxxxxxxx@gmail.com&lt;br /&gt;Cc: &lt;br /&gt;Subject: Linux 版 Google Chrome のベータ版が本日リリース&lt;br /&gt;Reply-To: googlechromenews@google.com&lt;br /&gt;&lt;br /&gt;Linux ユーザーの皆様&lt;br /&gt;&lt;br /&gt;Linux 版 Google Chrome のベータ版がリリースされました。多くの Chromium デベロッパーと WebK&lt;br /&gt;it デベロッパーの努力により、Google Chrome は高速で安定したブラウザとなりました。&lt;br /&gt;&lt;br /&gt;60,000 行の Linux むけのコードを記述&lt;br /&gt;23 回の開発ビルド&lt;br /&gt;2,713 件の Linux 関連のバグを修正&lt;br /&gt;Linux 版 Google Chrome のコードベースに、外部から 12 人のコミッターとバグ修正者、48 人のコー&lt;br /&gt;ド提供者が参加&lt;br /&gt;&lt;br /&gt;上記を経て、本日やっと　Linux 版 Google Chrome のベータ版を提供するにいたりました。&lt;br /&gt;&lt;br /&gt;Linux ユーザーの皆さん、本当にお待たせしました。Google Chrome をお楽しみください。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Google Chrome チーム&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.google.com/chrome/intl/ja/w00t.html"&gt;http://www.google.com/chrome/intl/ja/w00t.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;--------&lt;br /&gt;&lt;br /&gt;(c) 2009 Google www.google.com 1600 Amphitheatre Parkway, Mountain&lt;br /&gt;View CA 94043 United States of America.&lt;br /&gt;&lt;br /&gt;Google は Google Inc. の商標です。&lt;br /&gt;その他すべての社名および製品名は、それぞれ該当する企業の商標です。&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_76ucAFyAIec/Sx-eUO7-hPI/AAAAAAAAA1M/iMlO1q_o1lY/s1600-h/GoogleChrome.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 314px;" src="http://4.bp.blogspot.com/_76ucAFyAIec/Sx-eUO7-hPI/AAAAAAAAA1M/iMlO1q_o1lY/s320/GoogleChrome.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5413219347566855410" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9176013-5695534071189617004?l=bitwalk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitwalk.blogspot.com/feeds/5695534071189617004/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9176013&amp;postID=5695534071189617004' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/5695534071189617004'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/5695534071189617004'/><link rel='alternate' type='text/html' href='http://bitwalk.blogspot.com/2009/12/google.html' title='Google からのメール'/><author><name>bitWalk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_76ucAFyAIec/Swi75Zqx2WI/AAAAAAAAA0U/6pAibA8aApA/s72-c/google-chrome-os.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9176013.post-7400970150365435427</id><published>2009-12-08T20:03:00.006+09:00</published><updated>2009-12-08T20:59:37.666+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='その他'/><title type='text'>Virgin Galactic、初の民間宇宙船「SpaceShip2」披露</title><content type='html'>（&lt;big&gt;N&lt;/big&gt;ASA と提携しているので、半官半民かもしれませんが）民間で宇宙旅行のビジネスを始めるっていうことに夢があります。しかし旅費として 2,000 万円近い資金があれば、ゆっくり船で世界旅行っていうのも魅力的なんですけどね。&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/IytjSl6voP0&amp;hl=ja_JP&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/IytjSl6voP0&amp;hl=ja_JP&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/center&gt;&lt;br /&gt;[1] &lt;a href="http://www.itmedia.co.jp/news/articles/0912/08/news026.html"&gt;Virgin Galactic、初の民間宇宙船「SpaceShip2」披露 - ITmedia News&lt;/a&gt;&lt;br /&gt;[2] &lt;a href="http://www.virgingalactic.com/"&gt;Welcome | Virgin Galactic&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9176013-7400970150365435427?l=bitwalk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitwalk.blogspot.com/feeds/7400970150365435427/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9176013&amp;postID=7400970150365435427' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/7400970150365435427'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/7400970150365435427'/><link rel='alternate' type='text/html' href='http://bitwalk.blogspot.com/2009/12/virgin-galacticspaceship2.html' title='Virgin Galactic、初の民間宇宙船「SpaceShip2」披露'/><author><name>bitWalk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9176013.post-5501158264955648990</id><published>2009-12-04T22:54:00.003+09:00</published><updated>2009-12-06T03:03:47.601+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='備忘録'/><title type='text'>【備忘録】グーグルの日本語入力ソフト（ベータ版）</title><content type='html'>&lt;big&gt;C&lt;/big&gt;NET Japan によると、グーグルが 12 月 3 日に、Windows/MacOS 用に日本語入力ソフトウェア「Google日本語入力ベータ」を公開したそうです。自宅では Linux を中心に使っているとは言え、仕事では Windows を使っているので、日本語入力の使い心地を試してみたいものです。&lt;br /&gt;&lt;br /&gt;[1] &lt;a href="http://japan.cnet.com/news/ent/story/0,2000056022,20404675,00.htm?tag=nl"&gt;グーグル、日本語入力ソフトのベータ版を公開:ニュース - CNET Japan&lt;/a&gt;&lt;br /&gt;[2] &lt;a href="http://www.google.com/intl/ja/ime/"&gt;Google 日本語入力 - ダウンロード&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9176013-5501158264955648990?l=bitwalk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitwalk.blogspot.com/feeds/5501158264955648990/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9176013&amp;postID=5501158264955648990' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/5501158264955648990'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/5501158264955648990'/><link rel='alternate' type='text/html' href='http://bitwalk.blogspot.com/2009/12/blog-post.html' title='【備忘録】グーグルの日本語入力ソフト（ベータ版）'/><author><name>bitWalk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9176013.post-4928924547237187362</id><published>2009-11-30T22:02:00.002+09:00</published><updated>2009-11-30T22:03:49.656+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='フォント'/><title type='text'>さわらびゴシック 20091130</title><content type='html'>&lt;a href="http://sourceforge.jp/"&gt;&lt;img src="http://sourceforge.jp/sflogo.php?group_id=3896&amp;type=1" width="96" height="31" border="0" alt="SourceForge.JP"&gt;&lt;/a&gt;&lt;br /&gt;&lt;big&gt;さ&lt;/big&gt;わらびゴシックフォント 20091130 がリリースされましたので Fedora 12 用 RPM パッケージを作成しアップロードしました。漢字グリフが 1375 文字になりました。&lt;br /&gt;&lt;br /&gt;・&lt;a href="https://sourceforge.jp/projects/sawarabi-fonts/releases/"&gt;さわらびフォント&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_76ucAFyAIec/SxPCkFwHkAI/AAAAAAAAA1E/JSH6E1C1ImQ/s1600/sawarabi-gothic.png"&gt;&lt;img style="display:block; margin:10px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 211px;" src="http://1.bp.blogspot.com/_76ucAFyAIec/SxPCkFwHkAI/AAAAAAAAA1E/JSH6E1C1ImQ/s320/sawarabi-gothic.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5409881502677176322" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9176013-4928924547237187362?l=bitwalk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitwalk.blogspot.com/feeds/4928924547237187362/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9176013&amp;postID=4928924547237187362' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/4928924547237187362'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/4928924547237187362'/><link rel='alternate' type='text/html' href='http://bitwalk.blogspot.com/2009/11/20091130.html' title='さわらびゴシック 20091130'/><author><name>bitWalk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_76ucAFyAIec/SxPCkFwHkAI/AAAAAAAAA1E/JSH6E1C1ImQ/s72-c/sawarabi-gothic.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9176013.post-1683884252745674076</id><published>2009-11-28T18:44:00.008+09:00</published><updated>2009-11-29T02:07:05.835+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MinGW クロスコンパイラ'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><title type='text'>GCC のランタイムパッケージ 002</title><content type='html'>&lt;a href="http://sourceforge.net/projects/mingw-cross"&gt;&lt;img src="http://sflogo.sourceforge.net/sflogo.php?group_id=204414&amp;amp;type=10" width="80" height="15" alt="Get MinGW Cross Compiler at SourceForge.net. Fast, secure and Free Open Source software downloads" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s1600-h/fedora.png"&gt;&lt;img style="float:left; margin:0px 10px 10px 0;cursor:pointer; cursor:hand;width: 43px; height: 44px;" src="http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s200/fedora.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5280249589920714050" /&gt;&lt;/a&gt;&lt;big&gt;M&lt;/big&gt;inGW クロスコンパイル環境でビルドしたプログラムを、Windows 上で手軽に実行できるように公開し始めた Windows 用 GCC のランタイムパッケージ libgcc のインストーラをアップデートしました。&lt;br /&gt;&lt;br /&gt;・&lt;a href="https://sourceforge.net/projects/mingw-cross/files/[PRODUCT] GCC runtime package/libgcc-4.4.1-002"&gt;libgcc-4.4.1-002&lt;/a&gt;&lt;br /&gt;&lt;pre style="clear:both;"&gt;&lt;br /&gt;GCC Runtime Package for Win32, bitWalk build #002&lt;br /&gt;released on 2009-11-28&lt;br /&gt;&lt;br /&gt;1. Objective&lt;br /&gt;  This is a support package for Fedora MinGW cross development, which is a set&lt;br /&gt;of runtime libraries used on target environment, Win32 system.&lt;br /&gt;&lt;br /&gt;2. Available version of GCC Runtime and related libraries&lt;br /&gt;  - libgcc_s_sjlj-1.dll in mingw32-gcc-4.4.1-3.fc12.i686.rpm&lt;br /&gt;  - mingwm10.dll in mingw32-runtime-3.15.2-4.fc12.noarch.rpm&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_76ucAFyAIec/SxDx3jmnQMI/AAAAAAAAA0c/NYpTbUTRdEU/s1600/libgcc-4.4.1-002.png"&gt;&lt;img style="display:block; margin:10px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 246px;" src="http://4.bp.blogspot.com/_76ucAFyAIec/SxDx3jmnQMI/AAAAAAAAA0c/NYpTbUTRdEU/s320/libgcc-4.4.1-002.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5409089089224261826" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;[1] &lt;a href="http://bitwalk.blogspot.com/2009/10/gcc.html"&gt;GCC のランタイムパッケージ&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9176013-1683884252745674076?l=bitwalk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitwalk.blogspot.com/feeds/1683884252745674076/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9176013&amp;postID=1683884252745674076' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/1683884252745674076'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/1683884252745674076'/><link rel='alternate' type='text/html' href='http://bitwalk.blogspot.com/2009/11/gcc-002.html' title='GCC のランタイムパッケージ 002'/><author><name>bitWalk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s72-c/fedora.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9176013.post-3154360824705193604</id><published>2009-11-27T22:56:00.005+09:00</published><updated>2009-11-30T06:53:22.649+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='備忘録'/><category scheme='http://www.blogger.com/atom/ns#' term='仮想化'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><category scheme='http://www.blogger.com/atom/ns#' term='Google Chrome OS'/><title type='text'>【備忘録】VMware で Chrome OS を試す</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_76ucAFyAIec/Swi75Zqx2WI/AAAAAAAAA0U/6pAibA8aApA/s1600/google-chrome-os.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 34px; height: 34px;" src="http://1.bp.blogspot.com/_76ucAFyAIec/Swi75Zqx2WI/AAAAAAAAA0U/6pAibA8aApA/s200/google-chrome-os.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5406777947475532130" /&gt;&lt;/a&gt;&lt;big&gt;C&lt;/big&gt;hrome OS の VMware 用のイメージをダウンロードし、Windows Vista 上の &lt;a href="https://www.vmware.com/tryvmware/?p=player&amp;lp=1"&gt;VMware player&lt;/a&gt; で試してみました。VMware player はすでにインストールされているものとして、手順を説明します。&lt;br /&gt;&lt;br /&gt;まず、&lt;a href="http://gdgt.com/google/chrome-os/download/"&gt;gdgt&lt;/a&gt; のサイトから Chrome OS の VMware 用のディスクイメージ &lt;tt&gt;chrome-os-0.4.22.8-gdgt.vmdk.zip&lt;/tt&gt; をダウンロードします。ダウンロードするには gdgt のアカウントを作成する必要があります。アカウント作成は無料でできます。ダウンロードしたファイルを解凍して、適当なフォルダ内に保存しておきます。&lt;br /&gt;&lt;br /&gt;次に、VMX ファイルを用意します。このファイルは、&lt;a href="http://ja.pastebin.ca/1681237"&gt;pastebin - Chrome OS.vmx - post number 1681237&lt;/a&gt; で紹介してあった記述をコピーし、メモリ容量を 1GB に変更して利用しました。&lt;tt&gt;chrome-os.vmx&lt;/tt&gt; という名前で、ディスクイメージと同じフォルダに保存します。&lt;br /&gt;&lt;pre style="clear:both;"&gt;&lt;br /&gt;config.version = "8"&lt;br /&gt;memsize = "1024"&lt;br /&gt;&lt;br /&gt;displayName = "Chrome OS"&lt;br /&gt;guestOS = "other"&lt;br /&gt;&lt;br /&gt;ide0:0.present = "TRUE"&lt;br /&gt;ide0:0.fileName = "chrome-os-0.4.22.8-gdgt.vmdk"&lt;br /&gt;ide1:0.present = "TRUE"&lt;br /&gt;ide1:0.autodetect = "TRUE"&lt;br /&gt;ide1:0.fileName = "auto detect"&lt;br /&gt;ide1:0.deviceType = "cdrom-raw"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;ethernet0.present = "TRUE"&lt;br /&gt;ethernet0.connectionType = "bridged"&lt;br /&gt;ethernet0.addressType = "generated"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;sound.present = "TRUE"&lt;br /&gt;sound.virtualDev = "es1371"&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;VMware player を起動し、「仮想マシンを開く」をクリックして、作成した &lt;tt&gt;chrome-os.vmx&lt;/tt&gt; を読み込み、仮想マシンを再生すると Chrome OS が起動します。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_76ucAFyAIec/SxFRTkICJWI/AAAAAAAAA0k/ChS7W1UBBcY/s1600/chrome1.png"&gt;&lt;img style="display:block; margin:10px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 260px;" src="http://4.bp.blogspot.com/_76ucAFyAIec/SxFRTkICJWI/AAAAAAAAA0k/ChS7W1UBBcY/s320/chrome1.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5409194024005412194" /&gt;&lt;/a&gt;&lt;br /&gt;しばらくするとログイン画面が出ますので、GMail のアカウントでログインします。なお、&lt;tt&gt;@gmail.com&lt;/tt&gt; の部分は省略可能で、省略すると自動的に補完してくれます。ちなみにキーボード配列は 101 系のキーボード配列に対応しているようで、&lt;tt&gt;@&lt;/tt&gt; は Shift + 2 になります。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_76ucAFyAIec/SxFTcF8kQqI/AAAAAAAAA0s/RGUkq7IW4bM/s1600/chrome2.png"&gt;&lt;img style="display:block; margin:10px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 260px;" src="http://4.bp.blogspot.com/_76ucAFyAIec/SxFTcF8kQqI/AAAAAAAAA0s/RGUkq7IW4bM/s320/chrome2.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5409196369546330786" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_76ucAFyAIec/SxFXzIm6bsI/AAAAAAAAA08/ZWA0XbVDF8c/s1600/chrome2b.png"&gt;&lt;img style="display:block; margin:10px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 260px;" src="http://2.bp.blogspot.com/_76ucAFyAIec/SxFXzIm6bsI/AAAAAAAAA08/ZWA0XbVDF8c/s320/chrome2b.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5409201163444317890" /&gt;&lt;/a&gt;&lt;br /&gt;ログインすると、画面全体がブラウザの画面が表示されます。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_76ucAFyAIec/SxFWteO1jYI/AAAAAAAAA00/K_c09BmBNzE/s1600/chrome3.png"&gt;&lt;img style="display:block; margin:10px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 260px;" src="http://2.bp.blogspot.com/_76ucAFyAIec/SxFWteO1jYI/AAAAAAAAA00/K_c09BmBNzE/s320/chrome3.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5409199966658071938" /&gt;&lt;/a&gt;&lt;br /&gt;Ctrl + Alt + t でターミナル画面を表示できます。シェルは bash です。&lt;tt&gt;exit&lt;/tt&gt; で元の画面に戻ります（元に戻ってくれない時もあります）。&lt;br /&gt;&lt;br /&gt;[1] &lt;a href="http://www.openspc2.org/reibun/Google/ChromeOS/20091120/index.html"&gt;Google Chrome OS (グーグルクロームOS) 使い方辞典 (2009年11月20日版)&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9176013-3154360824705193604?l=bitwalk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitwalk.blogspot.com/feeds/3154360824705193604/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9176013&amp;postID=3154360824705193604' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/3154360824705193604'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/3154360824705193604'/><link rel='alternate' type='text/html' href='http://bitwalk.blogspot.com/2009/11/vmware-chrome-os.html' title='【備忘録】VMware で Chrome OS を試す'/><author><name>bitWalk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_76ucAFyAIec/Swi75Zqx2WI/AAAAAAAAA0U/6pAibA8aApA/s72-c/google-chrome-os.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9176013.post-7139111601232181289</id><published>2009-11-21T13:02:00.004+09:00</published><updated>2009-11-29T12:20:02.839+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='備忘録'/><category scheme='http://www.blogger.com/atom/ns#' term='クラウド'/><category scheme='http://www.blogger.com/atom/ns#' term='Google Chrome OS'/><title type='text'>【備忘録】Google Chrome OS Demo</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_76ucAFyAIec/Swi75Zqx2WI/AAAAAAAAA0U/6pAibA8aApA/s1600/google-chrome-os.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 34px; height: 34px;" src="http://1.bp.blogspot.com/_76ucAFyAIec/Swi75Zqx2WI/AAAAAAAAA0U/6pAibA8aApA/s200/google-chrome-os.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5406777947475532130" /&gt;&lt;/a&gt;&lt;big&gt;C&lt;/big&gt;hrome OS なのか、Chromium OS なのか判然しないのですが、Chrome OS のソースコードが、オープンソースプロジェクト「Chromium OS」として公開されているらしいです。&lt;br /&gt;&lt;br /&gt;会話が英語で、しかもちょっと聞き取りにくいのですが、YouTube で Google Chrome OS Demo のビデオがあったので備忘録的に紹介します。来年の今ごろには最初のリリースを利用できるようになっているでしょう。&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;object width="560" height="340"&gt;&lt;param name="movie" value="http://www.youtube.com/v/ANMrzw7JFzA&amp;hl=ja_JP&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/ANMrzw7JFzA&amp;hl=ja_JP&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/center&gt;&lt;br /&gt;[1] &lt;a href="http://www.itmedia.co.jp/news/articles/0911/20/news083.html"&gt;Google Chrome OSのデモを見てきた - ITmedia News&lt;/a&gt;&lt;br /&gt;[2] &lt;a href="http://internet.watch.impress.co.jp/docs/news/20091120_330437.html"&gt;「Google Chrome OS」プロジェクトが公開、製品登場は2010年後半 -INTERNET Watch&lt;/a&gt;&lt;br /&gt;[3] &lt;a href="http://www.chromium.org/chromium-os/"&gt;Chromium OS (The Chromium Projects)&lt;/a&gt;&lt;br /&gt;[4] &lt;a href="http://www.forest.impress.co.jp/docs/special/20091120_330552.html"&gt;窓の杜 - 【特別企画】Googleの新OS「Chrome OS」のオープンソース版「Chromium OS」を試す&lt;/a&gt;&lt;br /&gt;[5] &lt;a href="http://discuss.gdgt.com/google/chrome-os/general/Download-Chrome-OS-VMWare-image/"&gt;Google Chrome OS: Download Chrome OS VMWare image - gdgt&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9176013-7139111601232181289?l=bitwalk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitwalk.blogspot.com/feeds/7139111601232181289/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9176013&amp;postID=7139111601232181289' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/7139111601232181289'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/7139111601232181289'/><link rel='alternate' type='text/html' href='http://bitwalk.blogspot.com/2009/11/google-chrome-os-demo.html' title='【備忘録】Google Chrome OS Demo'/><author><name>bitWalk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_76ucAFyAIec/Swi75Zqx2WI/AAAAAAAAA0U/6pAibA8aApA/s72-c/google-chrome-os.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9176013.post-4567293960972086516</id><published>2009-11-15T09:15:00.006+09:00</published><updated>2009-11-15T11:17:00.158+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='フォント'/><title type='text'>さわらびゴシック 20091115</title><content type='html'>&lt;a href="http://sourceforge.jp/"&gt;&lt;img src="http://sourceforge.jp/sflogo.php?group_id=3896&amp;type=1" width="96" height="31" border="0" alt="SourceForge.JP"&gt;&lt;/a&gt;&lt;br /&gt;&lt;big&gt;さ&lt;/big&gt;わらびゴシックフォント 20091115 がリリースされましたので Fedora 用 RPM パッケージを作成しアップロードしました。今回は、Fedora 12 上で RPM パッケージを作成しています。漢字グリフが 1300 文字になりました。&lt;br /&gt;&lt;br /&gt;・&lt;a href="https://sourceforge.jp/projects/sawarabi-fonts/releases/"&gt;さわらびフォント&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_76ucAFyAIec/Sv9khWcr10I/AAAAAAAAA0I/fL4oMGLIBqI/s1600-h/sawarabi-gothic.png"&gt;&lt;img style="display:block; margin:10px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 312px;" src="http://2.bp.blogspot.com/_76ucAFyAIec/Sv9khWcr10I/AAAAAAAAA0I/fL4oMGLIBqI/s320/sawarabi-gothic.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5404148601992238914" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9176013-4567293960972086516?l=bitwalk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitwalk.blogspot.com/feeds/4567293960972086516/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9176013&amp;postID=4567293960972086516' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/4567293960972086516'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/4567293960972086516'/><link rel='alternate' type='text/html' href='http://bitwalk.blogspot.com/2009/11/20091115.html' title='さわらびゴシック 20091115'/><author><name>bitWalk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_76ucAFyAIec/Sv9khWcr10I/AAAAAAAAA0I/fL4oMGLIBqI/s72-c/sawarabi-gothic.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9176013.post-3250539307830857652</id><published>2009-11-13T21:01:00.017+09:00</published><updated>2009-11-15T09:00:00.746+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='備忘録'/><category scheme='http://www.blogger.com/atom/ns#' term='クラウド'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>【備忘録】Dropbox の導入 (Fedora)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s1600-h/fedora.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 43px; height: 44px;" src="http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s200/fedora.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5280249589920714050" /&gt;&lt;/a&gt;&lt;big&gt;D&lt;/big&gt;ropbox は、インターネットを経由して、自分が利用している複数のパソコン間でファイルを自動同期したり、指定したほかのユーザーと共有できるオンラインストレージサービスです。アカウントを取得する必要がありますが、現在のところ 2GB までは無料で利用できます。なお、有料版は 50GB を月額 9.99 ドルあるいは年額 99.99 ドルで利用できます。&lt;br /&gt;&lt;br /&gt;Dropbox は、専用のクライアントのソフトウェアをインストールするとで利用できます。Windows の場合、エクスプローラ上で他のフォルダ、ファイルを通常と同じように扱うことができます。すなわち、指定したローカルフォルダ内でファイルやフォルダを追加・削除・更新すると、自動でオンラインストレージに同期、あるいは共有先に反映されます。Linux の場合はエクスプローラの代わりに Nautilus で同じように操作ができるクライアントのソフトウェアが公開されています。&lt;br /&gt;&lt;br /&gt;そろそろ Fedora 12 がリリースされるので、先行してβ版をインストールした際に、Doropbox をインストールし直したので、その手順をまとめました。Gnome デスクトップ環境で Nautilus を使用していることを前提にしています。&lt;br /&gt;&lt;br /&gt;まず、クライアントソフトを以下から入手します。&lt;br /&gt;&lt;br /&gt;[1] &lt;a href="https://www.dropbox.com/downloading?os=lnx"&gt;Dropbox - Downloading Dropbox - Secure backup, sync and sharing made easy.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Fedora の場合、Fedora Core 10 (x86_64, &lt;code&gt;nautilus-dropbox-0.6.1-1.fc10.x86_64.rpm&lt;/code&gt;) あるいは Fedora Core 10 (x86, &lt;code&gt;nautilus-dropbox-0.6.1-1.fc10.i386.rpm&lt;/code&gt;) をダウンロードしてインストールします。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_76ucAFyAIec/Sv81TJ1-07I/AAAAAAAAAzU/2EVKcZTLL-Q/s1600-h/Dropbox-01.png"&gt;&lt;img style="display:block; margin:10px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 156px;" src="http://4.bp.blogspot.com/_76ucAFyAIec/Sv81TJ1-07I/AAAAAAAAAzU/2EVKcZTLL-Q/s320/Dropbox-01.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5404096681044005810" /&gt;&lt;/a&gt;&lt;br /&gt;インストールすると、GUI が起動して、ファイルの同期などに必要な Daemon のインストールが始まります。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_76ucAFyAIec/Sv81PV_nX4I/AAAAAAAAAzM/l5VIRQjlgLM/s1600-h/Dropbox-02.png"&gt;&lt;img style="display:block; margin:10px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 122px;" src="http://2.bp.blogspot.com/_76ucAFyAIec/Sv81PV_nX4I/AAAAAAAAAzM/l5VIRQjlgLM/s320/Dropbox-02.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5404096615586160514" /&gt;&lt;/a&gt;&lt;br /&gt;インストールが終わると、次はアカウントを入力する手続きです。アカウントをまだ取得していない場合、ここで &lt;code&gt;I don't have a Dropbox account&lt;/code&gt; を選択すると、ここで取得できます。私の場合は、既に Dropbox のアカウントを持っているので、&lt;code&gt;I already have a Dropbox account&lt;/code&gt; を選択して、次に進みます。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_76ucAFyAIec/Sv865mlH0wI/AAAAAAAAAzw/n4fHuGbSidA/s1600-h/Dropbox-03.png"&gt;&lt;img style="display:block; margin:10px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 254px;" src="http://3.bp.blogspot.com/_76ucAFyAIec/Sv865mlH0wI/AAAAAAAAAzw/n4fHuGbSidA/s320/Dropbox-03.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5404102839151088386" /&gt;&lt;/a&gt;&lt;br /&gt;Dropbox に登録してある電子メールアドレスをパスワードを入力して次に進みます。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_76ucAFyAIec/Sv85ycEoxiI/AAAAAAAAAzk/h0ItLc-pIl4/s1600-h/Dropbox-04.png"&gt;&lt;img style="display:block; margin:10px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 254px;" src="http://3.bp.blogspot.com/_76ucAFyAIec/Sv85ycEoxiI/AAAAAAAAAzk/h0ItLc-pIl4/s320/Dropbox-04.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5404101616559769122" /&gt;&lt;/a&gt;&lt;br /&gt;この後、Dropbox の使用方法を説明する画面が 3 つほど続きますが、既に知っている場合は &lt;code&gt;Skip tour and finish&lt;/code&gt; をクリックして最終画面に進みます。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_76ucAFyAIec/Sv87a8yeLBI/AAAAAAAAAz4/o_ddLOiuYw4/s1600-h/Dropbox-05.png"&gt;&lt;img style="display:block; margin:10px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 254px;" src="http://3.bp.blogspot.com/_76ucAFyAIec/Sv87a8yeLBI/AAAAAAAAAz4/o_ddLOiuYw4/s320/Dropbox-05.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5404103412048342034" /&gt;&lt;/a&gt;&lt;br /&gt;デフォルトの場所に Dropbox のフォルダを生成する場合は、&lt;code&gt;Finish&lt;/code&gt; をクリックして終了します。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_76ucAFyAIec/Sv80_in7YhI/AAAAAAAAAys/aF2IxdAGxe4/s1600-h/Dropbox-06.png"&gt;&lt;img style="display:block; margin:10px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 254px;" src="http://3.bp.blogspot.com/_76ucAFyAIec/Sv80_in7YhI/AAAAAAAAAys/aF2IxdAGxe4/s320/Dropbox-06.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5404096344098562578" /&gt;&lt;/a&gt;&lt;br /&gt;Nautilus を開いて、Dropbox のフォルダーが作られていることを確認します。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_76ucAFyAIec/Sv807SBAnzI/AAAAAAAAAyk/bKfhJeX_z9U/s1600-h/Dropbox-07.png"&gt;&lt;img style="display:block; margin:10px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 202px;" src="http://3.bp.blogspot.com/_76ucAFyAIec/Sv807SBAnzI/AAAAAAAAAyk/bKfhJeX_z9U/s320/Dropbox-07.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5404096270920884018" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;h3&gt;&lt;u&gt;注意&lt;/u&gt;&lt;/h3&gt;&lt;br /&gt;Fedora 12 をインストール後、既に使っていたアカウントのバックアップを戻してから、Dropbox のクライアント、&lt;code&gt;nautilus-dropbox-0.6.1-1.fc10.x86_64.rpm&lt;/code&gt; をインストールしたためか、すぐに設定用のダイアログ画面が現れませんでした。ログアウト／ログインし直しても設定用のダイアログが表示されない場合は、以下の様にコンソール上で起動します。&lt;br /&gt;&lt;pre style="clear:both;"&gt;&lt;br /&gt;$ &lt;font color="black"&gt;dropbox start -i&lt;/font&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;h3&gt;&lt;u&gt;参考サイト&lt;/u&gt;&lt;/h3&gt;&lt;br /&gt;[2] &lt;a href="http://www.dropbox.com/"&gt;Dropbox - Home - Secure backup, sync and sharing made easy.&lt;/a&gt;&lt;br /&gt;[3] &lt;a href="http://web-tan.forum.impressrd.jp/e/2008/11/13/4371"&gt;Dropbox徹底解剖 - 一度使ったら手放せなくなる! オンラインストレージサービスの本命 | Web担当者Forum&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9176013-3250539307830857652?l=bitwalk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitwalk.blogspot.com/feeds/3250539307830857652/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9176013&amp;postID=3250539307830857652' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/3250539307830857652'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/3250539307830857652'/><link rel='alternate' type='text/html' href='http://bitwalk.blogspot.com/2009/11/dropbox-fedora.html' title='【備忘録】Dropbox の導入 (Fedora)'/><author><name>bitWalk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s72-c/fedora.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9176013.post-5670857594514284583</id><published>2009-11-07T21:48:00.008+09:00</published><updated>2009-11-07T22:46:10.265+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MinGW クロスコンパイラ'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='GTK+'/><title type='text'>Fedora 12 と MinGW クロスコンパイル</title><content type='html'>&lt;a href="http://sourceforge.net/projects/mingw-cross"&gt;&lt;img src="http://sflogo.sourceforge.net/sflogo.php?group_id=204414&amp;amp;type=10" width="80" height="15" alt="Get MinGW Cross Compiler at SourceForge.net. Fast, secure and Free Open Source software downloads" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s1600-h/fedora.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 43px; height: 44px;" src="http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s200/fedora.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5280249589920714050" /&gt;&lt;/a&gt;&lt;big&gt;F&lt;/big&gt;edora 12 のベータ版を古いノートパソコン (X31) にインストールして、MinGW クロスコンパイル環境を評価しています。&lt;br /&gt;&lt;br /&gt;Fedora がクロスコンパイル環境をサポートする以前は、Windows 用 Tcl/Tk を、Linux でクロスコンパイルできれば、まずまずの満足ができたのですが、このように環境が充実してくると欲が出てきます。&lt;br /&gt;&lt;br /&gt;折角、基本的な GTK+ ライブラリが利用できるのですから、最近は Windows 用 GIMP を自前でクロスコンパイルするべく、いろいろ試しています。Fedora 11 では（というより、おそらくは &lt;tt&gt;mingw32-glib2&lt;/tt&gt; などのバージョンのせいで）クロスコンパイル用にビルドできなかった &lt;tt&gt;gegl&lt;/tt&gt; を、なんとかビルドできたので、&lt;tt&gt;babl&lt;/tt&gt; と一緒に SourceForge.net のプロジェクトサイトへアップしました。（ちなみに &lt;tt&gt;babl&lt;/tt&gt; の方は、F11 でもビルド出来ていました。&lt;tt&gt;gegl&lt;/tt&gt; は、&lt;tt&gt;babl&lt;/tt&gt; に依存しています。）&lt;br /&gt;&lt;br /&gt;・&lt;a href="https://sourceforge.net/projects/mingw-cross/files/%5BLIB%5D%20gegl"&gt;[LIB] gegl&lt;/a&gt;&lt;br /&gt;・&lt;a href="https://sourceforge.net/projects/mingw-cross/files/%5BLIB%5D%20babl"&gt;[LIB] babl&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;これで、最新の GIMP がクロスコンパイル出来るようになったかというと、そうではありません。しかし、一歩実現に近づいたと思っています。目標は、Win32 用 GTK+ のランタイムパッケージと、GIMP 本体を別々のインストーラで公開出来るようにすることです。&lt;br /&gt;&lt;br /&gt;Windows 7 が発売され、64bit OS の普及が加速されそうですが、MinGW クロスコンパイルについては、まだ 32bit に集中しようと考えています。&lt;br /&gt;&lt;br /&gt;[1] &lt;a href="http://www.geocities.jp/ss2pxd1c/gimp/gimp-introduction-whats-new.html"&gt;2. GIMP 2.6 の新機能&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9176013-5670857594514284583?l=bitwalk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitwalk.blogspot.com/feeds/5670857594514284583/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9176013&amp;postID=5670857594514284583' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/5670857594514284583'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/5670857594514284583'/><link rel='alternate' type='text/html' href='http://bitwalk.blogspot.com/2009/11/fedora-12-mingw.html' title='Fedora 12 と MinGW クロスコンパイル'/><author><name>bitWalk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s72-c/fedora.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9176013.post-6286552271883964527</id><published>2009-11-02T21:12:00.001+09:00</published><updated>2009-11-02T21:14:22.740+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='フォント'/><title type='text'>さわらびゴシック 20091101</title><content type='html'>&lt;a href="http://sourceforge.jp/"&gt;&lt;img src="http://sourceforge.jp/sflogo.php?group_id=3896&amp;type=1" width="96" height="31" border="0" alt="SourceForge.JP"&gt;&lt;/a&gt;&lt;br /&gt;&lt;big&gt;さ&lt;/big&gt;わらびゴシックフォント 20091101 がリリースされましたので Fedora 11 用 RPM パッケージを作成しアップロードしました。漢字グリフが 1250 文字になりました。&lt;br /&gt;&lt;br /&gt;・&lt;a href="https://sourceforge.jp/projects/sawarabi-fonts/releases/"&gt;さわらびフォント&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_76ucAFyAIec/Su7M9nl7rnI/AAAAAAAAAxs/fEbOYGvg_Ro/s1600-h/sawarabi-gothic.png"&gt;&lt;img style="display:block; margin:10px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 190px;" src="http://2.bp.blogspot.com/_76ucAFyAIec/Su7M9nl7rnI/AAAAAAAAAxs/fEbOYGvg_Ro/s320/sawarabi-gothic.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5399478362235973234" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9176013-6286552271883964527?l=bitwalk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitwalk.blogspot.com/feeds/6286552271883964527/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9176013&amp;postID=6286552271883964527' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/6286552271883964527'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/6286552271883964527'/><link rel='alternate' type='text/html' href='http://bitwalk.blogspot.com/2009/11/20091101.html' title='さわらびゴシック 20091101'/><author><name>bitWalk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_76ucAFyAIec/Su7M9nl7rnI/AAAAAAAAAxs/fEbOYGvg_Ro/s72-c/sawarabi-gothic.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9176013.post-7707211425509683992</id><published>2009-10-31T22:57:00.023+09:00</published><updated>2009-11-01T12:11:50.057+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><title type='text'>Android SDK</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s1600-h/fedora.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 43px; height: 44px;" src="http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s200/fedora.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5280249589920714050" /&gt;&lt;/a&gt;&lt;big&gt;A&lt;/big&gt;ndroid SDK をダウンロードしてエミュレータを Fedora で起動してみました。64bit 環境でも動作するかどうか、念のためチェックしましたが、肝心のエミュレータが動作しなかったので、32bit 環境で試した例を紹介します。下記のサイトから、Linux (i386) 用の圧縮ファイルをダウンロードします。&lt;br /&gt;&lt;br /&gt;[1] &lt;a href="http://developer.android.com/intl/ja/sdk/index.html"&gt;Android SDK | Android Developers&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;ダウンロードしたファイルを展開して、サブディレクトリ &lt;tt&gt;tools&lt;/tt&gt; 内にある &lt;tt&gt;android&lt;/tt&gt; を起動します。&lt;br /&gt;&lt;pre style="clear:both;"&gt;&lt;br /&gt;$ &lt;font color="black"&gt;tar zxvf android-sdk_r3-linux.tgz&lt;/font&gt;&lt;br /&gt;android-sdk-linux/&lt;br /&gt;android-sdk-linux/platforms/&lt;br /&gt;android-sdk-linux/SDK Readme.txt&lt;br /&gt;android-sdk-linux/tools/&lt;br /&gt;...&lt;br /&gt;android-sdk-linux/tools/traceview&lt;br /&gt;android-sdk-linux/add-ons/&lt;br /&gt;$ &lt;font color="black"&gt;cd android-sdk-linux/tools&lt;/font&gt;&lt;br /&gt;$ &lt;font color="black"&gt;ls&lt;/font&gt;&lt;br /&gt;NOTICE.txt  ddms         hierarchyviewer  mksdcard           zipalign&lt;br /&gt;adb         dmtracedump  hprof-conv       source.properties&lt;br /&gt;android     draw9patch   layoutopt        sqlite3&lt;br /&gt;apkbuilder  emulator     lib              traceview&lt;br /&gt;$ &lt;font color="black"&gt;./android &amp;amp;&lt;/font&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Android and AVD Manager のウィンドウが開きますので、まず Settings の画面で、Misc のチェックボタンにチェックを入れておきます。これは環境によっては必要がない操作だと思います。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_76ucAFyAIec/SuxdSYfYcgI/AAAAAAAAAxk/Ha_ebpxJI3Q/s1600-h/android-1.png"&gt;&lt;img style="display:block; margin:10px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 185px;" src="http://4.bp.blogspot.com/_76ucAFyAIec/SuxdSYfYcgI/AAAAAAAAAxk/Ha_ebpxJI3Q/s320/android-1.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5398792623703486978" /&gt;&lt;/a&gt;&lt;br /&gt;次に Available Packages を選びダウンロードするデータを選択し Install Selected をクリックします。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_76ucAFyAIec/SuxdM2JjQvI/AAAAAAAAAxc/ihiGhHgGols/s1600-h/android-2.png"&gt;&lt;img style="display:block; margin:10px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 185px;" src="http://1.bp.blogspot.com/_76ucAFyAIec/SuxdM2JjQvI/AAAAAAAAAxc/ihiGhHgGols/s320/android-2.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5398792528585769714" /&gt;&lt;/a&gt;&lt;br /&gt;Install Accepted ボタンをクリックすると、ファイルのダウンロードが始まります。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_76ucAFyAIec/SuxdI6wne_I/AAAAAAAAAxU/O5qfhcb-l9o/s1600-h/android-3.png"&gt;&lt;img style="display:block; margin:10px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 214px;" src="http://1.bp.blogspot.com/_76ucAFyAIec/SuxdI6wne_I/AAAAAAAAAxU/O5qfhcb-l9o/s320/android-3.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5398792461103889394" /&gt;&lt;/a&gt;&lt;br /&gt;選択したファイルのダウンロードとインストールが終わっても、自動的にはウィンドウが閉じないので Close をクリックして閉じます。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_76ucAFyAIec/SuxdFNMyt9I/AAAAAAAAAxM/TL1ww9Df_RM/s1600-h/android-4.png"&gt;&lt;img style="display:block; margin:10px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 214px;" src="http://1.bp.blogspot.com/_76ucAFyAIec/SuxdFNMyt9I/AAAAAAAAAxM/TL1ww9Df_RM/s320/android-4.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5398792397334427602" /&gt;&lt;/a&gt;&lt;br /&gt;次に Virtual Device で、New... をクリックして、仮想デバイスの定義ファイル（AVD ファイル）を作成します。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_76ucAFyAIec/SuxdAMshaZI/AAAAAAAAAxE/YUUAXmgXb6E/s1600-h/android-5.png"&gt;&lt;img style="display:block; margin:10px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 185px;" src="http://4.bp.blogspot.com/_76ucAFyAIec/SuxdAMshaZI/AAAAAAAAAxE/YUUAXmgXb6E/s320/android-5.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5398792311299729810" /&gt;&lt;/a&gt;&lt;br /&gt;test という名前をつけて、以下の様にしてみました。Create AVD ボタンをクリックします。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_76ucAFyAIec/Suxc8tQYPUI/AAAAAAAAAw8/pQoqq6jFb8I/s1600-h/android-6.png"&gt;&lt;img style="display:block; margin:10px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 222px; height: 320px;" src="http://1.bp.blogspot.com/_76ucAFyAIec/Suxc8tQYPUI/AAAAAAAAAw8/pQoqq6jFb8I/s320/android-6.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5398792251320581442" /&gt;&lt;/a&gt;&lt;br /&gt;AVD ファイルが作成されたというメッセージが出るので OK ボタンをクリックして閉じます。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_76ucAFyAIec/SuxcytNHWMI/AAAAAAAAAw0/y17bMKBzRTQ/s1600-h/android-7.png"&gt;&lt;img style="display:block; margin:10px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 110px;" src="http://4.bp.blogspot.com/_76ucAFyAIec/SuxcytNHWMI/AAAAAAAAAw0/y17bMKBzRTQ/s320/android-7.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5398792079508199618" /&gt;&lt;/a&gt;&lt;br /&gt;作成した test を選択して、Start... ボタンをクリックして、エミュレータを起動します。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_76ucAFyAIec/Suxcuk3D1vI/AAAAAAAAAws/yEUWxoR0vmQ/s1600-h/android-8.png"&gt;&lt;img style="display:block; margin:10px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 185px;" src="http://4.bp.blogspot.com/_76ucAFyAIec/Suxcuk3D1vI/AAAAAAAAAws/yEUWxoR0vmQ/s320/android-8.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5398792008548734706" /&gt;&lt;/a&gt;&lt;br /&gt;起動オプションを選択する画面が出ますが、とりあえず何も選択せず、Launch ボタンをクリックします。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_76ucAFyAIec/Suxcp9i7N3I/AAAAAAAAAwk/oc1r5Uaxl0k/s1600-h/android-9.png"&gt;&lt;img style="display:block; margin:10px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 274px; height: 320px;" src="http://1.bp.blogspot.com/_76ucAFyAIec/Suxcp9i7N3I/AAAAAAAAAwk/oc1r5Uaxl0k/s320/android-9.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5398791929275823986" /&gt;&lt;/a&gt;&lt;br /&gt;エミュレータが表示され、しばらく待つと起動が完了し、以下のような画面になります。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_76ucAFyAIec/Suxcip1jzkI/AAAAAAAAAwc/tR5aXQJxECs/s1600-h/android-c.png"&gt;&lt;img style="display:block; margin:10px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 226px;" src="http://4.bp.blogspot.com/_76ucAFyAIec/Suxcip1jzkI/AAAAAAAAAwc/tR5aXQJxECs/s320/android-c.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5398791803726188098" /&gt;&lt;/a&gt;&lt;br /&gt;試しに Browser を起動して Google のサイトを表示してみました。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_76ucAFyAIec/SuxccAUwJDI/AAAAAAAAAwU/RDdtDbAd8hY/s1600-h/android-d.png"&gt;&lt;img style="display:block; margin:10px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 226px;" src="http://3.bp.blogspot.com/_76ucAFyAIec/SuxccAUwJDI/AAAAAAAAAwU/RDdtDbAd8hY/s320/android-d.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5398791689503515698" /&gt;&lt;/a&gt;&lt;br /&gt;ブックマークしたページが、以下の様に一覧で表示されます。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_76ucAFyAIec/SuxcWEa_a5I/AAAAAAAAAwM/ZDOfcfBJVVA/s1600-h/android-e.png"&gt;&lt;img style="display:block; margin:10px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 226px;" src="http://2.bp.blogspot.com/_76ucAFyAIec/SuxcWEa_a5I/AAAAAAAAAwM/ZDOfcfBJVVA/s320/android-e.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5398791587524209554" /&gt;&lt;/a&gt;&lt;br /&gt;手持ちの Windows Mobile 携帯をまだ使いこなしていないというのに、新しいものが出ると使ってみたくなります。エミュレータのおかげで、お金の浪費は避けられますが、Windows Mobile の場合と異なり、Linux 上でも開発ができるのはちょっと嬉しいです。&lt;br /&gt;&lt;br /&gt;じっくりこの SDK で評価してみて、日本で魅力的な Android 搭載の携帯が発売されれば、それなりに乗り換えを検討してみようと思います。&lt;br /&gt;&amp;nbsp;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9176013-7707211425509683992?l=bitwalk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitwalk.blogspot.com/feeds/7707211425509683992/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9176013&amp;postID=7707211425509683992' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/7707211425509683992'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/7707211425509683992'/><link rel='alternate' type='text/html' href='http://bitwalk.blogspot.com/2009/10/android-sdk.html' title='Android SDK'/><author><name>bitWalk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s72-c/fedora.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9176013.post-1190662846384209381</id><published>2009-10-29T21:43:00.003+09:00</published><updated>2009-10-29T21:45:25.324+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='R'/><title type='text'>R 2.10.0</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_76ucAFyAIec/SQG1vBeJNzI/AAAAAAAAAM8/iDP1eaeHlhs/s1600-h/Rlogo.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 31px; height: 23px;" src="http://1.bp.blogspot.com/_76ucAFyAIec/SQG1vBeJNzI/AAAAAAAAAM8/iDP1eaeHlhs/s320/Rlogo.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5260685659198797618" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;big&gt;1&lt;/big&gt;0 月 26 日付けで R 2.10.0 がリリースされていました。&lt;br /&gt;&lt;br /&gt;[1] &lt;a href="http://cran.r-project.org/"&gt;The Comprehensive R Archive Network&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9176013-1190662846384209381?l=bitwalk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitwalk.blogspot.com/feeds/1190662846384209381/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9176013&amp;postID=1190662846384209381' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/1190662846384209381'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9176013/posts/default/1190662846384209381'/><link rel='alternate' type='text/html' href='http://bitwalk.blogspot.com/2009/10/r-2100.html' title='R 2.10.0'/><author><name>bitWalk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_76ucAFyAIec/SQG1vBeJNzI/AAAAAAAAAM8/iDP1eaeHlhs/s72-c/Rlogo.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9176013.post-1104232964052466266</id><published>2009-10-24T22:41:00.009+09:00</published><updated>2009-10-25T00:18:57.637+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MinGW クロスコンパイラ'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><title type='text'>GCC のランタイムパッケージ</title><content type='html'>&lt;a href="http://sourceforge.net/projects/mingw-cross"&gt;&lt;img src="http://sflogo.sourceforge.net/sflogo.php?group_id=204414&amp;amp;type=10" width="80" height="15" alt="Get MinGW Cross Compiler at SourceForge.net. Fast, secure and Free Open Source software downloads" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s1600-h/fedora.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 43px; height: 44px;" src="http://4.bp.blogspot.com/_76ucAFyAIec/SUc3BqygTUI/AAAAAAAAASM/o2jFxZ-ia3w/s200/fedora.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5280249589920714050" /&gt;&lt;/a&gt;&lt;big&gt;F&lt;/big&gt;edora における MinGW クロスコンパイル環境でビルドしたプログラムを Windows 上で手軽に実行できるように、GCC のランタイムパッケージのインストーラを Windows 用に作成し、公開しました。&lt;br /&gt;&lt;tt&gt;libgcc_s_sjlj-1.dll&lt;/tt&gt; と &lt;tt&gt;mingwm10.dll&lt;/tt&gt; を収録していて、デフォルトで、&lt;tt&gt;C:\Prog
