Ruby

2003年10月23日 木曜日

NLUG解散の話

昨日、TLUC-MLで三浦さん聞いた話。名古屋のLinuxのユーザー会が解散したそうだ。(上記リンクもNLUGのページではないところに設定している。NLUGのWebサーバもいつまで動いているか分からないからだ。) こういう話は多かれ少なかれ、どこでも感じるところはあって_ついに来るべきものが来たか_と思っている。僕が参加している東北Linuxユーザ連合会(TLUC)もMLの流量と話題が寂しいし、Activeなメンバがほんとに少なくなってきているので。
ただLinuxに限って活動をするという風に考えてしまうと、どんなイベントを行ったとしても、なにもLinuxでなくても出来るという一昔前から見れば贅沢な状況になったこともあって、いろいろとLinuxのユーザー会という存在意義を問い出す事となり禅問答のように考え込んでしまうことになるのだが、NLUGでは解散という結論に至ったと言う事だ。自然消滅・休眠状態というところが多い中で、彼らはそれなりの議論をして活動のけじめを付けたのだから、僕はそれはそれで立派なことだと思う。まぁLUGの運営に参画しているという観点で物を言えば、同行者が一人いなくなるのはやっぱり寂しいものだけれど、時代の流れなのかも知れない。(もし贅沢な環境が衰退を呼んでいるとすると何とも悲しいのだ。)
まぁ数年前の各地LUG立ち上げ時は、インストールをネタにしたインストール大会みたいなイベントを行っていた(まぁ普及活動なんですが)こともあったが、今となってはどのディストリビューションを使ってもインストールが非常に簡単になったし、僕らが*BSDをつかっても簡単にインストールできちゃう。さらにKnoppixのようなCD起動のものが出てきたことがあって、現状で行う意味消失している事もあって、現状でLUGの活動の質的転換を要求されていると考えるべきなのでしょう。
Linuxにしかできないことに限って活動を展開するというのは、現状ではいろいろと非常に難しく、そういう方向だけを考えても仕方ないので、もうちょっと広く世の中を見ることにして、Linuxを介して集まった仲間と言う認識で活動を続けていくのが良いのかなと考えている。(何を題材に扱ってもできるけど、Linuxベースでやった方が自然という雰囲気を指向する。) そういう仲間で共有できるような題材があれば、勉強会やイベントのネタにつかっている状況で、一昨年はXML関連の勉強会、昨年はHTML関連の勉強会、今年はRubyやTCP/IPの勉強会を提案し実施している。(僕は企画した割に、忙しくて全く参加できず非常に悔しい思いをしているが、それでもみなさんに楽しんでいただけているようなので満足している。(こういう方向で質的転換を図っているのだが…)
こういう方向で物を考えているのだが、LinuxをはじめとするPU-Unixは普及活動期から、普及してしまった時期に入ったわけで、いろいろと価値観やら物事の進め方が変わってしまったも致し方ないものなのかも知れ無いなぁと思うわけだが、何ともとりとめがないのよねぇ。(考えはまとまらないし。)

2003年10月11日 土曜日

雑誌の記事って電子化されないものか

最近雑誌を買わなくなって久しいのだが、たまに読みたい連載があっても_収納スペースの確保・整理する手間・捨てる手間_を考えると買わないと言う選択をしがちである。(僕がだめだめなだけかも知れないが、真面目に家の中の本の収納スペースが飽和しているのですよ。もうハードカバーと文庫本しか買う気がしない。)
僕が買う雑誌といえばここ数年はほとんど最近コンピュータ関連の雑誌なので、なおさら思うところであるが、記事の電子データも付けてくれない物だろうか? 最近読んでおきたいなと思っている連載は、Unix Userに連載されている西田 亙さんの「GCCプログラミング工房」とLinux Magazineに連載されていたまつもとゆきひろさんの「Ruby入門」なのだが、上記の理由の方が優先していて雑誌を買う気にならない。記事の内容が良いだけに実に勿体ないのである。
最近コンピュータ関連の雑誌が売れないと言われ続けているが、速報性ではWebにはもう勝てないので、ビジネスモデルを転換して、有用な読み物の連載を軸に雑誌を作ってもらい、CDROMで記事の電子データも付ける。ただ電子化してもその月しか売れなければ売り手としては厳しいので、_電子データを1ヶ月後ないしは数ヶ月後にCDROMにして付録にする_というのはどうだろう? これならば連載を読むために雑誌を買い、その記事の電子データが欲しくて次の月の雑誌も買うということで、売り上げをある程度見込めて、雑誌の記事の再利用性が高まって嬉しくないだろうか?
一度電子データになってしまえば自分の家でデータベースに組み込むなりなんなりして保存すれば、場所も要らず、検索性も増して、非常に便利なのだが、そういう企画を実現してもらえないものかねぇ。とくにUnix Magazineのように、記事がそのときに必要なくて、数年後にヒットするような雑誌の場合、保存場所と検索性の向上こそが切実な問題なのである。
まぁそんな話を、あおしまさんと話をしたのです。

2003年09月27日 土曜日

毎週土曜日はハマリだなぁ

今日はちょっとしたトラブルをきっかけに芋蔓式にどんどん大きなトラブルを引き当ててしまった。気が付いたら、結構な時間になってしまい疲労感だけ残る。毎週引き継ぐ仕事のみが多くて大変申し訳ないのである。

デザイン・パターンを勉強しなければ…

最近、プログラム関連の記事やら本を読んでいると_「なんたら・パターン」と言ういかにもデザイン・パターン用語_を見かけるようになって、「???」となることが多いので、ぼちぼち勉強しておかないとだめかなと思っているのです。
どの本を読めばいいのかと言う話を考えていると、さすがにGoF本は難しそうなのでやめにして、やっぱり結城さんの「Java言語で学ぶデザインパターン入門」(ホームページ)を種本にして、Javaのソースを読みつつ、rubyに移して勉強すれば、良い勉強になるかもと思っているのですが、実際のところどうなんだろうか…
たまには言語に依存しないプログラミングの方法論を勉強しておかないと駄目かなと思っています。まぁ実装方面にすぐ走れなくても、人が何を言っているのか理解できないとそれまでなので早急に勉強しておかねばと思うところと、手持ちのネタは多いほどいろいろできるものなので。
明日本屋巡りをしてみようと思いつつ、RubyでデザインパターンだったらRubyの作者のまつもとゆきひろさん自身が書かれている「オブジェクト指向スクリプト言語Ruby」に書いてあるよんという話を聞いて、久しぶりに眺めてみた。内容は、第5章の後半がデザイン・パターンの話ですな。Observer/Proxy(Delegator)/Iterator(Cursor)/Strategy/Singleton/Template Methodが解説されていますねぇ… (ここまで読んでなかったんだな。なかなかこの本を読みこなせて無いなぁ。この本結構目から鱗なところがあって楽しいのだが…)

2003年09月11日 木曜日

RelaxNGの勉強をしようかと。

今回のコンテンツの見直しで、元々やろうと思っていたXML化の推進をしないとやっていられない状況になってきました。ぼくはXHTML 1.0のFramesetが嫌いな人なので、今のようなページ構成になっています。しかしそれぞれのページで部品として共用している部分を書き換えることになると、手修正だけではやってられないと言うことで、XMLで書いた部品を寄せ集めてXHTML 1.1(or XHTML 2.0?)にレンダリングした方が良さそうです。
最近の流行りであれば、真面目にXMLに突っ走るならCocoon 2みたいな物を使うか、よりお手軽なZope、もっとお手軽な方向としては、XOOPSのようなWeb Applicationか、がらっと変えてtDiaryみたいな日記ツールとかblogなツールを普通、選ぶのだろう。
ただ今のところ動的なサイトにしたくないのと、JavaやpythonPHPに依存できない環境であること。Java以外は一生コードを見ないですむなら見たくないという個人的な偏見と趣味とRubyPerl(これも使いたくはない)はサーバで使える環境にあるので、選択肢はこれらのどっちかですな。
ただCGIなどでページをDynamicにページを生成するとCGI自身のメンテがかったるいので、WikiWiki Cloneは却下で、結局今のところはStaticなページ構造にして置いた方がよいかもと個人的に思うので、XML文書を書いてXSLTでXHTMLに変換するのがよいかなと思っている。最終的な目標はサーバにXMLファイルをいっぱい置いておいて、半動的生成を目指そうかと思うわけだが、しばらくはXMLで書いて、makeでStaticに作ってしまえと言う感じである。
XMLで適当に文書を書くと自分で作ったXML文法(XMLボキャブラリというのかな)を忘れてしまうと言う問題があり編集の便利さを追求するためにも、僕の場合は必ず文書型定義(DTD)を書く必要がある。ただ_DTD自身がXMLじゃないやん_とか_いまさらDTDなんて勉強しても仕方ないやん_ということで、何かしらのSchemerを勉強せねばと言うことになったわけだ。こういう用途でThe World Wide Web Consortium (W3C)御謹製のXML Schemaを使うほど暇人でもないので、Relaxを勉強かと思ったのである。いろいろ調べているうちに、Relax NGのページやTutorialを眺めていると、こっちの方がえらく簡単ということで_勉強する気になった。_(ようやく表題の話になった。)
ということで、いったんどういう事を書いているのか再分析して、Relax NGパターンを書き下して、DTDを生成してみようと思う。

2003年08月06日 水曜日

今日のVBAとの闘い

前回のVBAとの闘いでは、Cで言うところのsscanf()みたいな関数がないので、テキストファイルからの入力は不便じゃのうという話だった。普通のExcelのユーザ(VBAを使いこなしている人はすでに_普通の人ではないと言う意見はあるが_)は、CSVなファイルもExcelで開いてから、VBA側でセルを参照して値を取り出すのかな? 僕はそういうデータ構造を考えないプログラムを書く趣味を持ち合わせていません。
今回の闘いは、まともにCollection系のライブラリが欲しいという話。ちょっと考えてみると、文字列をKey、構造体をValueとするHashを使えれば、一発でおしまいという話だったのだが、VBAやVBっていまいちCollection系のデータ構造がまるでないので、いかんせんいろいろと貧弱すぎだなぁと思うのよね。結局配列で非常に安直な実装にしたのだが、どうにかならんもんかね。VBプログラマはデータ構造なんて考えてプログラムをしないのかねぇ。で、あらかたプログラムを書いた後に、