2008-12-28

Tcl and the Tk Toolkit (2nd Edition)


っとTcl/Tk のサイトを運営されている、いまいさんのブログ、つれづれなるままに − つれづれブログ を久しぶりに読んでいたら、耳寄りな情報を発見!

2008年12月06日の記事によると、Tcl/Tk を考案した John Ousterhout 氏が、Tcl and the Tk Toolkit を 15年ぶりに改訂するらしいのです。なんと 600 ページもあるらしい。発売予定が来年の 6 月ということで、ずいぶん先ですが、Amazon.com に予約を入れておきました。

Order #: XXX-XXXXXXX-XXXXXXX
Shipping Method: Expedited International Shipping
Shipping Preference: Group my items into as few shipments as possible
Subtotal of Items: $42.70
Shipping & Handling: $13.98
------
Total for this Order: $56.68

Delivery estimate: June 18, 2009 - June 30, 2009
Shipping estimate for these items: June 8, 2009
1 "Tcl and the Tk Toolkit (2nd Edition) (Addison-Wesley Professional Computing Series)"
John K. Ousterhout; Paperback; $42.70

Sold by: Amazon.com, LLC


 

2008-12-27

X31 のメモリ増設

X 端末に使おうと先月購入した中古の IBM ThinkPad X31 について、やはりメモリが 512MB というのは少なすぎるので、純正 (PC2700 DDR SDRAM) と互換性があるメモリカードを探してみました。

アイ・オー・データ機器の SDD333 シリーズ、バッファローの DN333 シリーズ、エレコムの ED333-N シリーズが使えそうです。

これらの 1GB のメモリカードの価格帯を、ネットで調べてみると1万円前後でちょっと高い。古いメモリモジュール規格 (PC2700) のカードなので店頭で売っているか心配でしたが、市内のヤマダ電機でも探してみました。なんとエレコムの ED333-N1G が、最後の一枚でほとんど叩き売り状態の値段と思える 7,800 円で売られていました。もっと安いものがどこかで入手できるかもしれませんが、欲求と価格とのバランスが取れていると考え、即購入しました。

X31 の空きスロットに装着して起動。メモリが増えていることを top コマンドで確認。スワップ領域は当然ながら以前と同じ 1GB のままですが、とりあえず問題はなさそうです。

free コマンドでも確認(ま、同じなんですけどね)。

$ free
total used free shared buffers cached
Mem: 1553412 859536 693876 0 65536 372392
-/+ buffers/cache: 421608 1131804
Swap: 1048568 0 1048568

2008-12-24

Tcl/Tk 8.6b1 リリース


Tcl/Tk 8.6 の最初の β 版が 12 月 23 日付けでリリースされました。TIP #234(Zlib の圧縮サポート)は、このリリースに間に合うように取り込まれましたが、TIP #244(PNG Photo Image のサポート)の方は、このリリースには含まれませんでした。TIP #329 の Try/Catch/Finally ロジックの機能が取り込まれたことも大きな変更/拡張点でしょう。良いサンプルがあれば紹介をしていきたいと思います。

なお、Tcl/Tk 8.5.6 も同日付けでリリースされました。

Date: Tue, 23 Dec 2008 09:38:33 -0500
From: Donald G Porter <dgp at nist.gov>
To: Tcl List Core <tcl-core at lists.sourceforge.net>
Subject: [TCLCORE] Tcl/Tk 8.6b1 RELEASED

Tcl/Tk 8.6b1 Release Announcement
December 23, 2008

The Tcl Core Team is pleased to announce the 8.6b1 releases of the Tcl
dynamic language and the Tk toolkit. This is the first beta release
of Tcl/Tk 8.6. 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.6b1 sources are freely available as open source from the
Tcl Developer Xchange web site at:

http://www.tcl.tk/software/tcltk/8.6.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.6a3:
--------------------------------------

The following were the main changes in Tcl/Tk 8.6b1. 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 beta release of 8.6. The beta designation means that the
feature set for 8.6 is believed to be complete, and the focus is now
on testing and bug fixing moving quickly toward an 8.6.0 release.
All relevant bug fixes (and some more) up to and including 8.5.6 changes
are included in 8.6b1. This release is a development release, and should
only be considered for deployment use after considerable testing.

