予定は未定
- 買いたかったもの
- ヴィンランド・サガ(4) (アフタヌーンKC)
- COMIC リュウ
- 週マガ
- リボルテックヤマグチ No.20 グリフォン
- 買ったもの
いやさ,蔦屋行ったらさ,店内放送で歌姫ベストに収録されてる曲が流れてさ,「あぁ,やっぱ明菜はえぇなぁ」なんて思ってたらさ,買っちまってたわけよ.それに,最近某歌姫伝説で稼がせてもらったもんだからさ,まぁ勢いって大切じゃない.
結果的に,買って良かったと思ってます.「あ〜この曲聞いた事あるわ〜」ってのばっかりで.てかほとんど.当分iTunesでエンドレスにループ.身内ネタで言うとこのループインフィニティ.
ジャケット明菜のイヤリング,ANエンブレムを見ると,なんだかゾクゾクするね.
グリフォン買えなかったのは少しショック.ココ数日,体調極悪.
鼻水ズルズル,痰は止まらん,なんか奥歯痛い(親知らず?),髪の毛切りたい.
今日に限ったことだとは思うけれど,すげー胃が重い.恐らく昨晩のマクドナルド.ビッグマックのバリューセット+フィレオフィッシュ+マックチキンでドッシリ.食わせ過ぎだよ親父殿.
3/9の追い出しコンパ,万全の体調で臨めるかしら.
今日は朝から歯医者で奥歯を見てもらおうと思ったけれど,雨が降ったので延期.下手に治療して,追いコンで辛いものが食べられないようになると,結構凹むし.今日はダラダラと借りてきたDVDでも見て休日を満喫.
ところで,『サウンドオブサンダー』は駄作だと思う.超映画評論の75点とか嘘だぁ.ありえねーよ.
そもそもさ,恐竜狩りとか前提がおかしいよ.死ぬかもしれないスリルを求めてわざわざタイムスリップして恐竜殺しにいってるくせに,いざ死にかけたら「訴えてやる」はねーだろう.大体1時間ぐらいのトコをチラッと見ただけなんだけど,この時点で見る気を無くした.
今日は,これから『奇談』を見ます.諸星大二郎×阿部寛とか熱過ぎる.駄作でもそれだけで満足してしまいそうだ.
追記
みんなぁー!ぱらいそさいくんだー!おらといっしょに,ぱらいそさいくんだーー!!
「ぱらいそさいくだ!」じゃないのかよと思った.唯一,そこだけが気になった.
いやぁ,音楽が川井憲次とかビビった.ピアノのメーカーが『K. KAWAI』だったのが笑える.川井音楽は良いね良いね.
PRagger:notify_growlを書いてみた
書いてみたのはよいが,PRaggerの最新版が短くなりすぎててビビった.Configクラスとか消したんだ!やっぱgemを素直にrequireできないのは不都合なのかな?お陰で,notify_growlも最新版対応するともう少し簡単になりそうってことで,ちょっと修正,今に至る.
必要なもの
def notify_growl(config, data) require 'rubygems' begin require 'ruby-growl' rescue LoadError puts <<LERR LoadError: Please install gem "ruby-growl" # gem install ruby-growl LERR exit end default_setting = { :host => "localhost", # host to connect :app_name => "PRagger", # name of the application :password => nil, # needed to send notifications to host :title => "PRagger", # title for notification :sticky => false, # makes the notification stick until clicked :jp => false # notify in Japanese (default English) } default_setting.each do |k, v| unless config[k] config[k] = v end end if data.size > 0 g = Growl.new(config[:host], config[:app_name], ["notify-growl"], nil, config[:password]) if config[:jp] message = "#{data.size}件の新着フィードがあります" else message = "#{data.size} new feeds available" end begin g.notify("notify_growl", config[:title], message, 0, config[:sticky]) rescue puts <<NOGROWL Error: Please install or start Growl http://growl.info/ NOGROWL exit end end return data end
思ったんだけど,もうPRagger本体でrubygemsぐらいはrequireしといて損は無いかもね.ちなみに,ソースコード中の英文は適当.
久々にLisp
いまだに3章までしか読めてないANSI Common Lisp.読めてないっていうか,読んでない.なんでだろう,時間はあるのに.まぁそれは置いといて,本を読んでいて出てきた,以下の3つの関数を定義してみた.
> (union '(a b c) '(c b s)) (A C B S) > (intersection '(a b c) '(b b c)) (B C) > (set-difference '(a b c d e) '(b e)) (A C D)
unionはor,intersectionはand,set-differenceは差ってことかな.
(defun my-union (a b) (if (null a) b (adjoin (car a) (my-union (cdr a) b)))) (defun my-intersection (a b) (if (null a) nil (if (member (car a) b) (cons (car a) (my-intersection (cdr a) b)) (my-intersection (cdr a) b)))) (defun my-set-difference (a b) (if (null a) nil (if (member (car a) b) (my-set-difference (cdr a) b) (cons (car a) (my-set-difference (cdr a) b)))))
何時も思うけれど,Emacsのifのインデントは何でヘンテコなんだぜ?上のは整形してあるんだけれど,実際はこうなってる.
(defun my-union (a b) (if (null a) b (adjoin (car a) (my-union (cdr a) b))))
不満.まぁそれは置いといて,動作確認.
> (load "my-set.lsp") ;; Loading file my-set.lsp ... ;; Loaded file my-set.lsp T > (my-union '(a b c) '(c b s)) (A C B S) > (my-intersection '(a b c) '(b b c)) (B C) > (my-set-difference '(a b c d e) '(b e)) (A C D)
オッケーだね.ところで,intersectionの挙動がちょっと嫌だな.
> (intersection '(b b c) '(a b c)) (B B C) > (my-intersection '(b b c) '(a b c)) (B B C)
uniqueじゃないというか.再帰を考えずに反復マクロとか使ってやれば簡単なんだけど*1,面倒くさいし止めておく.
ところで,まだclispでフィボナッチとか階乗とか求めてない気がするので,やっておこう.
(defun fib (n) (if (< n 2) 1 (+ (fib (- n 2)) (fib (- n 1))))) (defun fact (n) (if (eql n 1) 1 (* n (fact (- n 1))))) > (mapcar #'fib '(1 2 3 4 5 6 7 8 9 10)) (1 2 3 5 8 13 21 34 55 89) > (mapcar #'fact '(1 2 3 4 5 6 7 8 9 10)) (1 2 6 24 120 720 5040 40320 362880 3628800)
lispって文法が単純だから,疑似コードをそのまま書けば結構すんなり動いてくれるんじゃないかって思う.実際,今回書いた全てのコードは,一発で動いたし.まぁこの程度の問題だからかな.もっと複雑になると,テストしまくらないとダメなんだろうな.
*1:memberとか使って返すリストに要素が含まれてるか見れるし
LiveCoding行ってきましたよ & MeCabメモ
何とも言えん不思議な雰囲気で楽しかった.京大町家キャンパスもサイコー.うじひささん,お疲れさまでした.
MeCab
LiveCodingのなかでMeCabがチラッと出てきたので,その場でチャチャっとMacにインストールしてみました.
$ sudo port install mecab +utf8 # これでutf-8もバッチリ?+sjisでShift-JISの辞書ファイルも $ sudo port install rb-mecab
これで,RubyからMeCabを呼ぶことができます.素敵ですね!PerlやPython用のも用意されてるみたいです.
続きで,MeCabを試してみます.