2011-08-22

8 月連休の成果

年の会社の夏期休暇は 8/13 - 8/21 の 9 日間もあり、さらに 8/22 を有休にしてしまいました。5 月の連休で、重回帰分析のための ContourMap 実現に目処がついたので、次はアプリケーションとして利用するためのプラットフォーム作りに取り組もうと考えていました。ContourMap を作成するだけの単機能なアプリケーションではなく、基本的な統計解析をこなし、自分の趣味に合ったグラフを作成してくれるようなツール、加えて ContourMap を存分に活用できる実験計画法などのアドバンスな解析にも対応できるようにすることが目標です。

ともあれ、まずは簡単なグラフ、手始めにトレンドグラフを作成できるツールを作ることをこの夏期休暇の目標としました。しかし振り返ってみると、この目標はハードルが高かったように思います。なにがしかのグラフを作成するにはデータが必要になります。したがってスプレッドシート状のテーブルを用意したくなります。そうするとデータやグラフなど複数のウィンドウを扱うことになるので、汎用的な使用に耐えるベースとなる GUI を用意しておかなければなりません。

GUI の構成としては、MDI にするか、タブで切り替えるか、あれこれ悩み、結局両方とも利用することにしました。一式のデータセットに対して、ひとつの子ウィンドウを割り当て、その中でタブを切り替えてグラフや解析結果を表示する、という作りです。まともな仕様を決めずに試行錯誤を重ねてしまったため、この基本的なウィンドウ制御を作り込むのに、休みの大半を費やしてしまいました。休みの成果として、せめてグラフらしいものを表示したいと、最後の日曜日に突貫工事でトレンドグラフを表示できるようにしました。グラフを描画するプログラムを書くより、ウィンドウ制御のケアの方が、はるかに時間がかかっています。現状は以下のような出来です。

まずは、サンプルのデータを読み込んだ状態。今のところ CSV 形式のファイルしか読み込めません。


トレンドグラフを描画した状態。まだ未完成です。目盛の表示処理に時間をかけた割には、出来が今ひとつ。グラフタイトルや軸ラベルの表示がまだできていないし、グラフを編集するためのツールボックスが欲しい。グラフを画像出力できるようにする機能が最低限必要ですが、未対応です。簡単にコピペできるともっといいのですが…。


グラフに求める機能が多すぎて、納得できるレベルまで持っていくのには時間がかかりそうです。9 月の連休には、少し前進したいですね。公開できるようなレベルの完成度になるのはいつのことか、道のりは長い…。

ちなみに以下は Windows 上で実行した例です。Look & Feel はケアしていませんが、マルチプラットフォーム対応は必要条件です。


2011-06-29

「太陽系はここまでわかった」を読んで

IT 関係の本ではありませんが、宇宙探査とそれにまつわる技術開発のロマンを感じた本でした。宇宙探査の話は IT と結構密接な関係があったりもしますが、本書は半導体技術と探査機との関係をフォーカスしているわけではないので、結構気楽に読みこなせます。嬉しいことに 2011 年の文庫本化の際に、著者の加筆修正が加わった最新の内容になっています。

最近の宇宙探査の話題は、インターネットなどで断片的にしか確認していなかったのですが、本書を読むことで歴代の探査から現在まで一気に系統立てて成果を確認できてしまいました。報道ではあまり伝えられていないかもしれない NASA や JPL のチャレンジや失敗もなかなか興味深かったです。決して専門的過ぎるということではないのですが、ほど良く専門的な内容がちりばめられていて、しかも無理に易しい用語を選んで説明しようとはしていないところに却って好感が持てました。

太陽の章から始まり、おおむねそそれぞれの惑星のことを一つの章として順番に解説されています。最終章は冥王星カイパーベルトです。ここで太陽系外惑星の発見についてもページが割かれています。個人的には、お隣の惑星である金星と火星の章が特に面白く読めました。