* [TIP 329] New commands: [try], [throw]

* [TIP 234] New command: [zlib]

* [TIP 343] Enhanced commands: [format], [scan] add %b specifier.

* [TIP 332] Enhanced command: [close $chan read|write].

* New widget: [ttk::spinbox].

* [TIP 210] New subcommand: [file tempfile].

* [TIP 321] New subcommand: [tk busy].

* [TIP 324] New subcommand (dialog box): [tk fontchooser].

* [TIP 97] New subcommands: [$canvas imove], [$canvas rchars].

* [TIP 341] Enhanced subcommand: [dict filter] takes multiple patterns.

* [TIP 119] New canvas option: -angle for text items.

* [TIP 197] New text option: -insertunfocussed.

* New ttk theme: vista -- uses new "hover" state.

* [TIP 308] New package: tdbc 1.0b1 .

* [TIP 322] New routines: Tcl_NR*(): non-recursive eval for extensions.

* [TIP 336] New routines: Tcl_*ErrorLine().
*** POTENTIAL INCOMPATIBILITY in interp->errorline access ***
*** Define USE_INTERP_ERRORLINE for legacy code support ***

* [TIP 307] New routine: Tcl_TransferResult().

* [TIP 335] New routine: Tcl_InterpActive().

* [TIP 337] New routine: Tcl_BackgroundException().

* [TIP 338] New routines: Tcl_*StartupScript()
*** POTENTIAL INCOMPATIBILITY for callers of Tcl*Startup*() ***

* New feature: build script support for bundled packages.

* System encoding during initialization now iso8859-1, not identity.
*** POTENTIAL INCOMPATIBILITY ***

* [oo::define] revised context for name resolution, includes caller.
*** POTENTIAL INCOMPATIBILITY with earlier TclOO ***

* [event generate] support for events.

* Fixed broken [for $start $end $incr continue].

* New demos: ctext.tcl, fontchoose.tcl .

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


--
| Don Porter Mathematical and Computational Sciences Division |
| donald.porter at nist.gov Information Technology Laboratory |
| http://math.nist.gov/~DPorter/ NIST |
|______________________________________________________________________|

------------------------------------------------------------------------------
_______________________________________________
Tcl-Core mailing list
Tcl-Core at lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tcl-core

2008-12-23

Let's Wine(第5回)


環境設定(補足)


パスの変更


MinGW クロスコンパイラ関連のパッケージのインストール先が変更されたので、wine のパス(環境変数 PATH)も変更しておく必要が出てきました。PATH の設定は既に紹介しましたが、念のため。


$ wine cmd
CMD Version 1.1.9

H:\>echo %PATH%
C:\windows\system32;C:\windows;Z:\usr\i686-pc-mingw32\sys-root\mingw\bin
H:\>

2008-12-20

【備忘録】Fedora Live CD の作り方


るトラブルから、やむなく Fedora 9 へ戻し、Fedora 10 をインストールしなおす羽目になりました。そこで、Live CD の iso イメージを USB のフラッシュメモリに書き込んで、これで起動した後に、Live CD から HDD へイメージのインストールをすることにしました。つまり、大事な情報は既にバックアップされており、Fedora 10 の Live CD でクリーンインストールするだけです。

今回は、その Live CD を USB フラッシュカードへ書き込む手順の備忘録です。

$ su
パスワード:
# yum install livecd-tools
...
...
Installed:
livecd-tools.i386 0:017.1-1.fc9

Dependency Installed:
squashfs-tools.i386 0:3.3-2

Complete!
# /usr/bin/livecd-iso-to-disk /home/bitwalk/src/F10-i686-Live.iso /dev/sdb1
Verifying image...
/home/bitwalk/src/F10-i686-Live.iso: f21debace1339dbdefff323064d40164
Fragment sums: c22bcc22b29728f2a7136396121621caf6c18169f3326e5c7e66153cd57e
Fragment count: 20
Checking: 100.0%

The media check is complete, the result is: PASS.

