Bolic

再帰下降パーサを利用して、Unicodeを利用した言語を実装

ProductName Rubyで作る奇妙なプログラミング言語 ~Esoteric Language~
原 悠
毎日コミュニケーションズ / ¥ 2,814 ()
在庫あり。

  • 式と文の違い
  • 変数の実装

というわけで、一通り読了。Rubyの初級者向けの本としても良かった。コードの解説が丁寧だったので、たいしてRubyを知らなくてもすっと入っていけた(素晴らしい!)

言語実装的には、特にスタック型の言語を実装してみたおかげで、なんでも継続がかなり理解できて、満足の一冊。

あと読み終えたら、SICPで飛ばしていた、レジスタ計算機の実装のところがちょっと気になり始めた。

ProductName 計算機プログラムの構造と解釈
ジェラルド・ジェイ サスマン,ジュリー サスマン,ハロルド エイブルソン
ピアソンエデュケーション / ¥ 4,830 ()
在庫あり。

さらに、実践Common Lispも読んでおくかなぁという気にさせられた。

ProductName 実践Common Lisp
Peter Seibel
オーム社 / ¥ 4,410 ()
在庫あり。

プログラム言語を静岡酒に例えると

最近は、仕事がハードで金曜の夜はコード書いたりとか技術書読んだりとかはやる気がおきない。そのうえ金土だけ酒解禁日なので日本酒を呑むのがうれしくて仕方がないので余計にやる気などおきない。

というわけで、今晩は山形正宗をチビチビやりながら、ふとプログラム言語を静岡酒に例えたらどうなるだろうかと妄想してみた。

まぁ間違いなくPythonは喜久酔。香りはそこそこに上品な口当たりとすっきりと旨い。旨さがストレートに伝わってきて心地よい。コレは誰が飲んでも普通に旨いって思えるよな。

それに対しperlは臥龍梅かな。あのどっしり感とふくよかな旨みのわりにするりとした後味で奥の深い味わい。奥が深い症候群ってのにやられて酒米の種類で飲み比べしたりしたくなるのも臥龍梅ならでは。まさにTMTOWTDI

で、rubyは國香やな。あのメロンを思わせる爽やかな香りと酸味ののった軽快感があるけど旨みもしっかりとしている。あーでも驚き最小ではないな、美味さに驚く。

燗つけて旨いのが白隠正宗。燗をつけたときの旨みのふくらみがなんともいえなくて深みが増します、燗(括弧)はとっつきにくいけど一度慣れてしまうと当たり前になってしまうSchemeあたりか。

とくにオチはないのだけど、静岡で日本酒を呑むとしたら國香の純米中汲みとか白隠正宗の黒いラベルのやつをぬる燗にするのがオススメです。特に國香の中汲みはやたらと旨かった。

いくつかは市川さんで手に入りますヨ。

JRubyとかjythonとか

JRubyとかjythonとかはCGI書くのに苦労するよなとかつぶやいてみたけどjythonではSimpleHTTPSeverが使えることに気づいた。

% jython
Jython 2.2.1 on java1.6.0_06
Type "copyright", "credits" or "license" for more information.
>>> import SimpleHTTPServer
>>> SimpleHTTPServer.test()
Serving HTTP on 0:0:0:0:0:0:0:0 port 8000 ...
192.168.11.xx - - [26/Jun/2008 21:34:28] "GET / HTTP/1.1" 200 -
192.168.11.xx - - [26/Jun/2008 21:34:28] code 404, message File not found
192.168.11.xx - - [26/Jun/2008 21:34:28] "GET /favicon.ico HTTP/1.1" 404 -

あーでも、これだと、結局jythonスクリプトでCGI実行しないとあかんからうまくいかんわ。

というわけで、明日は会社にWebアプリ編を持ってってjythonでwebappサーバーつくるのにチャレンジ。

ProductName みんなのPython Webアプリ編 [みんなのシリーズ]
柴田 淳
ソフトバンククリエイティブ / ¥ 2,604 ()
在庫あり。

なんかやる気出てきた。

hikiにコードを貼付けるためのちょっとしたコマンドのメモ

markdownだとspace4つだがhikiの場合はspace一つなのでrubyで

