息子の誕生日なので肉まんをつくった

息子の希望により、皆で肉まんを作った。娘が色々手伝えるようになったおかげで進捗速度がアップした。

子供作の肉まんを最初に蒸したので形が悪いが、味は良かった。餡のバリエーションをもう少し考えたいところ。

1321186819

ProductName ウー・ウェンの北京小麦粉料理
ウー ウェン
高橋書店 / 1680円 ( 2001-11 )


これも息子のリクエストによる、アイスのケーキ(カーズバージョン)

1321186822

これは個人的にはまぁまぁであった。というより家族的にもまぁまぁだった。

web配色

下のスライドを見たら、あとはkulerでも使えばいいと思う。

ProductName ウェブ配色 コーディネートカタログ
坂本 邦夫
技術評論社 / 2604円 ( 2011-02-23 )


ホップ、スキップ、ジャンプ (schemeで継続)

scheme 修行では早々に継続(letcc)が出てくる。

(define rember-upto-last
  (lambda (a lat)
    (let/cc skip
       (letrec
           ((R (lambda (lat)
             (cond
              ((null? lat) (quote ()))
              ((eq? (car lat) a)
               (skip (R (cdr lat))))
              (else (cons (car lat)
                  (R (cdr lat))))))))
         (R lat)))))

これはリストの中の指定した要素以降のリストを返す(要素が見つからなければすべてのリストを返す)

gosh> (rember-upto-last 'three '(one two three four five))
(four five)

なんでも継続によれば継続とは

「現在の計算を続行するための情報」

とある。つまりこれが継続ということだが、Scheme修行では別の表現がされていた(p.43)

letcc hopを通り過ぎたあと、(hop M)に遭遇する前にすべきだったことを忘れなさい。そしてMが何であっても まるで (letcc hop M)の値を求めたかのようにふるまいなさい

上のコードでは、skip (R (cdr lat))を通るときに今まで計算してきた情報を捨てて、(R (cdr lat))を実行する。つまり現在の計算を続行するための情報 を伴ってRにジャンプしている。

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


舞茸、シメジ、豚バラの和風スープカレー

妻が同窓会で出かけていったので、夜は久しぶりに自作した。

昆布と鰹節でスープストックをつくって、炒めた豚バラと揚げたキノコを具にしたスープカレー

1321097323

出来はなかなかだと思うんだけど、子供達の食いつきは悪かった。あいつら、おやつにドーナツ食べていたからに違いない。

カレーが余っているので、明日はもう少し辛くしてソーメンでも入れて食べることにした。

ウェブデザインのつくり方、インターフェイスデザインの考え方。

「ウェブデザインのつくり方、インターフェイスデザインの考え方。」という本を読んだら、blogのデザインを弄りたくなったので、少し手を加えてみた。モバイル対応を目>的とした作業だったんだけど、結局モバイル対応はしてない。

本書を読めばデザインの基本的なレイアウトの話とか色の選択とか一通り押さえられるのでオススメですね。内容も図が豊富でわかりやすいし。

僕は、レスポンシブwebデザインに興味があったので、media-queryのあたりを読むために購入。

レスポンシブ・ウェブデザインってのは結局media-queryなんかを利用して

Media queriesはコンテンツを表示したブラウザの幅サイズを取得し、そのサイズに応じてCSSのプロパティを取捨選択するために使うプロパティです

というわけで、結局

さまざまな表示環境で同じHTMLをリソースとして活用できるようになります

とあるように、HTMLを使いまわす技法の一つということか。

一通り読んだあとで、じゃぁ、自分のブログシステムをレスポンシブ・ウェブデザインにしてみようとしたんだが、1カラムなんで別にフロートにする必要もないしサイドバー的なモノも用意してないから、特にやることがなかった。

色々検討していて、気がついたのはmedia-queryでCSSで切り替えるっていうのは結局CSSをいじることであってテンプレートをいじるのとは違うなぁと。例えば、モバイルデバイス向けにアドセンスを切り替えたりとか文書構造替えたりってのはテンプレートいじったほうが早いし、スマートだよなぁと。

結局WAFをいじくっているのであればそっちのテンプレートでゴニョゴニョと調整したほうが楽だよなぁと、自分はUserAgentみてWAFのテンプレート切り替えるほうが好きだわという結論に至り、レスポンシブ・ウェブデザインへの興味が急速に(指数関数のオーダーで)薄れたのであった。

とはいえ、スマホ判定したら別のURLにリダイレクトってのは好きじゃないかなぁ、意味論的に気持ち悪い気がする。それともlink rel="alternate"みたいな感じでどうにかできるのかな?

ここらへんがよくわかっていない。

ちなみにスマートフォンサイトを作るというテーマに絞るならば、以下の本が丁寧に説明してあって良いですね。

ProductName iPhone+Android スマートフォンサイト制作入門 (WEB PROFESSIONAL)
たにぐちまこと
アスキー・メディアワークス / 2499円 ( 2011-02-19 )


資本主義からの脱却

(株主)資本主義が行き過ぎだというのは同意するところで、じゃぁ次の世代はどうなんの?っていうあたりに興味がある。

個人のライフスタイルだと、幾つかの仕事を分散して持つっていう半農半Xとか、ニッチな仕事を束ねるような月三万円ビジネスとかね。これは、リスク分散として個人が取れる戦略のひとつじゃないかなと。

じゃぁ、社会はどういう方向に向かうのかね?

本書の主張は

経済システムの中心に生協的精神を設定して、最大利潤主義を除外すること

ProductName 資本主義からの脱却
エルヴェ ケンプ
緑風出版 / 2310円 ( 2011-03 )