子供の頃、朝刊の一面を飾ったヴァイキング一号が送ってきた火星の地上の画像は、それが単なる(着色処理がされている)赤茶けた荒地であれ、遠く宇宙空間を隔てた隣の惑星から送られてきた画像ということで、その技術の凄さに衝撃を受けたことを今でも憶えています。その後、火星探査は何度も繰り返されたにも関わらず、新しい発見に対する感動はだんだんと薄れてきてしまいました。やはり生命が存在する可能性が極めて低いからでしょうか。

生命の存在可能性という点では、木星の衛星探査の話も興味深かったです。地球外生命体はまだ発見されていないけれど、我々地球は宇宙で、いや太陽系内でただ一つの生命を育む惑星ではないことを、そう遠くない日に発見できれば…、夢が膨らみます。

2011-05-07

Contour Map - 5 月連休の成果

4 月 30 日から始まった(私の)今年の 5 月の連休も、残りあと 2 日となりました。そろそろ、通常の生活リズムに戻さないといけません。今回の連休では、Fedora 15(ベータ版)のクリーンインストールの他に、もうひとつ取り組みたいことがありました。それは、Contour Map(等高線図)を描くプログラムを作ることでした。

等高線図と言うと、地図の等高線図を想像するかもしれませんが、今回、興味があったのは、汎用の等高線図描画プログラムを作ることではなく、既知の複数の関数、特に高々 2 次の多項式 z = f(x, y) を、等高線図にして重ね合わして表示できるプログラムを作ることでした。具体的には、例えば参考文献 [1] や [2] に示されているような RSM (Response Surface Methodology, 応答曲面法) を利用した統計解析をするための、基本プログラムを作ることです。ポピュラーなデータ分析ツールの一つである JMP[3] でも、応答曲面を扱う機能があります。会社では JMP も使っていますが、個人で買うには高価ですし Linux は適用外です。それに、個人的には JMP のこの機能には満足していません。

昔、RSM を利用した実験および解析をするのに、BBN RS/Discover, RS/Explorer というソフトウェアを VAXstationSun OS のワークステーション上で使っていました。いつの頃の話だと言うぐらい古い話です。実験して最適解を探し出したいエンジニアにとって、痒いところに手が届く、大変よくできた素晴らしいソフトウェアだったのですが、残念なことに今は販売されていないようです[4]。そもそも、べらぼうに高価なソフトウェアでした。RPL (RS Programming Language) という言語が利用でき、半導体製造ラインのデータを収集して、統計処理をすることに威力を発揮しましたが、そんなことは、今時のソフトウェアであれば選択肢がいくらでもあります。しかし、応答曲面法の解析の部分については、使いやすさを含めて、期待を上回るソフトウェアに出会っていません。

このように興味のある機能が限定的であるので、いっそ、自分で作ってしまおうと考え、ずーっと取り組んでいます。いまだに Tcl/Tk と付き合っているのも、根底には Contour Map をはじめとしたグラフを GUI 化しやすいプログラミング言語を常に使えるようにしておきたい、という思いがあるからです。実際、Contour Map を描画するプログラムは、Tcl/Tk と C 言語を組み合わせて、何年も前から何度も作ってきました。しかし、何度作っても納得できるプログラムにならず、発展させることができませんでした。とにかく、コーディングが美しくないのです。お客様に期限までに納品しなければならないような場合、それでもなんとか使い物になるレベルまで仕上げなければなりませんが、幸い、そういう縛りはありません。本件は、自分が納得できるプログラムに仕上げることがとても重要なのです。

今回はプログラミング言語を Java に変えてみました。プログラミング言語を変えても、基本的なアルゴリズムが変わるわけではありませんので、同じといえばそうなのですが、やはりクラスに機能をまとめると、幾分すっきりしたプログラム構成になります。Java での計算速度を心配していましたが杞憂でした。全然ストレスを感じません。実行例を下記に示しました。


