Ruby

2003年03月10日 月曜日

exif-touch

1月3日にExifの話をしていたと思う。最近日記を巡回していなかったのだが、高林さんの日記をつらつら読んでいたら、exif-touchを発見、しかもちゃんとビッグエンディアンに対応してあって、rubyで書いてある。
Exifの解析をrubyでやろうかなぁと思って、読み解くのが大変面倒なperlのスクリプトを眺めつつ、適当にrubyスクリプトを書き始めていたんですがいたけど、バイナリファイルの処理は書くのが面倒くさいという問題は、あっさり解決。しかもrubyで書こうかなぁと思っていたところ、全部rubyで書いてある。まさに感謝なのである。
ということで、うちのページデザインに合わせて、写真からExif情報を元に撮影データ付きアルバムページの雛形を自動生成出来そうな予感はする。(いつになるか知らないが) まぁこの辺をスタートにすれば個人的には遊べるかなぁ。うーん、最近ますますrubyが楽しいのよねぇ。

2003年01月03日 金曜日

休日の会社は寒い

今日も外は随分寒かったが、休日中のせいか出勤している人も少ないので、事務所も寒い。風邪引きそうな感じなので、仕事がきりのいいところまで進んだので、早めにあがることにした。

Exifについての調査

電子的なアルバムをさくっと作りたいなぁと思い立ち、撮影データをデジカメ画像から抜き出すようなツールを作って、Rubyの勉強でもしようと言う感じであるが、Googleに尋ねれば、休刊してしまったLinux Japanの連載記事に求めているものが掲載されていることを発見。でも載っていたソースのうちExifのヘッダ部分の定数定義部が省略されていて、付属CDROMのソース頼みな状態。
libexifのラッパーであるruby-libexifなんて言うツールがあるんだけども、rubyだけでできても良いんでないかと思うんだよねぇ。(確かにあるものを使うので、良いとは思うんだけど。WindowsのRubyでどう使うかと言う悩みはあるので。)

2003年01月01日 水曜日

今年もみなさまよろしく。

ここを読んでいるみなさん、昨年は本当にお世話になりました。ありがとうございました。今年もよろしくお願いします。ということで、「一年の計は元旦にあり」とのことなので、今年はどういう戦いを展開するか、今年の戦術・戦略を主要な分野別にまとめておこう。(今年は喪中のため、年頭の挨拶はこの辺で)

2003年の展望

はじめに、概況

2003年の活動分野における戦術・戦略に関する展望を分野別に述べることにしよう。昨日の文章をアレンジして書いているので似たような展開だが、去年の延長線上にある訳だから。
経済的な状況に関しては今後も流動的。抜本的に良くするには転職するしかないと踏んでいるが、めんどくさすぎるので、どうするのかよく分からない。まぁ将来のことも考えて行かねばならないし、そろそろ貯金とかもしなければと思わないでもない。別に何か当てがある訳ではないのだが。
最近体調をことに壊し気味なのと太り気味(おそらくストレスから来るものと思うが)で、食生活を改善せねば、どうしようもないな。とりあえず5kg程度は痩せないとなぁ。着る服が無くなってしまう。と言うことで、注意することとして、最近壊れ気味な精神状態も何とかせねばなぁ。

2002年12月31日 火曜日

今日で2002年もおしまい

今年は、こないだ2001年もおしまいなんて記事を書いた気がするなぁと思わなくて、実にいろんな事があってやけに昔に書いた気がするのである。でも、気が付くともう今年もおしまい。今年お世話になった方々はいっぱいいて名前を挙げきれないが、今年1年本当にありがとうございました。来年もよろしくお願いします。
ということで、大晦日と言うこともあって、行く年に思いをはせて、今年はどういう戦いの1年だったか、今年の戦術・戦略とその戦いの成果を主要な分野別にまとめておこう。(と、ほぼ去年と同じ文章にしてみた。断じて_手抜きではない。_)

2002年の総括

はじめに、概況