#!/usr/bin/env ruby
File::open(ARGV[0]) {|f| f.each {|line| print " " + line}}

コードを貼付けるためにスペース入れたりするのは結構めんどうなのではてなの記法はなかなか便利(ただ忘れやすい)

wikiの記法をつくる記法(metaな記法)があるとよいんではなかろうかとか思う。wiki記法ってDSLみたいだもんね。

amazon認証プロキシ

amazonの認証に対応するためにhikiのバージョンを0.8.8.1にあげたついでにamazonプラグインを覗いてみたらプロキシで対応していた。

drkcoreのほうはNet::Amazon使っているので、ローカルでSignature組み立ててるんだけど、wikiりたいだけのユーザーがわざわざsecret_keyとか取得すんのもあほくさいからwikiみたいのはプロキシーでいいのかと。

ProductName パターン、Wiki、XP ~時を超えた創造の原則 (WEB+DB PRESS plusシリーズ)
江渡 浩一郎
技術評論社 / ¥ 2,394 ()
在庫あり。

Rubyによるデザイン・パターン

気になる本。

ProductName Rubyによるデザインパターン
Russ Olsen
ピアソン桐原 / 3990円 ( 2009-04-01 )


action-codingを試す

LLで気になっていていたaction-codingなどをやりはじめている。

朝起きたら、Visualizing Dataのようなものこそ、こういうやり方がいいんじゃないかと思ったので、そのままおもむろに枕元にあるmacbookを開いて突然入れ始めた

action-coding

jythonだとselfをいちいち書かないといけないのが多少うっとうしいのだが、rubyだとそれがないだけでも書きやすい。あと、セーブするタイミングでグラフィックも更新される、対話っぽい環境がマジで楽しい。

Visualizing Dataのインタラクティブなscatter plotの章もこれでやると、楽しいかもしれんので、後でやり直してみよう。

ProductName Visualizing Data
Ben Fry
Oreilly & Associates Inc / ¥ 4,516 ()
通常24時間以内に発送

ちなみに僕のエディタはemacsなので、run.commandを別のターミナルで起動させとかないといけないけど、emacsから起動できるようにしとけばいいかもしんない。

恋するプログラム

これも相当長い間放っておいたのだけど、なんとなくRubyのコードが読めるようになってみたらさらっと読みきれた。

ProductName 恋するプログラム―Rubyでつくる人工無脳
秋山 智俊
毎日コミュニケーションズ / ¥ 2,625 ()


マルコフ連鎖モデルのとこが参考になった。

Fastladderを触っている

職場に入れたかったのでproxyに対応させる必要があった。というわけで作業メモ。

trunkにタイポがあったので二カ所ほど修正した気がする。

あと、addする際に登録できないフィードがあってなんでかな?と思ってみたら、urlが全部小文字になってた。これもrfeedfinderの仕業だった。

16行目くらいの

uri = uri.grep.sub(/^feed(.*)/,'http\1'/.downcase

のdowncaseが邪魔なので、ここを修正。

今日の作業はここまでだけど、RSSとAtomだったらAtomのほうを購読したほうがよさげな感じがしたりとかするので、そこらへんのコードも見てみながらrubyの勉強もする。

というか、rubyのシンボルでちょっと悩んでググったりとかした。

opensource版fastladderのリダイレクトの処理

これを10冊ぐらい買って、さりげなく職場に撒いておきたい今日この頃

ProductName できるポケット+ RSSリーダーで毎朝の情報収集力が10倍アップする本 (できるポケット+)
小林 祐一郎,できるシリーズ編集部
インプレスジャパン / ¥ 998 ()
通常24時間以内に発送

はじめてのRubyのおかげで、Rubyのコードを読むのが楽しくなってきたので、opensource版のfastladderでABCのフィードがブックマークレットから登録できなかった理由を調べた。

fastladder.rbがリダイレクトに対応してないっぽいのでこんな感じでレスポンスのチェックをすればよさそうなんだけどBasic認証用の処理とか入ってるから、どういう風に書いておけばよいのかわからん。

あと、RSSのURIをブックマークレットで登録しようとしてもフィードが見つからないとかいうのも直しておきたい。