この連休中のマイルストーンは、複数の任意の 2 次多項式

z = f(x, y) = c0 + c1x2 + c2x + c3xy + c4y + c5y2 (ただし c1 ≠ 0, c5 ≠ 0)

を Contour Map で表現することでしたので、所期の目的は達成できたことになります。

しかし残念ながら、以前 Tcl/Tk と C 言語で作ったときと同様に、IF 文だらけで重複した処理がごちゃごちゃたくさんある、という作りは変わっていません。今後時間をかけて整理していきます。今年のお盆の連休に、なにか公開できるようなレベルになっているといいな。(気の長い話です。)

余談ですが、Fedora 15 の新しい Gnome 3 デスクトップの操作にも慣れてきました。画面を切り替えるのに Alt + Tab の使用頻度が激増です。

参考文献

[1] Application of Response Surface Methodology to Evaluation of Bioconversion Experimental Conditions
[2] (株)日科技研:応答曲面法(RSM) 一特性の最適化とは(実験計画法) | 機能・手法一覧
[3] JMP -- 探索的統計解析ソフトウェア | データ分析 - 統計 - Six Sigma - 実験計画法(DOE)
[4] ジーリンクシステムコンサルティング株式会社

2011-04-30

Fedora 15 Beta リリースをインストール

が勤めている会社の場合、今年は 4 月 30 日から連休、いわゆるゴールデンウィークが始まりました。この時期は新しいリリースの Fedora をクリーンインストールすることが年中行事のようになってしまっています。できることであれば、RC 版か正式版をインストールしたいのですが、Fedora 15 はまだベータ版までしかリリースされていません。ある程度のトラブルは覚悟して、ベータ版をメインの 64 bit 機にインストールしてみました。

デスクトップ用途でインストールしてログインするとビックリです。VMware Player でアルファ版を試用していたときは気がつきませんでしたが、画面がまるでスマートフォンです。
今回、ベータ版をインストールして確認をしましたが、どうやら、私の VMware Player の環境では Gnome 3 shell が正しく起動できていないようです。

最近の Linux のデスクトップ事情にすっかり疎くなってしまった感があります。日経 Linux とか読まないと時流に追いついていけないのかな?いや、ただ単に Gnome 3 の情報に疎いだけかも…。

まだ使いにくいのですが、慣れれば苦にならなくなるでしょう、きっと。



インストール後に気になったことは、有線ネットワークがデフォルトで有効になっていなかったことです。ネットワークが使えるものだと信じ込んでいたので、パッケージのアップデートができず慌てました。

参考サイト

[1] 2. Fedora の変更点 - デスクトップユーザー向け
[2] GNOME 3 - Made of Easy
[3] Linux Daily Topics:2011年4月5日 Fedora 15のGNOME 3は慣れるまでに時間がかかるかも
[4] GnomeShell/Tour - GNOME Live!

2011-04-15

NaTcl を試す

NaTcl -- Native Client Tcl Module は、Chrome の Native Client (NaCl) サンドボックス で Tcl スクリプトを走らせ、HTML5 の canvas に直接アクセスすることができます[1]

Google の Native Client (NaCl)[2]を利用すると、Webブラウザからネイティブコードを安全に実行することができるのだそうです。そういえば、Chrome でネイティブコードが実行できるようになるなんて話が確かにありましたが、恥ずかしながら、すっかり忘却の彼方です。そういうわけで仕組みが解っていないのですが、とにかくインストラクションにしたがって動かしてみました。

使用した環境は、Fedora 14 (x86_64) 上の Google Chrome 11.0.696.43 beta です。

まず、Google Chrome で URL に about:flags を入力して「試験運用機能」の画面を表示します。そこで、ネイティブ クライアントを有効にします。

一旦、Google Chrome を全て終了し、コンソール上で google-chrome--no-sandbox オプションをつけて起動します。