金持ちに課税するのは当然だっていうスタンスで、巨万の富の遺産から税を徴収するべきというアイデアを再考すべきと述べている。

というような、アイデアが国連の一機関から1995年に既に提起されていたらしい。

Flaskでhamlish-jinjaを使う

Express+Jadeで幾つか書いていたらJadeの読みやすさに慣れてしまった。

FlaskでもHamlっぽい記法を使いたいなぁとググッてみたらhaml and flaskというエントリをみつけたので、この通りに入れてみた。

-extends "layout.html"

-block title
  Page Not Found

-block body
  %h1 << Page Not Found
  %p
    %a href="{{ url_for('show_entries') }}" << go somewhere nice

  %p << or find by tag
  %div.tags
  %script type="text/javascript"
    |$.getJSON('{{ url_for('show_jsontags') }}', null, 
    |  function(json){
    |    for (i in json.tags.sort()){
    |      $('div.tags').append("<a href=\"/tag/" + json.tags[i] + "\">" + json.tags[i] + "</a> ");
    |    }
    |  }
    |);

かなり読みやすくなった。入れ子をインデントで表現するのでPythonistaにはありがたいですね。ちなみにこっちがもとのjinjaのテンプレート。

{% extends "layout.html" %}
{% block title %}Page Not Found{% endblock %}
{% block body %}
  <h1>Page Not Found</h1>
  <p><a href="{{ url_for('show_entries') }}">go somewhere nice</a></p>
  <h1>or find by tag</h1>
  <div class=tags></div>
<script type="text/javascript">
$.getJSON('{{ url_for('show_jsontags') }}', null, 
function(json){
  for (i in json.tags.sort()){
   $('div.tags').append("<a href=\"/tag/" + json.tags[i] + "\">" + json.tags[i] + "</a> ");
  }
}
);
</script>
{% endblock %}

pipとかeasy_installで0.1を入れるとdiv#idとかdiv.classという記法が使えないので、GitHubの最新版を入れたほうがよいです。


ところで、HTML5においてセマンティクスが重視されると、デザインまわりはCSSに集約されていきHTMLタグとデザインっていうのは分離されていくと思うんですね(rdfとか昔っからあるし)。

セマンティクスってデザイナーというよりはプログラマー側が考えることだろうから、マークアップエンジニアとか呼ばれているヒト達はCSSエンジニアとかそういう名称になっていくの?

よくわからんので、今度誰かに聞いてみよう

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


静岡(東部のあたり)ではHTML5の入門書の読書会をしています(宣伝)

Flask-Cacheを使ってみた

自作のブログシステムのなかにデータベースに頻繁にアクセスしすぎて困るAPIがあるので、Flask-Cacheを使ってキャッシュするようにした。

設定を読ませてからcacheの設定をしないといけない(まぁ当たり前か)のだけどapp.config.from_objectで読ませる前にCacheしてたらキャッシュが効かなくてちょっとはまった。

CACHE_TYPE = 'simple'

app = Flask(__name__)
app.config.from_object(__name__)
cache = Cache(app) # 設定読ませたあとに

ソースは読んでたらキャッシュのタイプはwerkzeugに任せているらしいので、そっちのドキュメントを読めば大丈夫な感じですね。

お金とつきあう7つの原則

まぁ、普通のことが書いてあるけど、普通のことを淡々と実践するのは意外に難しいよね。

ProductName お金とつきあう7つの原則
山崎 元
ベストセラーズ / 1365円 ( 2010-03-26 )


  1. 小さな節約をしない
  2. 「人的資本」に投資する
  3. お金の計算は安全な方に間違える
  4. お金はなるべく貸し借りしない
  5. 国内外の株式に分散投資する
  6. 買値ではなく未来を考える
  7. 怖いのは市場リスクより人間

将来の不安を喚起しておいて、それに対するかいけつさくがあるかのようにモノを売るというのは、特に利幅の大きい怪しいものを売るときには、よく使われるセールスのテクニックだ。

保険とかですね。これはそのうち考えないといけないなぁ(うちは保険料かけ過ぎじゃないかなぁと思っているので)

社債をわざわざ個人向けに売るということは、その発行者の債権をその条件では機関投資家が買わないからだと考えていい

個人向け社債はよく見えても避けたほうがいいということか。

投資内容の例

TOPIXに50%(日本株) MSCI-KOKUSAIに35%(先進国外国株) MSCI-EMに15%(新興国外国株)

いまだと、日本株と先進国外国株の割合を減らして新興国外国株の比率を上げてもいいんじゃなかろうか?

HTML5 CANVAS 10,11

phonegapを使おうっていう章だったんだけど。

ProductName HTML5 Canvas: Native Interactivity and Animation for the Web
Steve Fulton
Oreilly & Associates Inc / 2922円 ( 2011-05-13 )


今のバージョンがos10.5には対応してないらしいので、流し読みしつつandroid SDKのバージョンを上げてみた

android4.0

自分の中ではiPhoneよりはandroidかなぁ。iPadはいいと思うけど。

というわけで、そのうちこれでも読んでみようかなぁと思っている(まだ買ってないけど)

ProductName Androidアプリケーション開発ガイド ―HTML+CSS+JavaScriptによる開発手法
Jonathan Stark
オライリージャパン / 1995円 ( 2011-02-24 )


先に読まなきゃいけないのは、既に積んであるジオモバイルプログラミングだなぁ

ProductName ジオモバイルプログラミング—iPhone&Androidで位置情報アプリを作ろう—
郷田まり子
ワークスコーポレーション / 3675円 ( 2011-01-27 )