ダンボール掘ってみた(111119)

こいつらはMP3にしておきたいが、作業をする隙がないなぁ

1295003223

1295003229

1295003235

1295003241

1295003253

1295003259

1295003265

1295003283

1295003289

1295003295

1295003306

1295003318

1295003324

1295003336

1295003342

1295003348

la table de KUDO

ほぼ二年ぶりのKUDO。

1321521947

  • 海水ウニとにんじんのムースとコンソメジュレを重ねて
  • ベリゴール産フォワグラのテリーヌ
  • ホタテ貝のパンドミームール貝のクリームソース
  • オマール海老のフリカッセ
  • 牛ホホ肉の赤ワイン煮込み
  • イチジクのコンポート

1321521933

1321521936

1321521938

1321521941

1321521943

1321521945

オマール海老のフリカッセと、デザートのイチジクのコンポートが美味しかった。

JavaCCでパーサを作ってみる

ふつうのコンパイラをつくろうを読み始めた。

JavaCCを使ったAdderの写経。

The Java Parser Generator

options {
    STATIC = false;
}

PARSER_BEGIN(Adder)
import java.io.*;

class Adder {
    static public void main(String[] args) {
        for (String arg: args) {
            try {
            System.out.println(evaluate(arg));
            }
            catch (ParseException ex) {
                System.err.println(ex.getMessage());
            }
        }
    }
    static public long evaluate(String src) throws ParseException {
         Reader reader = new StringReader(src);
         return new Adder(reader).expr();
    }
}
PARSER_END(Adder)

SKIP: { <[" ","\t","\r","\n"]> }

TOKEN: {
    <INTEGER: (["0"-"9"])+>
}

long expr():
{
    Token x, y;
}
{
    x=<INTEGER> "+" y=<INTEGER> <EOF>
        {
            return Long.parseLong(x.image) + Long.parseLong(y.image);
        }
}

イマイチよくわからないのは慣れてないせいか?パーサだったらRWHのParsecが楽しかった。

ProductName Real World Haskell―実戦で学ぶ関数型言語プログラミング
Bryan O'Sullivan
オライリージャパン / 3990円 ( 2009-10-26 )


Scalaも調べたらスライド見つけた。あとで試してみようっと。

奈良旅行

先週の奈良トリップ。

twitterで教えてもらった麺闘庵にいってみたのだが、午後3時過ぎているのに行列が出来てて諦めた。

1321521832

奈良駅前のつくしっていう店でうどんを食べたが、まぁ普通。

1321521837

1321521836

ホテルの近所の酒屋さんで山間を購入。この店の品揃えは良かった。ショーケースを見ていて飽きない。

1321521834

次の日はきみちゃんラーメンというところへ行ってみた。軽い系のとんこつラーメンで、にんにく入れるか聞かれたので反射的にyesって言ってしまったんだが、要らなかったかも。

1321521839

1321521841

三日目は、三条通りのむぎの蔵というところで、かきあげうどんを食べた。かき揚げはパリッとしていて美味いし、出汁も効いててなかなか。

1321521845

1321521844

今日の畑(111117)

ポットに撒いたスナックエンドウが芽をだした。もう少し大きくなったら(本葉が2,3枚でたら)定植する予定。

1321521289

種から植えると豆だらけになるな。

そういえば、先週プリキュア前の趣味の園芸見てたら、プランターでいちじく栽培できるらしいことを知って超気になっている。

ProductName イチジク―栽培から加工・売り方まで (新特産シリーズ)
株本 暉久
農山漁村文化協会 / 1530円 ( 1996-05 )


継続を渡す(scheme修行14章)

leftmostの実装

(define atom?
  (lambda (x)
    (and (not (pair? x)) (not (null? x)))))

(define leftmost
  (letrec
      ((lm (lambda (l out)
         (cond
          ((null? l) (quote ()))
          ((atom? (car l))
           (out (car l)))
          (else
           (let ()
         (lm (car l) out)
         (lm (cdr l) out)))))))
    (lambda (l)
      (let/cc skip
    (lm l skip)))))

実行結果