起動した Google Chrome で、参考サイト[1] をサクセスすると、以下のように Google の図形が表示され、マウスのポインタを近づけると、それに応じたアニメーションを見ることができます。

まだ NaTcl を使いこなすことはできませんが、ちゃんと使いこなせばおもしろいことができそうです。今後、Tk widget が動く NaTk というのも使えるようになるということで、第二の Tcl Plugin とも呼べる環境で Web プログラミングが楽しめるようになりそうです。

参考サイト

[1] NaTcl : Tcl in Nacl
[2] Native Client SDK - Google Code
[3] Tcl Announces NaTcl: Native Client Tcl - Slashdot

2011-04-03

ReactOS 0.3.13

3 月 22 日付で ReactOS 0.3.13 がリリースされていました[1]。VMware 用のイメージをダウンロードして、VMware Player で起動してみました。

リリースノート[2] によると、
  • ダイナミックビデオモードスイッチの実装とグラフィックスドライバの互換性向上
  • いくつかのグラフィクスの問題を修整
  • 完全に作り直された、デバッグができるヒープマネージャー
  • オーディオミキサーラインの管理を向上
  • ユーザーのサブシステムにおける深刻なバグを解消
  • Firefox や Thunderbird などのアプリケーションにおけるビジュアルアーティファクツ(?)の修整
  • インストーラのバグをいくつか修整
  • あらたなアプリケーション対応
    • Stellarium 0.10.2
    • LHelp
    • winpcap
    • FlashPlayer 10.1
    • Mono 2.8
    • OllyDbg 1.10
    • Xenon 2000
    • VLC 1.1.5
    • Foobar 2000
    • Skype 4.0.0
  • 対応する SATA デバイスを増やした。
  • メモリーマネージャーにおける数多くの改善
気のせいかもしれませんが、動作が前よりきびきびしているように感じます。ReactOS が安定し、主要なアプリケーションを動かせるようになったら、廉価な PC あるいは中古の PC を買ってテスト機として使ってみたいものです。いよいよ次のリリースは 0.4 の番号が付くかもしれません。

参考サイト

[1] Frontpage - ReactOS ウェブサイト
[2] The ReactOS team is proud to announce the release of ReactOS 0.3.13.

2011-04-02

Fedora 15 Alpha リリースを試す

Fedora 15 の Alpha リリース[1] をインストールしてみました。正式なリリースまで待ちきれませんでした。
ちなみに正式なリリースは、リリーススケジュール[2] によると、今日時点で、当初の予定より 2 週間遅れて 5 月 24 日となってしまっています。

Fedora 15 Alpha のリリースノート[3] によると、今回のリリースの主な目玉は次のようになっています。
  • GNOME 3
  • LibreOffice
  • systemd
  • Dynamic Firewall
  • DNSSEC for workstations
  • KDE 4.6
  • BoxGrinder
  • ...

DVD のイメージ (i386) からクリーンインストールをした後、パッケージをアップデートしました。その状態のスクリーンショットを紹介します。そのため、インストーライメージからインストールした直後の状態とは異なっています。
【ご注意】Fedora 15 Alpha リリースの今日時点でのスクリーンショットですので、正式リリースでは異なる可能性があることをご理解ください。

まずログイン画面です。背景のイメージは相変わらず寒色系ではありますが、抽象的な幾何学的、鋭角的デザインは影をひそめ、ずいぶん親しみやすい具体的なイメージになっています。

ログイン後の画面です。一瞬、Ubuntu 10.10 の Gnome デスクトップかと思ってしまいました。システム設定のメニューが、メニューバーの右側に移っています。デスクトップ上のアイコンは(デフォルトでは)無くなりました。

システムの設定は Windows のコントロールパネルのように一つにまとまりました。それぞれのアイコンはワンクリックで起動します。

オフィススイーツは、OpenOffice.org から LibreOffice に変更になっています。なかなか早い対応にビックリです。

