2009-04-29

R で GUI プログラミング


R は、データ解析のために仕事で毎日のように使っています。あるプログラムを他の人にも使ってもらう可能性が出てきたので、GUI 化に取り組んでいます。GUI 用のライブラリには tcltk を使っています。理由は、慣れているので一番簡単だったからです。とはいえ、R 特有の書式があるので、戸惑うところもあります。意外と情報が少ないので、試行錯誤を繰り返しています。

R のプログラミング情報は、いずれまとめたいと考えていましたので、この際、R の GUI プログラミングの情報からまとめ始めようか検討中です。

仕事で使うので、モザイクで一部隠しての紹介ですが、結構いい感じのインターフェイスができあがりそうです。

2009-04-26

Workshop Complex

本ブログで書いた内容などをまとめたサイトを sitemix.jp に作りました。Tcl/Tk 以外の内容をこのサイトで扱おうと考えています。

Workshop Complex at bitWalk

まだまだ未完成ですが、この連休中にある程度整備する予定です。
 

2009-04-20

R 2.9.0


4 月 17 日付けで R 2.9.0 がリリースされていました。

[1] The Comprehensive R Archive Network
 

2009-04-17

Fedora 11 Beta の MinGW パッケージ


Fedora 11 Beta で利用できる、MinGW クロスコンパイル用パッケージを紹介します。Fedora 11 は、4 月 14 に開発がフリーズされ、4 月 28 日に Preview 版がリリースされる予定です。【リリース・スケジュール
そのため、現在 Rawhide から入手できる MinGW クロスコンパイル用パッケージが、リリース版で(最初に)利用できるパッケージだと考えられます。

$ rpm -qa | grep mingw32 | sort
mingw32-SDL-1.2.13-6.fc11.noarch
mingw32-atk-1.25.2-8.fc11.noarch
mingw32-atk-static-1.25.2-8.fc11.noarch
mingw32-binutils-2.19.1-4.fc11.x86_64
mingw32-bzip2-1.0.5-7.fc11.noarch
mingw32-cairo-1.8.6-1.fc11.noarch
mingw32-cairomm-1.8.0-1.fc11.noarch
mingw32-cpp-4.4.0-0.7.fc11.x86_64
mingw32-crossreport-6-2.fc11.noarch
mingw32-dlfcn-0-0.5.r11.fc11.noarch
mingw32-expat-2.0.1-4.fc11.noarch
mingw32-filesystem-50-3.fc11.noarch
mingw32-fontconfig-2.6.0-9.fc11.noarch
mingw32-freetype-2.3.8-3.fc11.noarch
mingw32-gcc-4.4.0-0.7.fc11.x86_64
mingw32-gcc-c++-4.4.0-0.7.fc11.x86_64
mingw32-gcc-gfortran-4.4.0-0.7.fc11.x86_64
mingw32-gcc-objc++-4.4.0-0.7.fc11.x86_64
mingw32-gcc-objc-4.4.0-0.7.fc11.x86_64
mingw32-gdbm-1.8.0-4.fc11.noarch
mingw32-gettext-0.17-10.fc11.noarch
mingw32-glib2-2.19.10-1.fc11.noarch
mingw32-glib2-static-2.19.10-1.fc11.noarch
mingw32-glibmm24-2.19.2-1.fc11.noarch
mingw32-gnutls-2.6.4-1.fc11.noarch
mingw32-gtk-vnc-0.3.8-5.fc11.noarch
mingw32-gtk2-2.15.5-2.fc11.noarch
mingw32-gtk2-static-2.15.5-2.fc11.noarch
mingw32-iconv-1.12-9.fc11.noarch
mingw32-jasper-1.900.1-8.fc11.noarch
mingw32-libgcrypt-1.4.4-3.fc11.noarch
mingw32-libgpg-error-1.6-11.fc11.noarch
mingw32-libjpeg-6b-10.fc11.noarch
mingw32-libltdl-1.5.26-13.fc11.noarch
mingw32-liboil-0.3.16-1.fc11.noarch
mingw32-libpng-1.2.35-1.fc11.noarch
mingw32-libsigc++20-2.2.2-6.fc11.noarch
mingw32-libxml2-2.7.2-8.fc11.noarch
mingw32-nsis-2.44-1.fc11.x86_64
mingw32-nsiswrapper-3-4.fc11.noarch
mingw32-openssl-0.9.8j-4.fc11.noarch
mingw32-pango-1.23.0-1.fc11.noarch
mingw32-pango-static-1.23.0-1.fc11.noarch
mingw32-pangomm-2.24.0-1.fc11.noarch
mingw32-pdcurses-3.4-5.fc11.noarch
mingw32-physfs-1.0.1-12.fc11.noarch
mingw32-pixman-0.13.2-4.fc11.noarch
mingw32-pthreads-2.8.0-7.fc11.noarch
mingw32-qt-4.5.0-4.fc11.noarch
mingw32-qt-qmake-4.5.0-3.fc11.x86_64
mingw32-qwt-5.1.1-6.fc11.noarch