2002年の活動分野における戦術・戦略に関する概況を分野別に述べることにしよう。
今年は、会社の状況が思わしくなく、経済的には惨憺たるものだった。当初、上期中は良化しそうにないと思っていたが、4月以降は給与カットでさらに拍車がかかった状況。。質素倹約に励まねばと思ったが、思った以上に出費が多く、収支的に±0で済んでいるところが素晴らしいところ。とはいえ、そろそろ貯金とかもしなければと思わないでもなく、将来について多少考えねばと思う今日この頃である。
最近体調をことに壊し気味なのと太り気味(おそらくストレスから来るものと思うが)で、食生活を改善しなければならないが、どうしようもないな。注意することとして、最近壊れ気味な精神状態も何とかせねばなぁ。
今年の大きな事件は、7月に父を亡くしたこと。最後に父を見た時には、すっかり老けたなぁと思わないでもなかったが、かなり元気だっただけにあと何年も生きていそうな感じだったが、突然亡くなってしまった。人生の儚さを感じた1年でもあり、いろいろな方々にお世話になった1年でもある。ありがとうございました。また父が亡くなる1週間前に父に会う機会をくれた石川君にどれだけのありがたいと思ったか分かりません。本当にありがとう。

2002年12月24日 火曜日

のどが痛い…

やっぱり風邪かねぇ。と思って思い出すと、去年の今頃は、風邪で飲まず食わずだったなぁ。今年はのどが痛くて若干頭痛。うーむ、インフエンザなのかぁ。

カーネルの再構築

昨日の話の続き。昨日構築したカーネルはCONFIG_INET_ECNを削除し忘れてました。やっぱり同じ問題が発生。目の前がまっくらになりましたよ。と言うことで、再構築。インストールしたあとに新しいUSAGIのスナップショットがでていて、ちょっと寂しい。

須藤 功平 / Ruby de XML

Ruby関連の本は、タイトルのセンスが安っぽくて疑問を感じるところなのだが、中身に興味があって購入した。REXMLに興味があったのだが、ここまでDOMとかSAXを使わないのって良いのだろうかと思わなくもない。まぁおもしろいから良いんだけども。
SORPまで説明しているから読む価値はあるんだろうなぁ。

2002年10月24日 木曜日

言語の勉強のためにインタプリタを書く?

うーむ、最近Raccの勉強中。Rubyを勉強するためにRaccでインタプリタを書いてみようと言うことで、いろいろ遊んでいる。今のところはRaccの256本に掲載されているBASICもどきな言語を学びつつ、もっと別の文法を持つインタプリタを書いて遊んでみたいなぁ。(BNF記法実に深い…)
いずれにしてもそろそろ正規表現をまともに取り組まないとならないなぁ。

VBAでプログラム書き

ここ3年ほど保守している仕事に使っているExcel VBAのマクロなのであるが、当初の開発目標をおおむねクリアできたような気がする。やはり自分が使うツールの改良は楽しいし、自分が作ってきた種々のツールのコードをライブラリの共通化による統合が行えるとなかなか快絶な喜びだ。唯一悲しいのはVBAであると言うところか。VBAがやっぱり好きになれないと言うところとCVSでコードの管理とかできないじゃんと言うところが悲しい。
VBA周りで考えていきたいのは、_VBAからActiveScriptRubyのオブジェクトとやりとりできないものか_と言うことと、上記のマクロのclassライブラリ化かなぁ。Rubyを使えればテキストデータのパースをRubyにやらせて、Excel出力をVBAなんて事ができそうだし、後者はコードをOOP風に整理しておきたいんだよなぁと思うのだ。どうなんだろう。気が向いたら調べていこう。

2002年10月18日 金曜日

ようやく復帰か…

3日寝込んでようやく良くなった気がする。さすがに明日あたりから動かないとさすがに鈍ってしまう。とはいえ、明日1日会社に行くとまたまたお休みなんだねぇ。
それにしても、一人暮らしをしていて一番しんどいのはやっぱり風邪を引いた時だな。油断していると何食か食べ損なうからなぁ。まぁ気ままなSingle Lifeとの引き替えでなのではあるが。

100円で買える物

Newsweek 日本語版の今号の記事「竹中ショックが日本を救う」から。海外誌っておおむね竹中さんの評価がよいのよね。まぁ実体が伴えば僕も良いと思うんだけども。(その結果僕の会社が無くなってもね。)
話を元に戻そう。記事のなかで_「今の日本で100円で買える物」と言う話があったが、今の日本では100円でジュースも買えないんだよね。で、買うことができる物は、「ちょっとしたお菓子」と「大企業の1株」_と。これにはさすがに笑ってしまった。確かにそうだわ。(1株レベルでは買えないけど、価値はそんなもんよね。) うちの親会社の株価もだんだん100円に近づいてきたので、ちょっと考えるところではあるなぁ。と、しみじみ。

2002年10月15日 火曜日

今日はお休み

ようやくお休みになった。なんだか風邪を引いた模様。のどが痛い…

VBAを使う理由