gosh> (leftmost '((() (5 4) 1) 2 3))
5

面白い部分は次の継続を関数に渡しているところと

(let/cc skip (lm l skip)

let () で次々に関数を実行しているところ。

(let ()
  (lm (car l) out)
  (lm (cdr l) out))

アトムが見つかればその時点でそれ以降の計算はキャンセルされるので次々に実行する処理を書いていい。

ちょっと悟りが開けた。

この本面白いなぁ、何度が読みなおすことになりそう。

ProductName Scheme修行
Daniel P. Friedman and Matthias Felleisen
オーム社 / 2940円 ( 2011-06-15 )


社会ネットワーク分析の基礎

ネットワーク分析は楽しいですね。普段は化合物のネットワークとかいじっているんだけど、もう少し見識を広めるために違ったタイプのネットワークの分析手法を勉強してみたくなって本書を読んでみた。

社会ネットワークとは、アクターと呼ばれる行為者としての社会単位が、その意図的・非意図的な相互行為のなかで取り結ぶ社会諸関係の集合である

これらをミクロな視点からみていくか、マクロな視点からみていくかだけど、マクロな視点だと個人の特性が失われてしまうので、これはダメらしい。自分の経験では、(ケミストリーを知らない)ケモインフォマティクスのヒトが、個々の化合物をパラメーターで潰してしまって実態とかけ離れたマクロな解釈しかできないのをよく見るので、まぁそうかなとも思う。

で、よりよい社会像を得るためにどうしたら良いのかということで、社会構造の二重性モデルを使うのが、現代の社会ネットワーク分析らしいです。

個人的に興味が湧いたのは9章の「弱い紐帯」が重要か、ブリッジが重要かという話題とネットワークは凝集的で閉鎖的がいいのか、離散的で開放的がいいのか?という話題。第三部の「ソーシャル・キャピタル研究:組織論への展開」は読み物として面白かった。

セイヤーによれば「関係」は形式的なものと実質的なものに分けられる

形式的の関係とは「ともに30歳」みたいなもので、実質的な関係の例は「夫婦」

ハイパーグラフは個人がグループに所属するような所属関係のネットワークを表すのに利用されたり、重複メンバー関係をモデル化するのに便利

これは以前教えてもらったときに調べた

かなり教科書っぽいので、手を動かしたい場合は「ネットワーク分析 (Rで学ぶデータサイエンス 8) 」のほうが良いかも

ProductName ネットワーク分析 (Rで学ぶデータサイエンス 8)
鈴木 努
共立出版 / 3465円 ( 2009-09-25 )


こどもピーマン「ピー太郎」

これは来年植えてみたい

それにしても、今年は家庭菜園が上手くいかない年だった。

日本の首相をHTML5で表現する

方向感のあるモーションブラーでブレさすかなと思っていたが、よく考えるまでもなく方向感などまるで感じさせないほどのぶれっぷりなのでGaussian Blurでw

imageを読み込んでeffectをかけてキャンバスタグに表示してます。それからinputのtypeをrangeにしているのでchromeだとスライダーになるけどfirefoxだとならないですね。

15 noda

Canvasまわりは次々回のHTML5読書会でやることになると思います。興味があれば参加しましょう。

ProductName HTML5&CSS3実践入門 最新Web標準を使いこなす (The Pragmatic Programmers)
ブライアンP.ホーガン
インプレスジャパン / 2940円 ( 2011-07-08 )


blogをレスポンシブ・ウェブデザインっぽくしてスマフォに対応させた

ブログもtwitterクライアント -> スマートフォンのブラウザで見るという流れも増えてきたので、そろそろこのブログもスマフォ対応させようと。

media-query使うよりはテンプレートで対応する方が好きだわと書いたんだけど、Flaskのやり取り読んでたら一度はmedia-query使っておくかなと思った。

media-queryでデザインするときに参考にしたサイト

実際に画面のサイズが変わったときにどう見えるかをチェックするにはresponsivepxというサイトが便利。

でも、デザインしてる時には頻繁にcssのファイルを修正するので、変更のたびにリロードするのはちょっとめんどくさかったかも。ファイルの変更検知したら更新するようなものをローカルで動かしたほうが楽かもしれない(Node.js+Expressで作るのがいいのかな)。

未解決の問題

  • adsenseみたいな広告系の大きさをCSSで変更できるのかどうか分からない
  • min-widthとmin-device-widthの使い分けがよくわかっていない
  • media-queryで書いていったらcssのファイルがごちゃごちゃして読みにくくなってしまった。SassStylusを使うべきか

おまけ1

12/10にHTML5読書会があります。内容はCSS3を使った見栄えの話(media-queryを含む)とアクセシビリティ(WIA-ARIA)になる予定なので、上の話に興味があれば参加するといいと思う。

ProductName HTML5&CSS3実践入門 最新Web標準を使いこなす (The Pragmatic Programmers)
ブライアンP.ホーガン
インプレスジャパン / 2940円 ( 2011-07-08 )


それから、当日は静岡の勉強会系の合同忘年会もあるので参加すると楽しいでしょう。静岡Python(Shizu.py)の話ができたらいいなぁと密かに思っていたりする。

おまけ2

Flaskのテンプレートでゴニョるんだったら下のリンクを参考にすればよい