mingw32-readline-5.2-6.fc11.noarch
mingw32-runtime-3.15.2-3.fc11.noarch
mingw32-sqlite-3.6.6.2-3.fc11.noarch
mingw32-termcap-1.3.1-7.fc11.noarch
mingw32-w32api-3.13-3.fc11.noarch
mingw32-wpcap-4.1.beta5-2.fc11.noarch
mingw32-wpcap-docs-4.1.beta5-2.fc11.noarch
mingw32-wpcap-examples-4.1.beta5-2.fc11.noarch
mingw32-zlib-1.2.3-15.fc11.noarch
mingw32-zlib-static-1.2.3-15.fc11.noarch
$

GUI ライブラリには C/C++ 用に GTK+Qt/Qwt が利用できます。この機会に Qt/Qwt のプログラミングを始めてみようかと考えています。

ちなみに(32 bit パッケージがかなり混ざるので、今回インストールを躊躇していましたが、結局)wine をインストールして、mingw32-gtk2-2.15.5-2.fc11.noarch に同梱されている gtk-demo.exe を実行してみました。

$ wine cmd
CMD Version 1.1.18

Z:\home\bitwalk>gtk-demo


以前のパッケージではエラーで実行できませんでしたので、一歩前進ですが、文字化けがひどくて、残念ながら使い物になりません。
 

2009-04-16

Tcl/Tk 8.5.7 リリース


Tcl/Tk 8.5.7 が 4 月 15 日付けでリリースされました。8.6 の β2 は、まだ RC 版が出ていないので、このタイミングではリリースされないみたいです。

Date: Thu, 16 Apr 2009 00:55:45 -0400
From: dgp at nist.gov
To: tcl-core at lists.sf.net
Subject: [TCLCORE] Tcl/Tk 8.5.7 RELEASED

Tcl/Tk 8.5.7 Release Announcement
April 15, 2009

The Tcl Core Team is pleased to announce the 8.5.7 releases of the Tcl
dynamic language and the Tk toolkit. This is the seventh patch release
of Tcl/Tk 8.5. More details can be found below. We would like to
express our gratitude to all those who submit bug reports and patches.
This information is invaluable in enabling us to identify and eliminate
problems in the core.

Where to get the new releases:
------------------------------

Tcl/Tk 8.5.7 sources are freely available as open source from the
Tcl Developer Xchange web site at:

http://www.tcl.tk/software/tcltk/8.5.html

This web page also contains additional information about the releases,
including new features and notes about installing and compiling the
releases. Sources are always available from the Tcl SourceForge
project's file distribution area:

http://sourceforge.net/project/showfiles.php?group_id=10894

Binaries for most major platforms are available from:

http://www.activestate.com/Tcl

For additional information:
---------------------------

Please visit the Tcl Developer Xchange web site:

http://www.tcl.tk/

This site contains a variety of information about Tcl/Tk in general, the
core Tcl and Tk distributions, Tcl development tools, and much more.

Summary of Changes since Tcl/Tk 8.5.6:
--------------------------------------

The following were the main changes in Tcl/Tk 8.5.7. A complete list
can be found in the changes file at the root of the source tree. The
more complete ChangeLog is also included with each source release. This
is a patch release, so it primarily includes bug fixes and corrections
to erratic behavior. Below are only the most notable changes.

* Embeddable CoreFoundation notifier on Darwin.

* Improved compatibility support in [load] on Darwin.

* Restored Tk_CreatePhotoImageFormat compat with aMSN.

* Stopped blurry large fonts on Vista.

* New version 1.0.3 of platform package:
- more details in identifiers for Darwin

* New version 2.7.3 of http package:
- fixes connect failure when partial lines returned

* New version 2.3.1 of tcltest package:
- removes several unsafe [eval]s

* Menu image display fixes.

* Fixed crash in Tk_MakeWindowExist() seen with gitk.

* Fixed [file pathtype] on volumerelative paths.

* Extended virtual events to work when Caps Lock is on.

* Stopped memory leak in [file normalize].

* Fixed crash on exit with [chan create]d channels.

* Prevent crashes overflowing max string lengths.

* Improved support for MSVC builds on _WIN64 systems.

