自分の興味の赴くままにIT技術系のネタを取りとめもなくメモっています。
Ruby言語やLinuxのネタが多いです。

February 01, 2003 [長年日記]

[tDiary] kbannerプラグイン

高林さんとこを読んで、おもしろそうだったのでtDiaryでもやってみた。コードは高林さんのモノをパク流用させていただいた。

まず、kbanner2のサイトからkbanner2をダウンロードしコンパイルし、tdiary.rbがあるディレクトリに置く。

次に、以下のコードをkbanner.rbとして保存し、pluginディレクトリに置く。

if @options
   @kbanner_fg = @options["kbanner.fg"]
   @kbanner_bg = @options["kbanner.bg"]
   @kbanner_cmd = @options["kbanner.cmd"]
end
 
@kbanner_fg = %Q[<span style="color:green">*</span>] unless @kbanner_fg
@kbanner_bg = %Q[<span style="color:white">_</span>] unless @kbanner_bg
@kbanner_cmd = "./kbanner" unless @kbanner_cmd
 
def kbanner(str, vertical = false, large = true)
   opt = ""
   opt += " -#{str.size} " unless vertical
   opt += " -s " unless large
   bitmap = `echo -n '#{str}'| #{@kbanner_cmd} #{opt}`
   ret = ""
   bitmap.each_line {|line|
      line.each_byte {|char|
         if char == ?\s
            ret << @kbanner_bg
         elsif char == ?; or char == ?, or char == ?' or char == ?#
            ret << @kbanner_fg
         end
      }
      ret << '<br>'
   }
   ret
end

これで準備OK。あとは以下のように使う。

<%= kbanner 'あほ' %>

実行結果:

____________**__________________________________________________
____________**______________________**__________________________
____**********************__________**____********************__
__________**______________________****______________**__________
__________**______**______________**________________**__________
__________**************__________**________________**__________
______******______**__******______**______********************__
____****__**______**______**______**________________**__________
____**____**______**______****____**________________**__________
__****____**____**__________**____**________________**__________
__**______**____**__________**____**________**********__________
__**______**__**__________****____**______**________******______
__**______****____________**______**__**__**________**__****____
____******____________******______****____**______****____****__
__________________******____________**______********____________
________________________________________________________________

オプションは以下の通り。

@options["kbanner.fg"] - 文字の部分の形状・CSSを指定

@options["kbanner.bg"] - 空白の部分の形状・CSSを指定

@options["kbanner.cmd"] - kbannerコマンドを指定(フルパス・相対パス)

ちと重いかなぁ。XREAで使うのはやめとこ。

本日のツッコミ(全4件) [ツッコミを入れる]

Before...

むとぽん [おぉ。直しました。 元々は半角スペースが入っていたのですが何かの拍子に消えてしまったようです(高林さんのソースでは半..]

なかだ [あ、エラーになるのは1.8だけか。 1.6でもwarningは出るので、スペースとか改行はエスケープ形式のほうがいい..]

むとぽん [ほんとだ。1.8だとエラーになりますね。]


February 03, 2003 [長年日記]

[tDiary] tDiary-users ProjectのWikiページ

本格的に稼働し始めたようだ。tDiaryパワーおそるべし。

ちなみに、tDiary-FAQも移すようだ。

オレ的にちと寂しいのがtDiary-FAQにあるプラグインの一覧のうち一部のプラグインがPlugin Listに移ってないこと。

しかもオレがこっそり登録しておいた(^^;)fortuneとfusejiが削られてる。しくしく。

#まぁ、誰も使わないだろうからしょうがないか。

[tDiary] アクセスカウンタ表示プラグイン

今日、久しぶりにいろいろな方の日記を巡回してたら、アクセスカウンタ表示プラグインが原因で遅くなっているというのを発見(こちら,こちら)。

そういや、オレのサイトもcounter.datが1.5Mある。ひょっとしてこのサイトに負荷かけてるのって、本日のリンク元表示プラグインじゃなくてこっちなのか。こりゃいかん。

ちなみになぜ1.5Mもあるかというと、これはアクセスしてきたクライアントの情報を保存してるんだよね。なぜかというと、クッキーに対応してないブラウザとかからアクセスされても安易にカウントアップしないようにするのに使うため。でも、これ、方式から見直さないとなぁ。

[tDiary] とはいうものの

今週末はRuby-GNOME2をリリース予定なので、アンカー自動生成プラグインアクセスカウンタ表示プラグインの件はそれ終わった後に対処しよう。すんまそん。

本日のツッコミ(全8件) [ツッコミを入れる]

Before...

むとぽん [一応、うちの会社の環境(IE-5.5), Mozilla-1.3a)では無事クッキーを受け取れてるみたいですが.....]

