2012-03-08 [ごはん] 4 年に一度の聖なる日に... [長年日記]
■ 4 年に一度の聖なる日. ニクの日ということで焼き肉.
少し遅くなったけど書いておく.なんていうか blog 一年ほったらかしだし.
まあ、店はもういうまでもないくらいお世話になっている
秋葉のたん清. 仕事が立て込んでいて人数が集まらなかった
けど, あとは野となれ山となれ、と言える猛者2名でこの
聖なる日を逃がす訳にはいかない、と突入w
明日以降のスケジュールをどう辻褄つけるかorz いつものようにお出迎え.そういえば、最近はカラーやめちゃったのね.
というわけで開幕はホワイトと塩辛、白菜キムチ.
看板メニューといってもいい上タン塩.
麦飯ハラミ丼のネタ, ハラミ. 某先生の御用達
緑のもの、という名目で一人一つのグリーンサラダ
今日のソムリエお勧めは赤兎馬.
10年前のメニューにはちゃんとあったのよ. 塩カルビ.
仲間内では NST とか呼ばれて麻薬扱いされている禁断の葱塩タン.
なんかすげーやばいくらい旨い, ゆずしゅ. は写真忘れた. で, 締めはロースとアイスクリーム
ここ最近ご無沙汰だったのでガツガツ何時もの倍ぐらいくって ごちそうさまでした.
もっとも、その後電話で二次会に呼び出されたりして帰ったのは終電午前様ですが まあ、年度末の近い月末はどうしても送別会とか多いですしm(_._)m
2011-03-01 2011 02月に読んだ本 [長年日記]
闇の左手 (ハヤカワ文庫 SF (252))早川書房
¥ 819
いうまでもない古典的なSF. この人の作品を読むと何故か色々と救われるような気がするのは何故だろう.
闇の左手とは光のことであり,「誤った問に対する解答を知ることのいかに無益であるかを示すためです」という哲学.
おそらく彼女の文化圏で一般的ではないだろうし, 自身の思想に必ずしも全て同意するものではないのだが, こういう流れ出てくる思想が安らぎに近い何かを考えさせられる一冊ではある.
這いよれ! ニャル子さん (GA文庫)ソフトバンククリエイティブ
¥ 630
なんというか激しく人を選ぶ, というか皆クトゥルが一般知識だと思ってるんじゃないか? そんな訳決してないと思うんだが.
成功した萌え化. というべきか, あるいはこの本がこの感想を書いている時点で #6 まで継続しているという事実を褒めるべきか.
自分には既に前提知識があるので, 内容はきっと良くできているが, これだけで楽しめるかはちょっとわからない.
エンダーのゲーム (ハヤカワ文庫 SF (746))早川書房
¥ 1,050
SF は science fiction ではなく, speculative fiction だ, という主張を考えさせられる一冊.
エンダーの成長や, トリックは秀逸だし, 非の打ち所がない.
しかし, 最後の節で示される一節は, 作者の信じる調和の形なのだろう. それを受け入れるかどうかも含めて考えさせられるから specurative なのだ, と.
光文社
¥ 882
一昔, 民主党が政権をとったぐらいに騒がれていた思想で正直聞いたときには嫌悪しかなかったのだが勉強しないで 嫌うのはどうよ, というのと, 場合によっては経済効率性があるのかも, と思って新書一冊ぐらいは, と読んでみた.
歴史/社会性, 哲学, 経済性という順番で解説を進めているが, 正直歴史/社会性の項でこの本を受け入れられるかはかなり決まると思う.
論理の飛躍と, 針小棒大と思われる言説で論理の信頼を失い, 一方で経済性については詳細を他書に譲るとしている点で正直評価できない.
虐殺器官 (ハヤカワ文庫JA)早川書房
¥ 756
ゼロ年代の SF という用語があるが, 今日の色々な変化やそこから生まれる思想, 未来予測というものが取り込まれた未来予測という点で, かつ我々が今を往きている上での考えられる思考の実験として, 古典 SF とは一線を画しているのではないか, と感じさせられる作品のことを云うのではないか?
そんな中で恐らく頭一つ抜き出た傑作であることは疑いようのない作品.
正義の的は悪ではなく,別の正義, というが, ジョン・ポールと"ぼく"とどちらに正義を感じるのだろうと考えるのは楽しくもある.
異星人の郷 上 (創元SF文庫)東京創元社
¥ 987
ミーハーなので, "このSFが読みたい" の 1位で平積みだったのを買ってくる.
中世キリスト教の科学と, おそらく現代の知識より進んでいるだろうことを想定した SF の科学が, "翻訳"の妙と理解のバッファでなんとかやりとりをされて話は進む.
ああ, 下巻が楽しみだ.
2010-09-01 [書籍] 2010/08 の読書リスト
薔薇のマリア 14.さまよい恋する欠片の断章 (角川スニーカー文庫)角川書店(角川グループパブリッシング)
¥ 680
サイドストーリーというのは一寸違う断片集のような 14巻.
後書きにもちょことあるが、最終章を書く前にネタの補完をやっておきたかったと思われる本章. 正直意外だな、という展開はあまりなくここまでの流れを正統に展開していったようなサイドストーリー
どことなく昔のウイザードリィ小説集の匂いのする本作も収束に向かえるのかな、という予感のする巻だったり,なかったり.
薔薇のマリア 13.罪と悪よ悲しみに沈め (角川スニーカー文庫)角川書店(角川グループパブリッシング)
¥ 740
ルーシー編? と云えばいいのかな, の編の最終話.
正直ルーシー編は飽きが来ていてあまり読む気力が湧かなかったので放置していたのだが #14 が出たので大急ぎで読む.
次章がたぶん最終ということもあってかところどころに隠蔽していた世界観を出して収束をはかりつつ、SIX 編の収束も 重ねていく、というような感じ.
ソードアート・オンライン〈5〉ファントム・パレット (電撃文庫)アスキーメディアワークス
¥ 578
絶好調. というかこの手の SF はコンピュータ屋の心をくすぐる.
SF ではある意味使いふるされたネタではあるのだろうが, AR とか新しいネタもちゃんと入って, "仮想世界と現実世界の違いは, 情報量の過多でしかない" と云わせるあたりは惹かれるものがまたイイ.
ちなみに表紙はキリト君ですw
VHDLによるマイクロプロセッサ設計入門―パソコンによるシミュレーションから論理合成、配置配線まで (Design Wave Booksシリーズ)CQ出版
¥ 3,360
色々あって CPU を HDL ベースで作成してみようと思ったのでその教科書として購入
MIPS 自体はパタヘネなりSee MIPS Run なり色々読めばいいし既に開発で実践経験のほうは豊富だったりするのだが, HDL でのコーディングは殆ど経験がない, というより 以前、大学関連の授業で数時間見たことがある程度なので手っ取り早く補う為に購入.
多分, オブジェクトとか契約によるプログラミングとか加算器とかを一通りやっていると CPU を設計するためにこの本と、CPU の適当な命令からパースまでの書籍を読めば論理的には 作れるんじゃない, と云えるくらい出来の良い本. 実際、この本読みながら 2週あれば COMET を解する CPU ぐらい作れる.
個人的に難点を挙げるとすれば, 説明の為に書かれている仮想的な記法が日本語/予約語混ざり で見難いのと, 先頭の業界概略の説明がわかりにくく感じる(というかいらないと思う)が, このあたりは好き好きではないかと思える一冊.
スクウェア・エニックス
¥ 420
何か読んだことのあるような、ないような. ここ数冊買ってなかったような気がするのでまとめ買いの24巻.
ホーエンハイムやブラッドレイが共演し始めているような一冊.
おやじがよく動く、というか、なんというか. ここ数冊を見直したのだが, 実はホムンクルスとか錬金術師とかの動きが全く違うのを良く書き分けられているんじゃないのか、というのが良くわかる.
スクウェア・エニックス
¥ 420
地道にクライマックスの続く25巻.
なんというか小気味の良いテンポでトントンと進んで息をつくヒマもない.
全然関係ないが、お父様, が錬金術をいじった、って話は要するに破壊と再構築に特化したフレームワークを作ったってことかな, などとコンピュータ屋らしい感想を述べてみる.
スクウェア・エニックス
¥ 420
小気味のよいテンポで26巻.
国土錬成陣が発動して、ラースと決着がついてとめぐるましい.
正直ラースの処遇をどうするのかな、と物語途中で思っていたが順当におちついたのかな?
小学館
¥ 440
表紙のやっつけ的な感じが何となく作者の心境なのだろうか? の 25巻
当面は引越しと細かいネタでだらだらひっぱるのではないか、と.
いや、十分面白いですよ. でも何となく印象にのこる話が少ないんだよなぁ. とりあえずあーたん次いつでるの?
All You Need Is Kill (集英社スーパーダッシュ文庫)集英社
¥ 600
どこで手に入れたのかわからないが, 未読文庫の山にはいっていたのを読んでみた.
よく出来たSFだけど、ハヤカワにいれるにはちょっと良い意味で原稿が足りない、というのを、 ああラノベが 吸収しているんだな, という感じでさくさく読める一冊.
絶妙の読了感があってお買い得ではないかと.
入門 Google App Engine for Java秀和システム
¥ 1,575
Google AppEngine の入門書としてとりあえずの一冊として手に入れといた本書.
正直, 著者が分かっていないのか、あるいは入門を前提にした説明の上でそういう記述になったのか ということを考えさせられる箇所がちらほら.
入門書という役にはあまりたたないのではないか? 広範は、ああ、こういうものか、という観点での理解を求める ことは難しい. むしろこの本ではこうなのね、というのを覚悟おけばそこそこ読めるが、これ一冊では 何をやるにも不満が残るような内容.
2010-03-01 [書籍] 2010/02 の読書リスト [長年日記]
レイン〈1〉雨の日に生まれた戦士 (アルファポリス文庫)アルファポリス
¥ 641
吉野匠 のレインの文庫版. 傭兵というか騎士というか, と王女の出てくる安心して読めるファンタジー, といったところ.
大判サイズで8巻ぐらいまで出ているものの文庫焼き直し版. 第一巻ということもあって恐らく 今後出てくるキャストを出しつつちゃんと締めるという王道派.
レイン〈2〉招かれざる帰還 (アルファポリス文庫)アルファポリス
¥ 641
月初はそれなりに時間があったのとファンタジーを兎に角読みたい, と本屋にかけこんで そのまま買ってかえったのが大当りという本書. 作者は最近頭角を表す例の多いネット投稿組 のようで文章, 構成とも安心して読めて面白い, ちょっとラノベ要素あり, という素晴らしさ.
円環少女 (11)新世界の門 (角川スニーカー文庫)角川書店(角川グループパブリッシング)
¥ 660
魔法?少女! ものというと激しく誤解を招くだろう本編.
正直, ここまで長かった. まだもう少し続くんだろうけど, 最近の話はまともに読めるようになってきたw. 何故かこの作者の作品大体持ってるんだけど, 1,2巻ぐらいの頃は魔法とか背景世界をを描写しようとして かえって読み難さが目立つ, というか読み難い本作も, 最近はそういった描写が簡素化され, ストーリーも進んでとここ数巻ちょっとよいことずくめ.
パパのいうことを聞きなさい! (集英社スーパーダッシュ文庫)集英社
¥ 600
素晴らしい. エクセレント! こんな路線があったとは. 萌えと王道とその他もろもろ, ラノベとして安心 して読める上, 高レベルで纏まっている. 文句のつけようがない. ちなみにかなりツボ.
幻冬舎
¥ 819
典型的な資産設計書. 長期投資をやりましょう, といった内容. 本はそれなりに人を説得 できる出来だとは思うが... 長期なんだから資料とか分析とかいろいろ取れるはずなのでもう少し 論理的に色々固めてもいいと思うんだが. まあ題名は煽りが 80% ぐらい. ついでに最後に ついているちょっとしたポートフォリオも年率設定に無茶がありすぎ. 作者が証券会社の人間で ついでに、最近の不況で短期では個人の資金がはいらないので書きました, って側面を知った上で疑って読むといい本w
新潮社
¥ 1,155
数学者の栄光と挫折を赤裸々に、しかも並べるのではなく物語として綴った本書. これを この様な光と影を形づくる物語に纏め挙げるということが何にもまして素晴しい.
数学の業績もさることながら数学者の人間としての側面を愛のある視点で纏めあげた, と いって良いのではないか? こういう書籍を若い内に読ませておけば 100 人に一人ぐらい 数学を試みさせられるのではないかと思うと, 教育という面でも見るべきものがあると思う.
路地恋花 1 (アフタヌーンKC)講談社
¥ 590
たまたま電車の中で読む本がなかったので good アフタヌーンに手を出したのが運のツキ, っていうか, 多分この雑誌大当りよ. その中で一番ヒットかも, という路地恋花の単行本
第一巻. 恋愛モノの漫画のなかでこれほど、ああ、いいな、っていうのと良質のエンターテイメント 性をもったのは中々ないんでは. 願わくば変なキャスティングとかでドラマ化されたりしませんように.
夏の前日 1 (アフタヌーンKC)講談社
¥ 610
作者買いする人とかいっぱいいそうな吉田基己の good アフタヌーン掲載作品. どうも別の 作品のスピンオフといった位置付けらしいがそちらを読んでいないので良くわからない.
絵は相当いいんだがちょっと安定していない. ストーリーは好みがわかれるんじゃないのか, という本作. 個人的にはあまり気に入れなかったけど出来がいいことは否定できない.
WEB+DB PRESS Vol.54技術評論社
¥ 1,554
Google Wave の特集が載っているというのもあり購入. 他の記事はすっとばしてしまって あまり読んでいないのだが, ファーストインプレッションとして Google Wave とはなんぞや? という問いに技術面から答える, 現在もっともまとまっている内容ではないかと.
正直情報が分散していて、ある種切れ端ばかりなので先にこの記事を読んでから事にあたる のをオススメするぐらい纏まっている.
モンゴルの残光 (ハルキ文庫)角川春樹事務所
¥ 882
SF とはおもっておらず, 帰り際に読むものが切れたのでたまには歴史モノでもと手にとった 本巻. タイムトラベルものの SF で歴史描写も良くできている SF の良作.
人名とかの表記等について好みが別れるところはあるかも知れないが, 作者の味と思えばそれもまた 楽しい本作.
サマーウォーズ (角川文庫)角川書店(角川グループパブリッシング)
¥ 580
同名の映画?,ビデオ?の小説版. 原作者が別にいるので多分ノベライズとかタイアップとかなのかな. ムシウタの作者だったので色物かなと思いつつ買ってみたがこれが中々.
てか, ここまで書けるならラノベ書きなんてしないで, こっち本業にしてやってけるんじゃないのか この作家,って出来. 登場人物大杉. まあそういう作品なんだから仕方ないとして. 映像だと上手く いくんだろうがそのあたりは小説ではちょっと難しいのかも. もっともだからといって問題がある ような書き方じゃないところが作者の技量がうかがえるところかと.
Arduinoをはじめようオライリージャパン
¥ 2,100
Arduino の為の哲学書. 正直技術を期待して買うとかなりがっかりする.
導入には重宝するが, 内容はプログラミングにあたったことのない人間に如何に、いろいろなものを 容易に組み立てられる Arduino を触らせようか, という視点で書いたのだと思う.
後ろにリファレンスがまとまっていることから一冊目として常備しておくに良いと思うが実際に何か をやるには不足と思われ, もう1,2冊もうすこし詳しい本と, あと試行錯誤がいると思う.
筑摩書房
¥ 777
ヤバい、ヤバいと云われるメディアの収益関係とネットがどういう影響を収益にもたらした のか, を纏めた書籍. 正解かどうかは異論もあるだろうけど, m9(^Д^)プギャー をやる よりはこれ読んだほうがきっと為になる. ついでに著者なりのこのメディアに対しての処方箋を 処方している, というか方策を提示している. 理想はわかる, 新聞業界にいた著者であるが故の 愛でもあろう. しかし, それが出来なかったが故に現在の凋落であり, 正直既存のメディアでそのような 処方箋をやれないだろう, と見限っているのがネット側の人間の本音だろう. そこが旧来のメディアとの 本当の隔絶なのかも知れない.
小学館
¥ 420
#20 が出ていたのだが #19 を買っていないことに気付いてあわてて購入. 本編はいうまでもなく十分な出来のファントム編. しかもこの時期に読むと環境省に怒りが沸々 と湧いてくる花粉編.
しかし, この巻の素晴しさは 各話冒頭の 4コマにあるといっても過言ではないと思う. てか 4コマのために買う価値があるだろ, この巻.
う、今月は技術系全然読んでない...
仕事にかまけてラノベばかりだな...
2010-02-07 Wave protocol のお勉強 part1
■ [google][wave] Wave protocol のお勉強 part1
京の仇を長崎で, もとい勉強会の仇をおうちで. 折角ドメイン持ってサーバかかえているので Wave Provider を立ちあげて, 外部と繋げようと思ったのだが勉強会の時間内には繋げられな かったのでリベンジ.
証明書は FedOne のページで紹介されている のページで何回 かアクセスしてようやく入手となる.
openssl genrsa 1024 | openssl pkcs8 -topk8 -nocrypt -out my-server.key openssl req -new -nodes -sha1 -days 365 -key my-server.key -out my-server.csr
という形で CSR を作成. 色々聞いてくるが Common Name(CN)の項目だけ正しくいれておけば後はあまり重要ではないと思われる. 正常に終了すると, CSRファイルが出来るので, そのまま CSR(ここでは my-server.csr) ファイルの中の BEGIN CERTIFICATE REQUEST, END CERTIFICATE REQUEST 行の間の文字列を貼りつけ, あとは適当に期間と送信先のメールアドレス等を指定してやればよい.
注意しなければならないのは, 証明書を送付できるメールアドレスは選択できる物に限定される, ということ. まあ, ドメインの保持の確認も証明書の発行時の確認要件の一つなのだろうから, 当然かもしれないが, せめて"@"より 前は選択させてほしいかも.
設定そのものは このあたり を参考に やってみるのだが, どうもログに何やら通信表示はできるものの何故が上手くいってはくれない. 残念ながらリベンジはまたの機会に orz...
2010-02-06 Wave Protocol の勉強会のまとめ
■ [Google][Wave] Wave Protocol の勉強会のまとめ
土曜に Wave Protocol の勉強会に出たのでそのまとめ.
最初に Wave Protocol のちょっとしたまとめ. なんていうか HTTP かとずっと勝手に思っていたので 目から鱗. プロトコル的には現代版 IRC とか反省した NNTP とでもいったほうが近いのかも. まあ XMPP の拡張品とのことだからそういう感想になるのかも.
今 Wave といっているものは大まかにこんな感じ. (cf. 資料)
- Protocol Protocol は wave で使用されている個々の役割でそれぞれ
- Federation
- Client-Server
- Robot
- Wave Provider
- Wave はそれぞれ Provider に属する Mail(IMAP) が Provider に属するような感じ
- 本人が属する Provider が Wave 本体を持つ. 異なる Provider の人間間で 同一の Wave を編集するような場合はコピーがそれぞれのユーザの属する Provider に作成される Copy であと同期される (同期アルゴリズムには Operational Transformation が別途定義されている)
- 同期 同期の為のプロトコルには XMPP をベースに拡張(XEP0114)したものを使用している.
- Client-Server 間で操作を送って Server で統合 ユーザがクライアントで行なった操作は全てサーバで統合され, サーバ間ではデータが Operational Transformation で別途同期される, といったイメージ
- Robot protocol
- robot への operation を hook している
- いまのとこ AppEngine しか使用できない (JSON でうけとるような感じ)
- Operational Transformation
- 衝突検知/緩和操作
- Protocol Buffers
- FedOne では .proto がそれ. 実際は吐かれたファイルがそのまま並んでいるだけっぽい
はじめの設定のあとは作業モード. 主にクライアント作成班とサーバ接続班にわかれて ゆるーく作業.
自プロバイダを上流の sandbox に接続しようと試みるがどうもオレオレ証明書ではだめっぽいので startSSL に証明書を取りにいくもサーバの負荷なのか上手くいかずタイムアップ
次回は Hackathon とかあると面白いかも. きっとサーバにある程度精通してこっちは 安定稼動できるかな.
2010-02-05 Wave Protocol の設定
■ [Google][Wave] Wave Protocol の設定
週末にWaveプロトコル勉強会があるのでその事前準備してこいということでサーバを 上げてみた.
実は Wave に Protocol という話をされるまで http + javascript なサービスの 一つだと思っていたのだ. 丁度しばらく前に Wave アカウントを知り合いがくれたのでさわ っていたのだが, サービスとして面白そうだけどキラーがないな, というのがその時の 感想だった.
そんな折たまたま ATND で Wave Protocol! という話が上がってきたので何か背後に 面白そうな匂いを嗅ぎつけて申し込んでみたのだが予習としてサーバ上げてこい, とのこと.
ATND に上っているドキュメントを斜めに流し読みして設定をはじめることにする.
どうも見ていると wave の実態である wave-protocol を開発しているレポジトリと, この wave-protocol を proxy する server という組み合わせで動作するもののように見える. 組み合わせるサーバとしては例として 3つ紹介されていたが比較がある訳でもなく一番上に紹介されていた openfire とかいうのを選択することに.
みたところ別に port80 を占有するわけでもないので外部サーバでも, とむらけが湧かんでも ないが正直開発臭のぷんぷんするものを global IP の下に置くのもどうかと思い手元のノート にインストールしてみる.
インストールの手順についてはいまさらまとめまい. 正直英語とは云えドキュメントが非常に 良くできているので正直わざわざ書き足すことはない. ただ絶対に云わねばならない注意事項だけ 足しておこう.
wave-protocolのインストールの仕方openfireのインストールの仕方
- openfire をインストールし終わったら openfire は必ず*再起動*すること
- openfire の管理者のアカウントはブラウザがメールアドレスを表示しようが
ユーザが管理者のメールアドレスを入力しようがメールアドレスではない.
*admin* 固定である
この二点はドキュメントを読めば実はちゃんと書いてある. でも斜めに読むと読みとばした挙句
サーバを入れなおしてもアカウントデータベースが残って何故動かないんだ- と小一時間悩む
ことになる orz.
2010-02-04 なんだか言語のまとめとか擬人化とかいろいろはやっているらしい
■ [言語][開発] なんだか言語のまとめとか擬人化とかいろいろはやっているらしい
なんだか言語のまとめとか擬人化とかいろいろはやっているらしい. 最近, 全然手とか追いついていないのだが風邪薬で脳味噌らりってて仕事にならないというのもあり、 世の中では言語ネタがはやっているらしいと振られたので気にいったものを dis りつつはっておく.
基礎文法最速マスターぞくぞくキターーー!空いているところ埋めませんか, と振られたがそもそも空きないじゃん. 皆頑張るなぁ. GoとかErlangぐらいかな, 埋められそうなの. ちょっと毛色の違うところで Cg とかでもあるけど需要あるのかしらん. あとは Assembler 系かな. MIPS と x86, ARM ぐらいならなんとかなるけど.
興味のある言語に○○○と書いておいたら面接で・・・こんな面白いネタが進行していたとは.
「興味のある言語に Lisp と書いておいたら、面接官に vi での開発ですと云われた」
という実話かどうかはしらないが某所の開発スタイルをちょっと振っておこう.
プログラミング言語ヒエラルキーちょっと絵が古いので仕方ないのだろうが最近はやりの Erlang とか Scala とか色々足してみる. ついでに色々手を入れてみる
2010-02-03 emacs suggest 書いてみた
いわく, vi に負けていいんですか? まあその通り. vi に出きて emacs に出来ないことはない, "この世にはエディタは二つしかない, emacs かそれ以外か,だ" を信条にしている身としては emacs 版が無いという事実は受け入れがたい. 使うかどうかはさておきだが.
そんな訳で構想1日, コーディング N時間のクリックハックを試みたのだが 意外と手間どる.
google suggest からデータを引っぱってくるのは emacs ではちょっと直ぐに思い浮かばなかった, というより横で ruby で xmlrpc かきかけのコードが居たのでこれを元にちゃちゃっと書いてみる. google suggest の API をしらないのでググってみるとあっさり解決. 流用させてもらおう.
むしろ悩んだのがインターフェース. vim 版は C-xC-u でやってるけどそもそも単語の切り取り とかどうするよ, C-xC-u って emacs だと既に upper 変換かなんかで使ってるし. ということで ちょっと悩む. 一番いいのは使い慣れた skk にでも似せることかな, というわけで作ってみた.
単語はそのまま backward-ward, forward-ward の間ということにして, 単語を ruby スクリプトに食べさせ, 出力結果を temporary buffer から list にしてあとは SKK もどきの interface にしてしまうことにする. google suggest はどうも utf-8 入力 sjis 出力っぽいので面倒な変換は ruby におまかせということでw
キーの入力をどう取るのか最初しばらくわからなかったが raw level で取れる read-event 関数があるとのことなのでこれを使用, 選択に応じて上述の範囲で単語を置換する, ということ にしてみた.
# 最近は github に入れるのがはやりなのかな. メンテナンス考えるとそうするべき なんだろうけど. 会社のネットワーク通るかな...
## え, ruby の部分を emacs にしないと真の emacsian とは云えない? お説ごもっとも. JAIST の課題とか一段落したら直しますm(_._)m
(setq suggest-command "~/works/examcodes/suggest/suggest.rb")
(defun search-suggest (word)
(interactive)
(let ((suggestword nil) (suggestlist ()))
(with-temp-buffer
(call-process suggest-command nil t nil word)
(goto-char (point-min))
(while (not (eobp))
(setq suggestword (buffer-substring (progn (beginning-of-line) (point)) (progn (end-of-line) (point))))
;;(message suggestword)
(setq suggestlist (cons suggestword suggestlist))
;;(message "%s:%s" suggestword suggestlist)
(forward-line 1)))
suggestlist))
(defun cut-word ()
(interactive)
(let ((word))
(setq word (buffer-substring (progn (backward-word) (point)) (progn (forward-word) (point))))
word))
(defun make-suggest-string (suggestedlist n m)
(interactive)
(let ((i 0) (suggest-str ""))
(while (<= (+ n i) m)
(cond
((= i 0) (setq suggest-str (concat suggest-str "A:" (nth i suggestedlist) " ")))
((= i 1) (setq suggest-str (concat suggest-str "S:" (nth i suggestedlist) " ")))
((= i 2) (setq suggest-str (concat suggest-str "D:" (nth i suggestedlist) " ")))
((= i 3) (setq suggest-str (concat suggest-str "F:" (nth i suggestedlist) " ")))
((= i 4) (setq suggest-str (concat suggest-str "G:" (nth i suggestedlist) " ")))
((= i 5) (setq suggest-str (concat suggest-str "H:" (nth i suggestedlist) " ")))
((= i 6) (setq suggest-str (concat suggest-str "J:" (nth i suggestedlist) " ")))
((= i 7) (setq suggest-str (concat suggest-str "K:" (nth i suggestedlist) " ")))
((= i 8) (setq suggest-str (concat suggest-str "L:" (nth i suggestedlist) " ")))
((= i 9) (setq suggest-str (concat suggest-str ";:" (nth i suggestedlist) " ")))
(t ()))
(setq i (+ i 1)))
suggest-str))
(defun read-key-once()
(interactive)
(let ((readkey))
(setq readkey (read-event))
readkey))
(defun replace-word-to-str(str)
(kill-region (progn (backward-word) (point)) (progn (forward-word) (point)))
(insert str))
(defun display-suggest-string (lst)
(interactive "*P")
(message "display-suggest-string: %s" lst)
(setq suggest-str (make-suggest-string lst 0 9))
(message suggest-str)
(setq key (read-key-once))
;;
(cond
((or (= key ?a) (= key ?A)) (replace-word-to-str (nth 0 lst)))
((or (= key ?s) (= key ?S)) (replace-word-to-str (nth 1 lst)))
((or (= key ?d) (= key ?D)) (replace-word-to-str (nth 2 lst)))
((or (= key ?f) (= key ?F)) (replace-word-to-str (nth 3 lst)))
((or (= key ?g) (= key ?G)) (replace-word-to-str (nth 4 lst)))
((or (= key ?h) (= key ?H)) (replace-word-to-str (nth 5 lst)))
((or (= key ?j) (= key ?J)) (replace-word-to-str (nth 6 lst)))
((or (= key ?k) (= key ?K)) (replace-word-to-str (nth 7 lst)))
((or (= key ?l) (= key ?L)) (replace-word-to-str (nth 8 lst)))
((or (= key ?\;) (= key ?:)) (replace-word-to-str (nth 9 lst)))
(t ())))
(defun call-suggest ()
(interactive)
(setq suggestword (cut-word))
(setq suggestedlist (search-suggest suggestword))
(display-suggest-string suggestedlist))
(global-set-key "\C-x\C-u" 'call-suggest)
#!/usr/bin/env ruby
# -*- coding: utf-8 -*-
require "rexml/document"
require 'net/http'
require 'cgi'
require 'nkf'
export_code = "-e"
site = 'www.google.co.jp'
word = ARGV[0]
utf8_word = NKF.nkf('-w', word)
http = Net::HTTP.new(site, 80)
query = "/complete/search?output=toolbar&q=#{CGI::escape(utf8_word)}"
req = Net::HTTP::Get.new(query)
res = http.request(req)
res_str = NKF.nkf('-w', res.read_body)
doc = REXML::Document.new(res_str)
REXML::XPath.match(doc, "//@data").each { |e|
puts NKF.nkf('-e', e.to_s)
}
でこんな風に
入力して単語で C-xC-u
一覧表示から選択すると
置換されたり.
なんてことで実装したら, この blog を書いているときには振った某所の中の人から既に実装した強者がいるとのこと. なんてこったい. しかもこっちはどうやらちゃんと xmlrpc も emacs lisp っぽい..
2010-02-02 skk auto-fill ってなによ!
■ [emacs] skk auto-fill ってなによ!
skk に auto-fill との切り替えとかいうのが付属している, という事実をいま始めて知った.. 似たような機能があるはずだからあれを参考にすればいいか, などと ddskk が展開されているはずの shae/site-lisp を覗いてみるとふと auto-fill とかいう文字が目につく.
そういえば howm とか使ってて時々 auto-fill-mode が付いていて非常にウザいんだが何が条件なの か分からない, ってのあったな. とふ何気にぐぐってみると SKKオートフィルモードl とか書いてある.
あわてて keymap とか見るとたしかに登録してある. C-xC-j と C-xj で挙動を見比べてみると確かに
C-x C-j skk-mode C-x j skk-auto-fill-mode
とある. skk がこんなものを入れているのか! 何か変数で disable にできるに違いないと ddskk の下 を grep で漁ってみるが記述なし. いったいどういうこと, と最後の望みとばかりに .emacs を覗いてみると 堂々と
(global-set-key "\C-x\C-j" 'skk-mode) (global-set-key "\C-xj" 'skk-auto-fill-mode) (global-set-key "\C-xt" 'skk-tutorial) (autoload 'skk-mode "skk" nil t) (autoload 'skk-auto-fill-mode "skk" nil t) (autoload 'skk-tutorial "skk-tut" nil t) (autoload 'skk-isearch-mode-setup "skk-isearch" nil t) (autoload 'skk-isearch-mode-cleanup "skk-isearch" nil t)
とかいう記述が... orz
まあ,書かれている理由はなとなく想像が付く. たぶん, 何年も前にパクったかどっかのドキュメントに こうしろとかあったのを継ぎ足し継ぎ足し使いつづけてきているわけだし
和田先生のカウボーイの話|http://feed.designlinkdatabase.net/feed/outsite_226848.aspxじゃないが, プログラマにとってはマシンは消耗品だが .emacs は 継ぎ足し継ぎ足し使うものなわけで.
それにしても, Canna から skk に移って多分 10年ぐらいたっているんだが..
社会人. プログラマ. SE でも何でも屋という話も. 最近は大学院生も. ネットワーク, OS, 組み込み とか協調分散とか. 物の理と理から組み上げられる系が好き
_ mattn [クエリパラメータのie,oeで入出力のencoding切り替え可能です。:)]
_ wanwan [thanx. ruby の引数に喰わせようかと思ってましたが次期バージョンはそれでいかせてもらいます。]