2007-01-01から1年間の記事一覧

grepの話

正規表現によるパターンマッチングは、UNIX/Plan9プログラミング環境に浸透している。正規表現ツールとしてもっとも有名なのはgrepだが、UNIXにはegrep、fgrep、zgrepなどの派生コマンドがある。*1一方、Plan9に存在するのは、grep(1)だけで、拡張正規表現、…

Ruby port

もう一ヶ月以上前になるけど、Ruby 1.8.6をPlan9に移植しているよというメールが流れていた。minirubyまでは動くけど、モジュールを動的ロードできないという話だった。8c、8l自体は動的ロードをサポートしてるようなので(問題は残っているけど、Pythonで動…

IWP9まとめ

時間が空いてしまったけど、ウェブ上のリソースを集めてみる。 オフィシャルページ 写真1 写真2 写真3 ビデオ1 ビデオ2 Unix and Beyond: Themes in Operating Systems Research Dennis Ritchie氏のスライド。Plan9のスクリーンショットがあるけど、日本語の…

2nd IWP9

今年のIWP9のプログラムが公開されています。開催場所はBell Labsなのもあって、KeynoteはDennis Ritchie氏の「History of Unix and Plan 9」、Unix roomツアーなんてのも企画されている。面白そうだなぁ。 前回に引き続き、日本からは有澤先生が発表される…

オリンピックとPlan9

Bruce Ellis氏曰く、2000年のシドニーオリンピックで、照明制御のためにPlan9が使われたそうな。ただそれだけ。

Plan9とHPC (High Performance Computing)

これまで「Plan9 on BlueGene/L」や「Right-Weight Kernel」などで、何度かHPCがらみの記事を取り上げているけど、今回はMPI (Message Passing Interface)について。MPIはHPCではデファクトスタンダードな並列通信ライブラリで、多くのアプリケーションがMPI…

簡潔さは力なり

Matzさんの講演を聴いた。世の中に星の数ほどあるプログラミング言語を先端言語、普及言語に分け、Rubyを先端的普及言語と位置付けた後で、Rubyの人気の秘訣は「哲学に基づいたバランス」にあると続けた。そして、Rubyはやりたいことを簡潔に書けるとして、P…

ソフトウェアの単純さ:本音と建前

ユーティリティコマンドはユーザが計算機を使いやすくするためのものだ。ただし、何を持って「使いやすい」とするかは難しい。システム全体を貫通するグランドデザインがあって、コマンド体系が首尾一貫している、例外がないというのも一つの基準だろうし、…

ソフトウェアの単純さ

UNIXの代表的なプログラムにcatがある。Wikipediaから引用すると、 catはUNIXの標準コマンドであり、ファイルを連結させたり表示したりするのに用いる。catは連結することを意味する「catenate」の略である。 (中略) UNIXファンの間では、cat(1)はユーザイ…

libdraw事始め

libdrawのサンプルプログラムってないかなと探していて、山梨さんのページ(rio について)に行き着いた。最初に読むのによさそう。

bindと名前空間

bindの挙動は「bind遊び」などで書いてきたけど、今日、9fansを読んで知った事実について。二つのディレクトリfooとbarがあるとする。 term% ls foo foo/a term% ls bar bar/b通常のbindだと、 term% bind foo bar term% ls bar bar/a term% ns : bind /usr/…

Inferno on Nintendo DS

Nintendo DSでInfernoが動いている。これは今年のGoogle Summer of Codeの成果の一つ。 Inferno on Nintendo DS (MPEG4) GSoCの成果がまとめられているページはこちら。 Plan 9 and Inferno at the Google Summer of Code

rc/tk?

最近、WindowsのPowerShellを少しさわってみた。一見、パイプだけど、バイトストリームではなくて.NETオブジェクト間の通信になっていたりと、Windowsらしい作りで面白い。.NETオブジェクトにアクセスできるので、WinFormsを使ったGUIスクリプティングも可能…

Filesystem Namespace Unification

先日、readdir(2)はobsoleteかなと書いたけど、Kerneltrapの記事「Filesystem Namespace Unification」で話題になっているから、まだ残っているのね。getdentsとの使い分けはどうなっているのだろう?Linuxの名前空間はどんなものになるのだろうか?

MacOS X (NextStep)のopenとplumb

MacBookユーザにもかかわらず、MacOS Xのことを知らなさすぎるのだけど、ファイルとアプリケーションの関連づけを調べていると、弾さんのblogが目に入った(OS X tips - ファイルの開き方)。MacOS Xにはopen(1)というNextStep由来のコマンドがあって、Finde…

readdirとdirread

UNIXでディレクトリエントリを読み出すとき、普通はopendir/readdir/closedirを使う。readdirはディレクトリエントリを一つ読み出すライブラリ関数で、内部的にはgetdents (BSDの場合はgetdirentries)システムコールが呼ばれる。今はobsoleteだと思うけど、L…

nventi (new venti)

ベル研のメインのファイルサーバは、fossil + nventiで運用されているらしい。nventiも安定してきたとのことで、ディストリビューションからkenfsを削って、old vnetiの代わりにnventiを入れようかという議論が出ている。ところで、ventiとnventiの違いは何?

Plan9でFortran?

ちょっと前から"Everything is a directory"というスレッドが盛り上がっていて、いくつか面白い話も出ているけど、今日は別の話題。Plan9でFortranが使えないかという投稿があって、(Plan9 on BlueGene/Lの開発者である)Eric氏がレガシーなHPCアプリケーショ…

続・システムソフトウェア研究は見当違いの方向を向いている

2nd IWP9でRob Pikeに「Systems Software Research is Irrelevant」のアップデート版を講演してもらえないだろうかという話が出ていた。その講演は2000年にユタ大学で行われたもので、「システムソフトウェア研究は見当違いの方向を向いている」にも書いた。…

lguestとかAoEとか

lguest (Rusty Russell氏が開発したLinuxカーネルベースVMM)上でPlan9が動いたとか、AoE (Age of Empireではなく、ATA over Ethernet)ドライバとか、面白そうな話がいろいろ出ているんだけど、手を出す時間が取れないなぁ。 Linuxカーネルベース VMM、lguest…

2nd International Workshop on Plan9

今年も12月にInternational Workshop on Plan9を開催するそうな。 前回の様子は、IWP9。(追記 2007-08-21) ページができて,CFPが出ている.

海の向こうのPlan9 Users Group@Google

あとで観る。ネタはRangboom、Abaco、Tiny Horrible Xen などらしい。でも、これを聞き取るのは辛いなぁ。 Bay Area 9fans meeting (2007-05-10) http://mirtchovski.com/plan9/2007_05_10_Plan9UsersGroupMeeting.mp4 Rangboomは、9Neticsという会社がやっ…

Plan9を創った男たち

1995年にベル研で撮影された一枚の写真がある.一番前のDennis RitchieとRob Pikeは有名人.Ken Thompsonはいないねそして10年後の2004年には散り散りに.「Bell研UNIX Groupが解散」(./J 2005-08-17)にも書かれているけど,Rob Pike,Dave Presotto,Sean D…

Right-Weight Kernel

ん、RightじゃなくてLight、軽量カーネルだろ。これだから日本人は"L"と"R"の区別ができないって言われるんだと思うのは、早合点で、ここでは「Right」で正しい。前回のエントリでPlan9がBlueGene/Lで動いたと書いたが、IBMにオフィシャルなプロジェクトペー…

Plan9 on BlueGene/L

「QEMUとXen3の比較」あたりの時期に、Plan9をBlueGene/Lへポーティングしていることを知ったのだけど、OSNewsの記事になっている。USENIXのポスターセッションでライブデモが見られる予定とのことだ。そういえば、9fansにUSENIX会場でBOFやるぞってメールが…

SATSUGAIせよ!

kill*1でもプロセスが死なないときは、slayをどうぞ。両者の違いは、"kill"を/proc//noteにechoするか、ctlにechoするかの違い。 term% kill rio echo kill>/proc/2015710/note echo kill>/proc/2015725/note echo kill>/proc/2015726/note echo kill>/proc/…

中国におけるPlan9事情

plan9.Chinaというページを発見。中国語は当然読めないので、Babelfishに翻訳してもらったところ、Plan9関連文書の翻訳プロジェクトらしい。でも、vimの使い方のページがあったりとなかなか謎だが。さらに、doubanというSNSっぽいサイトにもPlan9小组という…

sticky bit

/tmpのように誰にでも読み書きを許したいけど、勝手に消されては困るというディレクトリを実現するために、UNIXではsticky bitを使う。lsして、パーミッションの最後の"t"がsticky bit。 $ ls -l / | grep tmp drwxrwxrwt 28 root root 4096 Jun 9 14:26 tmp…

Newsqueak (3): Limboとの比較

いろいろ違いあるだろうけど、気がついた点から挙げていく。 プロセス(スレッド)がプリエンプション可能かどうか。Limboの(spawnで生成された)スレッドはプリエンプションされるけど、Newsqueakのプロセスはプリエンプションされない。また、spawnじゃなくて…

Newsqueak (2): チャネル

昨日に引き続き、Newsqueak話。プロセス間通信に使われるチャネル(chan)について。チャネルこそがこの言語の胆である。Newsqueakではプロセス間通信に共有メモリではなく、メッセージパッシングモデルを採用している。プロセスはチャネルと呼ばれるバッファ…