It is OK to use this media.
Copying live image to USB stick
Updating boot config file
Installing boot loader
USB stick set up as live image!
#


PC の BIOS の設定で、boot 時にフラッシュメディアをメインの HDD より先に読み込むように変更して、USB フラッシュを付けて PC を起動します。無事起動したらログインして、デスクトップ上の Install To Hard Drive アイコンをダブルクリックして、ガイドに従い HDD へイメージをコピーします。

2008-12-17

Zlib と PNG


ようやく Tk で、PNG 形式のイメージが扱えるようになりそうです。TIP #234(Zlib の圧縮サポート)、TIP #244(PNG Photo Image のサポート)のどちらも、Tcl Core Team の投票で承認されています。一方、Tcl の CVS のレポジトリでは zlib 圧縮への対応が始まっていることが確認できます。Tk のソースで PNG 形式をサポートする方はまだのようです。年末までにはリリースされるであろう 8.6a4 あるいは 8.6b1 では、さらになんらかの機能追加があるかもしれません。
 

2008-12-16

Tcl Core Team 刷新


んと、Tcl/Tk を考案した John K. Ousterhout 氏までもが Tcl コアチームを離れるようです。その他に D. Richard Hipp, Jim Ingham, Brent Welch の各氏もチームから外れます。一方で Daniel Steffen 氏がチームに加わります。

Date: Mon, 15 Dec 2008 17:11:44 -0500
From: Kevin Kenny <kennykb at acm.org>
Newsgroups: comp.lang.tcl
To: Tcl Core List

Subject: [TCLCORE] TCL CORE TEAM ANNOUNCES: John Ousterhout retires from Tcl Core Team

TCL CORE TEAM
SPECIAL RESOLUTION 2008-3

WHEREAS, John K. Ousterhout advises the Tcl Core Team that, in his
opinion, he has not made a significant contribution to Tcl in the last
five years; and further

WHEREAS, Dr. Ousterhout further advises the team that he is confident
that Tcl and the Tk toolkit are in good hands with the current Tcl
Core Team; and further

WHEREAS, Dr. Ousterhout further advises the team that he wishes to be
accounted a Tcl Core Team member emeritus; and further

WHEREAS, it is impossible to give an adequate account of
Dr. Ousterhout's accomplishments as the true "father of Tcl/Tk:" from
overseeing its initial construction in the laboratories at Berkeley,
through overseeing its publicity and recruiting community development,
through its period of commercial development at Sun, Scriptics, and
Ajuba, into the community-maintained system that it is today:
activities for which he richly deserved the ACM Software System Award
that the Association for Computing Machinery granted him in 1997, his
induction as a Fellow of the Association for Computing Machinery in
1994, and his membership in the National Academy of Engineering; and
further