ただただし [うーん、出たり消えたり(笑)。 ツッコミの名前やメールアドレスも覚えてくれないですね、XREA。]

むとぽん [ぜんぜん気にしてませんでしたが、確かにそうですね。 うーむ、XREAのせいなのか自分のせいなのか...。自分のせいか..]


February 09, 2003 [長年日記]

[Ruby-GNOME2] Ruby-GNOME-0.3.0

リリースしました.....。結局1日がかり。ものすごくパワー使うな、これ...。

[tDiary] アクセスカウンタ表示プラグイン

見直し中。なんかすっかり忘れてるってか何やってんのか全然わからん。うーむ、難しい(^^;)。


February 10, 2003 [長年日記]

[cygwin] CygwinでRuby-GNOME2

を動かそうと思って、会社の暇な時間を見つけてトライしてみたんだけどうまくいかず。

ひとまず、Ruby/Pangoを試そうと、Makefileをちょこちょこいじったりglib2.defを手で書いてみたりして、なんとかコンパイルはできたんだけどコアを吐く。

まぁ、根本的な原因はオレがコンパイラとかリンカとかがよくわかってないのが原因なんだけどね、ってオイ(^^;)。

とはいえ、あまりそれに費やす時間もない(何せ会社しかないんだもんWin32環境(^^;))し、誰かやってくれないかなぁ、Win32対応。いや、マジで。

[tDiary] アクセスカウンタ表示プラグイン

counter.datがやたら大きくなる件だがやはりバグだった(^^;)。

1日1回、指定した時間を超えたデータは削除するようにしていたのだがそのロジックがマズくて全然削除されてなかった(そりゃでかくなるわな(^^;))。あと、ちとコードもわかりづらくなってた。

というわけで、その辺書き直してここでトライ中。1日1回ずつクリーンアップされるのでちょっと様子を見ることにする。

まともに動いているようだったら今週末にでもリリースしようかな。

本日のツッコミ(全2件) [ツッコミを入れる]

さかい [手で.defファイルを作るよりも、 glib2.soのビルドの際にLDFLAGSかDLDFLAGSあたりに --ex..]