--
Tcl Core Team and Maintainers
Don Porter, Tcl Core Release Manager

------------------------------------------------------------------------------
Stay on top of everything new and different, both inside and
around Java (TM) technology - register by April 22, and save
$200 on the JavaOne (SM) conference, June 2-5, 2009, San Francisco.
300 plus technical and hands-on sessions. Register today.
Use priority code J9JMT32. http://p.sf.net/sfu/p
_______________________________________________
Tcl-Core mailing list
Tcl-Core at lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tcl-core

2009-04-11

Fedora 11 Beta


週末、Fedora 11 Beta を試してみようと、メインのデスクトップ PC (x86_64) で使っている Fedora 10 を、アップグレードしてみました。しかし、インストールの最後でエラーが出て、GRUB で OS が起動しなくなってしまいました。レスキュー処理で GRUB を復活させて、なんとか Fedora の起動が始まるところまでたどりましたが、起動の途中で止まってしまいます。仕方なくホームディレクトリのデータのバックアップを取ってから、クリーン・インストールしようとしましたが、時間切れでこの週末まで、作業を見合わせていました。

で、今日、ようやくバックアップが終わり、クリーン・インストール(と言っても Windows Vista とのデュアルブートです)をしましたが、やはり最後でインストーラがエラーで止まってしまいました。念のためデバッグ情報をチェックしてみると、インストールの一番最後の DVD のイジェクトに失敗してエラーになっているようなので、インストールそのものは多分問題ないと考え、そのまま再起動。無事 OS が立ち上がりました。起動時間が Fedora 10 の時と比べて明らかに短縮されているように思いました。

まず、画面の解像度とキーボードの設定をしました。現在、Rawhide からパッケージをアップデート中です。

今回、x86_64 のシステムを、ごく普通にインストールしてみて、インストールされるパッケージは全て x86_64 のものなんだということに気がつき、ちょっと驚いています。今までは、クリーン・インストールではなく、アップグレードを重ねてきたため、wine に必要な i386 のパッケージがインストールされていて、i386 と x86_64 の共存が普通だと思っていたのでした。もちろん、ブラウザのプラグインやプリンタドライバが 32 ビット対応だけだったりと wine のせいだけではありませんが、今まで、結構な数のパッケージが 32 ビット用と 64 ビット用が共存していました。

この機会に 64 ビットのシステムは (なるべく)64 ビット用のパッケージだけで構築してみたいと考え、i386 パッケージで供給されている wine は、まだインストールしていません。wine は ノート PC の i386 マシンの方で利用して、x86_64 システムの MinGW クロスコンパイル環境でコンパイルした win32 用パッケージを NFS で共有しようかと考えています。

[1] Fedora レスキュー - 悠汰のブログ - Yahoo!ブログ
[2] ダークサイドの呟き: 起動しないFedora
[3] レスキューCDを使ってfedora 8 をインストールする!
[4] Re: 緊急事態発生 Fedoraが起動しない 追記
[5] 「64ビット」PCはだれにとって必要か
[6] 64ビットコンピューティング: 32ビット環境での共存
 

2009-04-06

DVDを焼く


まにしか DVD-R などに iso ファイルを焼かないので、すぐコマンドの細かいところを忘れてしまいます。備忘録として書き留めておこう。

まず、DVD ドライブのデバイス確認
$ dvdrecord -scanbus
scsibus2:
2,0,0 200) 'HL-DT-ST' 'DVDRAM GSA-H62N ' 'CL00' Removable CD-ROM
2,1,0 201) *
2,2,0 202) *
2,3,0 203) *
2,4,0 204) *
2,5,0 205) *
2,6,0 206) *
2,7,0 207) *
$