WHEREAS, Dr. Ousterhout is mentioned by name in the fundamental
documents (TIP #0 and TIP #2) defining the Tcl Core Team, and accorded
especial privileges as "Benevolent Dictator" with the ability to
resolve any deadlocks by executive fiat; and further

WHEREAS, the "Benevolent Dictator Clause" has been long regarded by
the Tcl Core Team as an important "safety valve" in its process; and
further

WHEREAS, Dr. Ousterhout's departure will necessitate reonsideration of
that element of the Tcl Core Team's charter;

NOW THEREFORE be it

RESOLVED, that the Tcl Core Team accepts with the profoundest regret
the resignation of Dr. John K. Ousterhout from its ranks, and offers
him heartfelt thanks and admiration for his many years of tireless
service; and be it further

RESOLVED, that Dr. John K. Ousterhout shall be designated

FOUNDER AND MEMBER EMERITUS OF THE TCL CORE TEAM

a title that can be rightfully applied only to him; and further be it

RESOLVED, that the Tcl Core Team do at once commit to a Committee of
the Whole to propose appropriate Amendments to its Constitution and
By-Laws (as set forth in Tcl Improvement Proposals #0 and #2), and
that said Committee of the Whole shall rise and report at such time as
it shall find convenient, but in any event no later than 31 January
2009.

DONE, this fifteenth day of December, 2008

For the Tcl Core Team

Mo DeJong
Joe English
Donal K. Fellows
Jeffrey Hobbs
George A. Howlett
Kevin B. Kenny
Andreas Kupries
Karl Lehenbauer
Jan Nijtmans
John K. Ousterhout, founder and member emeritus
Donald G. Porter
Miguel Sofer
Daniel A. Steffen

_______________________________________________
Tcl-Core mailing list
Tcl-Core at lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tcl-core

関連情報


[1] TCL CORE TEAM ANNOUNCES: Daniel Steffen named to Tcl Core Team.
[2] TCL CORE TEAM ANNOUNCES: Harrison, Hopp, Ingham, Welch leave Tcl Core Team
[3] TCL CORE TEAM ANNOUNCES: John Ousterhout retires from Tcl Core Team
 

2008-12-14

【備忘録】Nautilus に Tcl アイコンを表示する


に表示上だけのことなんですが、Gnome のファイルマネージャー Nautilus 上で Tcl のアイコン(実際には Tk アイコン)を表示させたかったので、設定してみました。

まず、MIME タイプで Tcl の拡張子が定義されているかどうか調べてみます。

$ rpm -q gnome-mime-data
gnome-mime-data-2.18.0-3.fc10.noarch
$ rpm -ql gnome-mime-data
/etc/gnome-vfs-mime-magic
/usr/share/application-registry
/usr/share/application-registry/gnome-vfs.applications
/usr/share/doc/gnome-mime-data-2.18.0
:
:
/usr/share/mime-info
/usr/share/mime-info/gnome-vfs.keys
/usr/share/mime-info/gnome-vfs.mime
/usr/share/pkgconfig/gnome-mime-data-2.0.pc
$ grep tcl /usr/share/mime-info/gnome-vfs.mime
text/x-tcl
ext: tcl

Tcl の拡張子は MIME タイプに含まれているので、ローカルにイメージを用意しておけばなんとかなりそうです。とりあえず、~/.icons 以下に、32x32 と 48x48 の固定サイズのイメージを Tcl 用に用意しました。ディレクトリの階層は以下のようになります。イメージは PNG 形式で、ファイル名をどちらも gnome-mime-text-x-tcl.png とします。

一旦ログアウトしてログインし直します。Nautilus を起動して、拡張子が tcl のファイルの表示が変わっていることを確認します。

2008-12-12

【備忘録】X端末


は X サーバ が利用できる Linux マシンから、他の Linux マシンに次のような手順で接続して使用していました。

[bitwalk@laptop ~]$ xhost +
access control disabled, clients can connect from any host
[bitwalk@laptop ~]$ telnet 192.168.11.2
Connected to 192.168.11.2
Escape character is '^]'.
Red Hat Linux (192.168.11.2) (ttyp3)
login: ログイン名を入力
Password: パスワードを入力
Last login: Sun Dec 13 17:15:33 1998 from 192.168.11.8
[bitwalk@desktop ~]$ export DISPLAY=192.168.11.8:0.0
[bitwalk@desktop ~]$ netscape &

Fedora を使うようになって、telnet の代わりに ssh で接続するようになりましたが、ssh -X で接続しても X サーバを利用できず、どうするのか判りませんでした。telnet で接続する部分を単純に ssh に置き換えれば良いと思い込んでいたのでした。その時は X 端末として利用する強いニーズがなかったので、そのままにしていました。

しかし、この冬はコタツに暖まりながら、中古で買った非力な PC を X 端末にして使いたいと思い、ssh を使って X 端末として利用する方法を調べ直しました。すると、下記のリンクに欲しい情報があり、目から鱗が落ちた思いでした。

/usr/bin/xterm Xt error [Archive] - FedoraForum.org

要は、xhost+ とか export DISPLAY=... なんていう入力は不要で、単に次のようにするだけで良かったのでした。

[bitwalk@laptop ~]$ ssh -X 192.168.11.2
bitwalk@192.168.11.2's password:
Last login: Fri Dec 12 18:22:29 2008 from 192.168.11.8
[bitwalk@desktop ~]$

出来てみれば、なんてことはないのでした。ホント思い込みって怖い。