昨日の議論の続き。じゃ_なぜにVBAを使っているのですか?_と言う話も言及しておこう。
本来VBAでできるものは、Active PerlActiveScriptRubyで書いた方がよりスマートにかける。こないだも苦労したが、VBAは文字列処理が非常に弱いので、テキスト処理を得意としている言語でやった方がスマートにかけるプログラムは多い。
じゃなぜ?と言う話は簡単で、VBAで書く物はお仕事でしか存在しないからだ。(僕は家のPC用にOffice2000のライセンスを2個持っていますが、インストールしてません。) ただみなさんに「ActiveScriptRubyをインストールしてくださいね」と言うのと、インストールしてもらう利点を説明するのが、めんどくさいからだ。(だってExcelはすでにインストールされているものね。)
ただ最近ExcelのシートにマクロをつけるよりはAddinとして配布すべきだと思い至ったので、最近僕が作るマクロはAddinになるようにしています。使っている理由はただそれだけです。VBやVBAというかMSの生成物に美しさを期待するのは愚の骨頂なので、適当におつきあい。それが正しい姿であろうと思うのだ。書きたい言語で書いていいよと言われれば、絶対選択しない物であるのは確か。

2002年09月28日 土曜日

TLUC月例勉強会 開催

東北Linuxユーザ連合会の具体的な活動を進めるべく、今月より月末の土曜日に月例勉強会を行う事となった。今のところ、以下のようなものを考えている。

  • XHTML/CSS関連 - シンプルで保守性のあるHTMLデザイン
  • Ruby - Networkプログラムにフォーカスした演習
    Rubyの方は準備に時間がかかりそうなので、いったんHTML関連の勉強会を数回続けていこうと言う事となり、しばらく僕が講師兼コーディネータとして進める事となった。資料は別途提供する予定であるが、おおむねやって良かったと思っている。次回はCSSを中心に扱っていこうと考えている。
    終了後はいつものごとく飲み会。いつもながら楽しい話題の話がわんさかと言う感じであった。気がつくと午前1時半。もっと早く帰って来る予定だったのだがなぁ。

Webチャットにて

帰って来てから寝る前にと思って29日の2時頃にTsukasaくんとこのWebチャットを覗いたのである。明日はいろいろとイベントが重なる日なのだが、僕は今週あまり寝ていない事もあり静養しようと思っていて、行かない予定だった。そこで、もちこさんに「山形に行きませんか?」と誘われたのだが、こういう状態なので、うーむと思った訳だ。で、「今回は車で一緒に行く人がいないので、電車なんです。」と言う話だったので、「あまりに大変だなぁ。」と思って、勢いで「一緒に行きましょうか?」と言う事で、突然行く事となった。
と言う事で、デジカメの充電はしていないが大丈夫であろうと言う事で、早速準備して寝る事とした。就寝時間は午前4時。明日9時ころに仙台まで迎えに行かなければならないので、7時半には出発だなぁ。

2002年09月20日 金曜日

やっぱりVBAは嫌い

今日はなにげにVBAでテキスト処理プログラムを書いてみた。汎用なカンマ区切りテキスト処理を行いたいのだが、ちょっと変なファイルで、最初の項目だけコロンで区切れられているファイルで、レコード長は最初の項目で決まるので、普通のストリーム入出力なら、

  • 一行読み込み
  • 受け用の配列に取り込み(Cで言えば sscanfとかを使うのね)
  • 内容に応じて、適当に逐次データ処理
    となりそうなものだが、そうはいかないところがVBAの凄いところ。こういう処理をする関数やステートメントが存在しないのよ。おそらく可変数の変数をもらう関数が書けないせいだと思うが、配列使えよって言う感じ。さらに連想配列がないのもつらいねぇ。(Excel VBAの場合、シート上にデータをおいた方が早かったり。何か違う気がする。) 結局、
  • 一行読み込み
  • 行の頭から1文字ずつ読み込んで、区切り記号が出て来たところで、前の区切り記号からの文字を配列に取り込み
  • 行の末尾まで繰り返し
    というなかなか楽しい処理を行う羽目に。何と素晴らしい。なぜにここまで低レベルの処理を書かないとならないんだか。さすがMS。苦労したおかげで、何とか思い通りの処理を書けそう。
    もうテキスト処理が得意な言語で書けば良いじゃんと言う話があるんだが、最終的な出力はExcel文書でrubyにしてもperlにしても、新たに処理系をインストールしてもらわないとならないので、できない状況なのよね。もっと便利にならないものかね。もっと良い方法があったりして…