CAKE(6) FreeBSD Games Manual CAKE(6) NAME ふりぽけ日記 - 2001年03月下旬 SYNOPSIS cake [-vd] [garbage-in garbage-out] DESCRIPTION Cakeは駄文製造プログラムです。一般に、ゴミを入力するとゴミを出力す る、とされています。 OPTIONS なにも指定をせずに立ち上げると、標準入力(/dev/ear)から読んで標準出 力(/dev/mouth) に書こうとします。(放っておくと、ずっとそのままで入力を 待っています。)入力ファイルと出力ファイルを指定すると、それらを読み書き します。 -v オプションを指定すると、何をやっているのか細かく報告します。 -d オプションはデバッグモードです。 2001.03.20 Tue (PAGE:d200103c SECT:20) よく見る表現 Sorry, Japanese Only は、「私の落ち度のせいで、日本人以外お断り」と解釈さ れてしまうらしい。 リンクフリーと双璧ですな。 良い天気だったので 布団を干した。 昼過ぎにとりこんだら、2割がた軽くなっていた。 そのことを喜ぶべきか、それまでの状態を嘆くべきか…。 2001.03.21 Wed (PAGE:d200103c SECT:21) OutLookのメモ帳 ひょっとしてRuby邪道技で叩けばテキストを取得とかできるのかな〜。 256本 買ってないからよく分からない。<買えよ。 とりあえず OutLookのメモ帳自体を Wiki のリポジトリとして使うことはできそうな塩梅。確 かにこれは邪道だ。:D WikiName というタイトルを持つメモデータの内容を表示 Set myOlApp = CreateObject("Outlook.Application") Set olMAPI = myOlApp.GetNameSpace("MAPI") Set memoFolder = olMAPI.GetDefaultFolder(12) 'CONSTANT: olFolderNotes Set memoItems = memoFolder.Items Set myItem = memoItems.Find("[Subject] = ""WikiName""") MsgBox myItem.body 新規メモを作成して保存 Set myOlApp = CreateObject("Outlook.Application") Set olMAPI = myOlApp.GetNameSpace("MAPI") Set memoFolder = olMAPI.GetDefaultFolder(12) 'CONSTANT: olFolderNotes Set myItem = memoFolder.Items.Add myItem.Body = "新しい本文" myItem.Close(0) 'CONSTANT: olSave これを Ruby に書き直すとどうなるんだろ。 256本買ってないから分かんない や。<だから買えって。 Windowsでも動くServer機能搭載のワンボックスWikiを書くのが吉かな。(←画餅) PalmWiki 同期についても粛々と進んでいるものの、Palm内での連携もだいぶコツが掴めて きた。 予定表やToDoの表示画面から、ワンタップでメモに飛ぶことができる。各アプリ にも標準でメモを添付する機能があるが、一つの用件にくくりつけされているの で案外有り難くない。 それが、全部のリンクがひとつのメモに結びくとこんなに便利だとは。 App/DALauncherも導入するとワンタッチで元のアプリに戻ることが出来て便利 さ256倍って感じ。 増井さんに感謝。 長年の謎 「刺身入りのおにぎりとは?」ってなんのこと? 誰もつっこまないところが非常に怖い。ひょっとしてみんな知ってる有名な話題 なのか。 しまった そういえば nroff nikki に MANPATH 通すの忘れてた。 さっき受けたボール すると、彼は言った。「先生、それらの事はみな、小さい時から守ってお ります。」 イエスは彼に目をとめ、いつくしんで言われた、「あなたに足りないこと が一つある。帰って、持っているものをみな売り払って、貧しい人々に施 しなさい。そうすれば、天に宝を持つようになろう。そして、わたしに 従ってきなさい。」 すると、彼はこの言葉を聞いて、顔を曇らせ、悲しみながら立ち去った。 たくさんの資産を持っていたからである。 (口語訳 マルコ 10:20-22) いつのまにかたくさんのものに囲まれて、それに縛られていた。 プライドとか、自尊心とか、人を見下す態度とか。 知識を、技能を誇っていた。よいものに恵まれながら、それをよいことに活かし ていなかった。 悲しみながら立ち去る者にはなりたくない。 2001.03.22 Thu (PAGE:d200103c SECT:22) Outlook なるほど(http://www.denpa.org/~go/denpa/200103/from21.html#22_2) ほとんど変わらないんですね。 でも WIN32OLE.const_load() にはびっくりしました。そんなものまでオブジェク トが教えてくれるんですね。> COM というわけで Outlook のメモ帳をデータベースがわりに使うリポジトリクラスを書いてみた。 require 'win32ole' module OUTLOOK_CONST end class OutlookRepository def initialize outlook = WIN32OLE.new("Outlook.Application") WIN32OLE.const_load(outlook, OUTLOOK_CONST) mapi = outlook.GetNameSpace("MAPI") $memoFolder = mapi.GetDefaultFolder(OUTLOOK_CONST::OlFolderNotes) $memos = $memoFolder.Items $memoFolder.Display # for debug end def find(name) return $memos.Find("[Subject] = \"#{name}\"") end def isexist?(name) if find(name) != nil then return true else return false end end def load(name) memo = find(name) if memo != nil then memo.Body =~ /^([^\r\n]+)\r\n(.*)$/p or return "" return "" unless $1 == name return $2 else return "" end end def store(name, content) if isexist?(name) then item = find(name) item.Body = name + "\r\n" + content item.close(OUTLOOK_CONST::OlSave) else newItem = $memos.Add newItem.Body = name + "\r\n" + content newItem.close(OUTLOOK_CONST::OlSave) end end def lastmodified(name) if isexist?(name) then memo = find(name) return memo.LastModificationTime else return nil end end def recentlist memo = $memos.GetFirst memolist = [memo] ($memos.Count - 1).times { memolist << $memos.GetNext } memolist.sort! {|a, b| b.LastModificationTime <=> a.LastModificationTime } return memolist.filter {|item| [item.Subject, item.LastModificationTime]} end end Tiki の PageRepository を参考にはしたものの、バックアップや履歴管理はない し機能的にも不足している。がまあ個人用ということで割り切ろう。