ちなみに MinGW クロスコンパイラのパッケージ群は、精査はしていませんが、Fedora 14 のものと変わらないように見えました。

参考サイト

[1] 次の Fedora を入手する − Fedora Project
[2] Releases/15 - FedoraProject
[3] Fedora 15 Alpha release notes - FedoraProject
[4] アルファ版とは【alpha version】(α版) - 意味/解説/説明/定義 : IT用語辞典

2011-03-20

Apache Rivet 2.0.3

3 月 19 日付けで Apache Rivet 2.0.3 がリリースされました。[1]
早速 Fedora 用 RPM を作成して Sourceforge.jp の作業部屋にアップしました。[2]
今回は x86_64 用の他に i686 用にも RPM パッケージを作成しました。

Date: Tue, 1 Mar 2011 23:32:43 +0100 From: "Massimo Manghi" <massimo.manghi at unipr.it> To: <rivet-dev at tcl.apache.org> Subject: Rivet 2.0.3 In branches/2.0 is now the code candidate to become Rivet 2.0.3. A module for Apache 1.3 or Apache 2.2 can be build out of it. Notes about this branch. - command 'apache_log_error' and 'apache_table' had been left out of apache-1/rivetCore.c. Their code was adapted to compile with the 1.3 API and they are now working. - AbortScript and AfterEveryScript script support has been backported along with the new form for the 'abort_page' command, now accepting an optional parameter that can be retrieved by means of the command 'abort_code'. I will call soon for a vote on releasing this code as Rivet 2.0.3. -- Massimo
Date: Sat, 19 Mar 2011 12:58:07 +0100 From: "Massimo Manghi" <massimo.manghi at unipr.it> To: <rivet-dev at tcl.apache.org> Subject: Rivet 2.0.3 released Rivet 2.0.3 has been released as GA code and it's been uploaded to the Apache website. As soon as the source archive has spread throughout the mirrors of Apache I will update the website with the release notes and send on comp.lang.tcl a message announcing it. -- Massimo

参考サイト

[1] Rivet - Webscripting for Tcl'ers
[2] 作業部屋: bitwalk / Apache Rivet RPM のファイルダウンロード

2011-02-12

MinGW-w64 で Tcl/Tk をコンパイル(32bit 用)

Cygwin を、用事があって Windows に久しぶりにインストールしたところ、 MinGW-w64 (GCC for both x64 & x86 Windows!)[1] を利用できることを知りました。

そこで、(当初は Fedora 15 からとアナウンスされましたが)Fedora 16 では、MinGW のクロスコンパイル環境が、MinGW-w64 のプロジェクトの成果を利用することになるようなので、それに備えて、Tcl/Tk については比較用に Cygwin/MinGW-w64 でビルドしたものをリファレンスパッケージとして公開していこうと考えています。

とりあえず nightly-CVS からダウンロードした Tcl と Tk のソースをコンパイルしたものを Inno Setup[2] でインストールパッケージ (tcltk8.6b1-020-20110212.exe) にして、SourceForge.jp の作業部屋へアップしました[3]


参考サイト

[1] GCC for both x64 & x86 Windows! - MinGW-w64
[2] Inno Setup
[3] 作業部屋: bitwalk / Tcl/Tk for Windows - SourceForge.JP

2011-01-30

【備忘録】ARM の話題あれこれ

世代の Windows では、ARM もサポートされるというニュースが今年になって報道されました[1]。今後、デスクトップ PC のような用途でも ARM 系の CPU を搭載したものがもっと発売されるようになるかもしれないと期待しています。ARM のプロセッサを搭載したデスクトップタイプの PC が利用できると、手軽に開発環境を構築できるので、市場に多く流通して手頃な価格まで下がって欲しいと思っています。既に、ARM 系 NVIDIA Tegra 2 ベースの超小型デスクトップコンピュータが発表されたりもしています[2]。実際の販売価格がどうなるか楽しみです。