むとぽん [なるほど。明日またやってみます。 #つまり休日出勤、いや仕事が忙しいからなんですが(T_T)。 っていうか、さかいさ..]


February 15, 2003 [長年日記]

[tDiary] アクセスカウンタ表示プラグイン-1.6.3

リリースしました。counter.datのサイズが激減しますし、結果として処理速度・サーバへの負荷がだいぶ減ると思うのでアクセスカウンタ表示プラグインを使っている方は是非バージョンアップしてください。

#1.4, 1.5系両用です。たしか(^^;)。

[Misc] USENのFTTH

家にチラシが入っていたのだが、とうとうオレの住んでいる町内も使えるようになったらしい。月々4,800円(3月からは4,200円)だ。さらに300円足すとGATE CALLというIP電話も使えるらしい。しかもGATE CALLは一般の電話と同じように03-xxxという電話番号が割り振られるし、一般の電話ともやりとりできるらしい。しかも1分あたりの値段を見てもNTTの半分以下だ。

おまけに2/23までに申し込めば基本工事費の15,000円が無料になる。

うーむ、申し込んじゃおうかなぁ。ベストエフォートだけどなんてったって100Mbpsだしなぁ。

でも、今契約してるプロバイダを使おうとすると2重で契約しないとならないのかな。それはちょっとイヤだなぁ。


February 16, 2003 [長年日記]

[Misc] 申しこんじまいました(^^;)

って、あれです、USENのFTTHっす。

土日も受け付けてると言うので電話してみてみたら、んじゃ、今から営業が行きます〜、とか言われて気がついたらハンコ押してましたよ。

まぁ、押しに弱いオトコだからしょうがないんですが、グローバルIPを最大5つまでくれるというのがうれしいじゃないですか。

料金は色々オプションを(IP電話とかメールアドレスとか)追加したので月々6,000円弱になってしまいましたが、今契約しているプロバイダの契約料の4,000円ちょっとと、NTTの月額固定費用1,500円くらいを解約すればそれほど今までと変わらないもんね〜。

ただ、PCがインターネットにさらされることになるのでセキュリティ関連は自分で責任もってやらないとダメなんだよね。100Mbps対応のルータ買ってポートフィルタリングするか、Linuxでやるか。いずれにせよ大丈夫かな、チト心配(ってこれ知らないで契約してるヒトって結構いるんじゃないかな...)。おっと、その前にイーサカードも100Mbps対応にしないといかんのか。

そうそう、せっかくグローバルIPもらえるんだったらいっそサーバ立てるか。立てても良いって営業さん言ってたし。

ここも本来のLinuxビボ〜ろくっぽいネタが増えるかもなぁ(^^;)。

メールアドレスとか、ここのURLとかむとぽん7のURLが今後変わるかもしれないのがちょっと心配だけど、ま、この際、過去も清算するとするか(^^;)。

本日のツッコミ(全6件) [ツッコミを入れる]

Before...

むとぽん [ひょっとしてすでにFTTHなんですか? > たけうちさん]

たむら [Open BlockSSがあるじゃないすか # て販売終了らしい http://online.plathome.co..]

むとぽん [いやぁ、サーバは立てようと思うのですが名前をruby-gnome2.orgにするかどうかはちと悩みどころです。 OB..]


February 18, 2003 [長年日記]

[tDiary] ひさしぶりに

伏せ字プラグインを使ってくれている日記を見た。なんかうれしかった。

#でも、何が書いてあるのか読むために20回以上、リロードしてしまったのはヒミツだ(^^;)。


February 24, 2003 [長年日記]

[Ruby] 10年目の誕生日

なんだそうです。おめでとうございます。


February 26, 2003 [長年日記]

[tDiary] アンカー自動生成プラグイン修正中

全然意識してなかったんだけど、これってtDiaryのkw.rbだけではなく、他のWikiなんかの表示方法も参考にした方が良さそうだな。

たださんのWikiスタイルやたけうちさんのHikiでは以下のようになっている。微妙に言葉遣いが異なると思うが、ここでは、キーワードとはそれがURLに置換されるキーのこととする。

 [[キーワード]]     
 [[yyyymmdd#pxx]]      #(Wikiスタイルのみ。myプラグイン相当)
 
 [[表示文字列|URL]]
 
 [[キーワード:URLに展開される際のオプション文字列(日本語可)]]
 
 [[表示文字列|URL]]
 [[画像名|画像URL]]   #imgタグに展開される

あり?表示文字列とキーワードとオプション文字列をいっぺんに指定できる方法は無いのかな(アンカー自動生成プラグインのオプションを全部設定したような指定方法)。

RWikiはどうかというと

 ((<リンク先のページ(同サイト内)>))
 ((<URL:http://.../>))
 ((<表示文字列|URL:http:..../>))

ってことは、この前のやつって、

表示文字列を先に持ってきた方が良いのかな。

 <%= a "表示文字列|キーワード:オプション文字列" %>
 <%= a "表示文字列|キーワード" %>
 <%= a "表示文字列|URL" %>
 <%= a "キーワード:オプション文字列" %>
 <%= a "URL" %>

でも、これだと、今までのアンカー自動生成プラグインと順番変わっちゃうなぁ。

オレ的には重要な情報ほど左にあるのが好きなんだけど、この場合、表示文字列よりキーワードやURLの方が重要な情報だと思うのでオレの好みだと逆になってしまう。

うーむ。

本日のツッコミ(全4件) [ツッコミを入れる]

Before...

むとぽん [でも、その表示文字列が省略可能なんですよね。代入する左辺が省略可能で右辺は必須というのはまだ馴染めないですねぇ。]

ただただし [省略できるのは左辺と代入演算子の両方だから、残る右辺は即値ですよ]

むとぽん [なるほど。確かに。]


February 27, 2003 [長年日記]

[tDiary] tDiary-1.5.3にしてみた

どうかな?

お、カテゴリ表示も良い感じだ。以前のデータもきちんとカテゴリ分けされてる。最初からカテゴリ分けしてた甲斐があったというモノだ(^^;)。

そっか、Wikiスタイルは改行するのに段落1つあける必要があるのか。

あれ?右上の日付表示(calendarプラグインか?)の2003/2月分が2つあるぞ..。

ま、いっか。今日はもう寝よう。