DVD 焼き付け例
$ su
パスワード:
$ dvdrecord -v speed=4 dev=2,0,0 Fedora-11-Beta-x86_64-DVD.iso
dvdrecord: No write mode specified.
dvdrecord: Asuming -tao mode.
dvdrecord: Future versions of wodim may have different drive dependent defaults.
TOC Type: 1 = CD-ROM
scsidev: '2,0,0'
scsibus: 2 target: 0 lun: 0
WARNING: the deprecated pseudo SCSI syntax found as device specification.
Support for that may cease in the future versions of wodim. For now,
the device will be mapped to a block device file where possible.
Run "wodim --devices" for details.
Linux sg driver version: 3.5.27
Wodim version: 1.1.8
SCSI buffer size: 64512
Device type : Removable CD-ROM
Version : 5
Response Format: 2
Capabilities :
Vendor_info : 'HL-DT-ST'
Identification : 'DVDRAM GSA-H62N '
Revision : 'CL00'
Device seems to be: Generic mmc2 DVD-R/DVD-RW.
Current: 0x0011 (DVD-R sequential recording)
Profile: 0x0012 (DVD-RAM)
Profile: 0x0011 (DVD-R sequential recording) (current)
Profile: 0x0015 (DVD-R/DL sequential recording)
Profile: 0x0016 (DVD-R/DL layer jump recording)
Profile: 0x0014 (DVD-RW sequential recording)
Profile: 0x0013 (DVD-RW restricted overwrite)
Profile: 0x001A (DVD+RW)
Profile: 0x001B (DVD+R)
Profile: 0x002B (DVD+R/DL)
Profile: 0x0010 (DVD-ROM)
Profile: 0x0009 (CD-R)
Profile: 0x000A (CD-RW)
Profile: 0x0008 (CD-ROM)
Profile: 0x0002 (Removable disk)
Using generic SCSI-3/mmc DVD-R(W) driver (mmc_mdvd).
Driver flags : SWABAUDIO BURNFREE
Supported modes: PACKET SAO
Drive buf size : 1114112 = 1088 KB
Beginning DMA speed test. Set CDR_NODMATEST environment variable if device
communication breaks or freezes immediately after that.
Drive DMA Speed: 18591 kB/s 105x CD 13x DVD
FIFO size : 4194304 = 4096 KB
Track 01: data 4154 MB
Total size: 4770 MB (472:40.20) = 2127015 sectors
Lout start: 4771 MB (472:42/15) = 2127015 sectors
Current Secsize: 2048
HINT: use dvd+rw-mediainfo from dvd+rw-tools for information extraction.
Blocks total: 2298496 Blocks current: 2298496 Blocks remaining: 171481
Speed set to 5540 KB/s
Starting to write CD/DVD at speed 4.0 in real unknown mode for single session.
Last chance to quit, starting real write in 0 seconds. Operation starts.
Waiting for reader process to fill input buffer ... input buffer ready.
Performing OPC...
Starting new track at sector: 0
Track 01: 4154 of 4154 MB written (fifo 100%) [buf 100%] 4.1x.
Track 01: Total bytes read/written: 4356126720/4356126720 (2127015 sectors).
Writing time: 811.042s
Average write speed 3.9x.
Min drive buffer fill was 97%
Fixating...
Fixating time: 36.034s
dvdrecord: fifo had 68614 puts and 68614 gets.
dvdrecord: fifo was 0 times empty and 37986 times full, min fill was 14%.
$


[1] Linux / Unix Command: dvdrecord
 

2009-04-05

「Fedora 11」ベータ版リリース

3 月 31 日に、Fedora 11 のβ版がリリースされていました。

Fedora 11 のリリースで、私が注目していることは MinGW のクロスコンパイル環境が直接サポートされるようになったことです。普段は、Fedora の正式リリースまでアップグレードを待っていましたが、今回はちょっと早めにβ版でアップグレードしておこうかなと考えています。

一方、Fedora が MinGW のクロスコンパイル環境をサポートしたことにより、MinGW Cross Compiler Project の方は、役目をほとんど終えたので、こちらは、整理縮小する予定です。

[1] 起動時間を短縮した「Fedora 11」ベータ版リリース
 

2009-04-04

みかちゃんフォント


わらびフォントの他に SourceForge.jp で見つけた手書きの字から作成された日本語フォント、みかちゃんフォントも試してみました。

フォントのダウンロードサイトに Linux 用の RPM ファイルもありましたが、残念ながら XFree86 用の古いパッケージで、いまどきの X.Org を利用している Fedora のシステムでは使えませんでした。そのため、結局今回も RPM ファイルを作り直しました。この場合、この RPM パッケージをどこで公開しようか、ちょっと悩んでいます。

[1] オリジナルフォント みかちゃん
 

2009-04-03

さわらびフォント

SourceForge.jp で、さわらびフォントというフリーなフォントの開発プロジェクトをみつけました。早速 Fedora 用の RPM を作成してインストールして試してみました。以下は、Tcl/Tk のデモプログラムに、当フォントのリリースノートを、インストールしたフォントで表示してみた例です。

まだ利用できる字種が少ないのですが、品の良いフォントで気に入りました。RPM パッケージを供給することで応援したくなったので、「開発に参加する」をクリックして申し込みました。他にも日本語フォントプロジェクトを探してみると、SourceForge.jp にいくつかありました。しばらくフォントの話題が増えるかもしれません。

[1] さわらびフォント
[2] クリエイティブ・コモンズ - Wikipedia