ARM と言えば、アップル社 iPhone などの iOS がサポートしていることが有名です。一方 Linux の ARM への対応はどうかといえば、Google Android を Linux の一種と見做せば ARM をサポートしている Linux として、最近では最も有名でホットな OS かもしれません。ARM のモバイル端末だけでなくノート PC のようなタイプでも Android が搭載されています。東芝製 dynabook AZ は代表的な例でしょう。

もっと一般的な Linux ディストリビューションでも ARM をサポートしています。シャープ製のモバイル端末 NetWalker は、i.MX515 (ARM)プロセッサを搭載しており OS は、Ubuntu 9.04 のシャープ・カスタマイズ版です。

Ubuntu/ARM の QEMU 用イメージが入手できます[3]ので、Fedora (x86_64) 上で試してみました。ウィンドウマネージャーは含まれていませんが、ARM 用パッケージの作成に利用できそうです。


ところで、Fedora では、まだ ARM をサポートしていないのかと思っていましたが、ちゃんとありました[4]。QEMU 用のイメージも入手可能[5]なので、試してみたのですが、こちらはうまくいきませんでした。自分の環境で、QEMU の設定に不備があるのかもしれません。さらに ARM のクロスコンパイル用パッケージが入手できることもわかりました[6]。近い将来、ARM 対応の Windows SDK が公開されれば、MinGW クロスコンパイル環境の ARM 版を比較的容易に準備できるかもしれません。楽しみです。

参考サイト

[1] Microsoft、WindowsをSoCに拡大 - ARMシステムもサポート
[2] NVIDIA Tegra 2 搭載の超小型デスクトップ Trim Slice
[3] ARM RootfsFromScratch
[4] Architectures/ARM - FedoraProject
[5] Architectures/ARM/HowToQemu - FedoraProject
[6] Architectures/ARM/CrossToolchain - FedoraProject
[7] Linux Support for the ARM Architecture

2011-01-22

Apache Rivet

Apache Rivet は Apache HTTP Server のモジュールで、PHP のようにサーバ・サイドで動的な Web ページを作成できる Tcl システムです[1]。Tcl を応用した他の Apache のモジュールには、mod_tclWebsh がありますが、Rivet の最新パッケージのリリースが 25-Oct-2010 と一番新しく、もっとも活動が活発なように感じたので試用してみました。現バージョンの Rivet 2.0 系は Apache 1.3 と 2.x に対応しています。Tcl はバージョン 8.5 あるいは 8.4 を必要とします。
Linux の RPM パッケージを作成するのに必要な spec ファイルが下の参考サイト [1] のダウンロードページにあったので、最新の Rivet-2.0.2 に対応できるように編集して Fedora 14 用のパッケージを作成し、インストールしてみたところ、簡単にローカルの Web サーバの環境で動作確認ができました。

[2] の Example のページで紹介されている、カレンダーを表示するサンプルを紹介します。
<? set hello_message "Calendar" ?>
<html>
  <head>
    <title><? puts $hello_message ?></title>
  </head>
  <body><?
package require Calendar

proc ::cal_cell_attributes {day month year weekday} {
    if {$weekday == 3} {
        return [list class curr_wkday]
    }
}

set htmlc [HtmlCalendar #auto]
set html_txt [$htmlc emit \
        -container {table class calendar} \
        -current_weekday 3 \
        -cell_function cal_cell_attributes]
puts $html_txt
?></body>
</html>
これを calendar.rvt というように、拡張子 rvt のついたファイル名で保存し、保存したファイルを Web サーバー (Apache) からブラウザで読み込むと以下のようになります。

最近、SourceForge.jp では、個人向け開発支援ツール「PersonalForge」がリリースされたので[2]、早速、自分のアカウントで「Apache Rivet RPM」という作業部屋を作成し、作成した RPM パッケージを公開しました[3]
 

参考サイト

[1] Rivet - Webscripting for Tcl'ers
[2] SourceForge.JP、個人向けGitリポジトリ/ストレージサービス「PersonalForge」をリリース
[3] 作業部屋: bitwalk / Apache Rivet RPM のファイルダウンロード
[4] Apache 関連書籍

2011-01-09

Ubuntu にトライ!

発用途には使用していない、32bit の古いノート PC (ThinkPad X31) に、Ubuntu をインストールしてみました。そもそものキッカケは、このところ fedora-release パッケージだけを新しくして yum コマンドで Fedora のバージョンアップを済ませてしまっていたので、Fedora 14 のクリーンインストールをし直したところ、AVI 形式などのビデオが totem で見れなくなってしまったからです。RPM Fusion のレポジトリを加えても解決できなかったので、このノート PC だけ Ubuntu に乗り換えてみました。

Ubuntu は使いやすさを重視しており、Debian や Fedora ほど厳格にはプロプライエタリなソフトウェアやクローズドソースな機能を排除していません。したがって、ビデオにおけるポピュラーかつプロプライエタリな形式のデコードも当然できるだろうと考えたからです。

Debian 系の Linux を使うのは、15 年以上 Linux を使い続けている中で初めての経験です。

まず Ubuntu 10.10 のデスクトップ版のインストールイメージ ubuntu-ja-10.10-desktop-i386.iso をダウンロードして、(ダメもとで)Fedora 上で dd コマンドで USB メモリに書き込んではみました。が、やはりこれだけでは USB メモリで起動できません。そこで、やむなく手許にあった音楽用のブランクの CD-R に dvdrecord コマンドで iso イメージを焼いてインストール CD を作成し、もうほとんど使っていない古い外付け CD ドライブを接続してインストールをしました。なんとか成功です。

インストール時にルートのパスワードを設定する箇所がなかったので、なんだか不安でしたが、sudo を使うことを後で知り、作法の違いを感じました(Fedora で su を使っている自分は、単にやり方が古いだけなのかもしれません)。

Fedora でもずいぶんインストールが簡単になってきたと感じていましたが、Ubuntu はさらにシンプルです。これであれば、Linux 初心者にも勧められそうです、コミュニティの活動の成果、特に Ubuntu Japanese Team の努力に感謝です。ビデオも問題なく totem で見れて満足です。Fedora の時と同じ Gnome のデスクトップなので、寒色系か暖色系かの差はあっても、操作性に大きな違いは感じません。しかし内部の deb パッケージの構成は rpm とは違うはずなので、これからゆっくり覚えていこうを思います。

なお 64bit の開発環境は、当面 Fedora のままでいこうと考えています。こっちはビデオが見れなくとも全然問題無いからです。

2011-01-04

The Cross Compiler Framework (Win32+Win64)

Fedora 15 から変更される予定の話題です。

mingw-w64 ツールチェインは win32 と win64 のターゲット両方をサポートしており、また本家 mingw.org よりも活発であることから、Fedora で採用されるクロスコンパイル環境は mingw-w64 プロジェクトベースのパッケージに統一されます。したがってパッケージ名のトリプレット 'i686-pc-mingw32' は、'i686-w64-mingw32' へ揃えられます。

さらに、次のステップとして 'mingw32-...' から 'cross-...' へパッケージ名が変更されるようです。

ちなみに、Fedora 15 のリリース予定は、現在のところ 2001 年 5 月 10 日です。【スケジュール

Subject: Announcing the Cross Compiler Framework (Win32+Win64)
From: Erik van Pienbroek <erik at vanpienbroek.nl>
To: mingw at lists.fedoraproject.org
Date: Mon, 03 Jan 2011 23:30:34 +0100
X-Mailer: Evolution 2.91.4 (2.91.4-1.fc15) 
Reply-To: "Fedora MinGW (Windows cross-compiler) project"
<mingw at lists.fedoraproject.org>
Sender: mingw-bounces at lists.fedoraproject.org

Hi everybody,

In the last few weeks I worked on creating a method to easily build and
maintain RPM packages for both Win32 as well as Win64 targets. Adding
support for the Mac OS X target should also be easily possible. This has
resulted in a set of RPM packages which I would like to call the Cross
Compiler Framework.

This set of RPM packages brings various changes to the Fedora MinGW
world. The most important one is that the mingw-w64 toolchain is now
used instead of the mingw.org toolchain. The reason behind this change
is that the mingw-w64 toolchain provides support for both win32 and
win64 targets and is more actively maintained than the mingw.org one.

So what does this mean for all users and packagers of the current
mingw32 packages which are already in Fedora? First of all, the name of
the triplet has changed from 'i686-pc-mingw32' to 'i686-w64-mingw32'.
This means that commands like for example gcc are now named
'i686-w64-mingw32-gcc'. All mingw32 files are now also saved in the
folder /usr/i686-w64-mingw32 instead of /usr/i686-pc-mingw32. Helper
scripts like 'mingw32-configure' also still work and refer to the new
set of commands and paths.

Next to this, various packages have been renamed from 'mingw32-...' to
'cross-...'. This is used to indicate that the package in question
contain binaries for multiple targets. If a package has been renamed
from 'mingw32-...' to 'cross-...' then the original 'mingw32-...'
package will be obsoleted by the 'cross-...' one.

All current mingw32 packages should build just fine against this new
framework (or with minor patching)

There are two repositories published at the moment containing the
packages belonging to the cross compiler framework. One contains
binaries for both win32 and win64 targets while the other one also
contains binaries for Mac OS X. The Mac OS X pieces can't be added to
Fedora at the moment because of legal issues and the fact that some
binary blobs (from the Mac OS X SDK) were used.

All current mingw32 packages which have been in Fedora as of December 30
2010 have been added to the testing repositories. About 32 packages have
been ported entirely to the new cross compiler framework.

More details about this cross compiler framework including information
about the testing repositories and a porting guide can be found at
http://fedoraproject.org/wiki/MinGW/CrossCompilerFramework

My plan is to get all the packages belonging to the cross compiler
framework in Fedora 15, rebuild all current mingw32 packages and
rename/port various packages in order to have win32/win64 support. On
the link mentioned above there's a plan indicating the steps required to
get everything in Fedora. I'll open review requests for the 5 base
packages soon and I hope that somebody can review them quickly so we can
still make it in time for the Fedora 15 feature freeze (which is about 5
weeks from now).

Feel free to test the testing repositories and report back any issues
you might find. Other feedback about the cross compiler framework is
welcome too. Help with the reviews is very much appreciated as well!

Kind regards,

Erik van Pienbroek


_______________________________________________
mingw mailing list
mingw at lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/mingw

2011-01-02

Linux 用プリンタドライバ(2)

年ほど前に調べた情報があるのですが、調べ直しました。価格.com のサイトで、「プリンタ 製品一覧 売れ筋ランキングの高い順」で表示されるトップ 100 ぐらのプリンタから、メーカーをピックアップして、Linux 用のプリンタドライバが公開されているかどうか調べました。全部の機種を確認していませんが、最近の売れ筋プリンタのドライバもカバーされているようです。

[1] Epson Inkjet Printer Driver (ESC/P) for Linux | アヴァシス株式会社
[2] キヤノン:サポート|ソフトウエアダウンロード
[3] Linux プリンタードライバーのダウンロード|サポート|ブラザー
[4] RICOH Pro/IPSiO SP/imagio MP用 Linux CUPS用 PPDファイル / 製品情報 | リコー
[5] Linux対応について: OS対応状況: サポート: レーザプリンタ: プリンタ: 周辺機器: 製品 | NEC
[6] Printers by Manufacturer | OpenPrinting - The Linux Foundation (HP)