ゼロから理解する コメの基本

家庭菜園やっていると連作障害は悩ましい問題なんだけど、稲は連作障害が出ないのが不思議なんだよね。でも、水田というシステムによるものなのか、稲自体が連作障害を起こしにくいのかはよく分からなかった。

  • コメは1hでは機械経費がかかるので赤字
  • 国産のコメは中国産のインディカ米の6倍

まぁ色々難しいよね。

ジャガイモを植えつけた

去年はキタアカリを植えたが今年はオーソドックスな男爵にしてみた。

1363490801

畝間を大きくとりたかったんだけど、種イモの数の関係で畝が三列になったのでちょっと窮屈になってしまった。

1363490802

セオリー通りに種イモの間に化成肥料置いて土をかぶせた。

1363490807

来週あたりに人参の種を蒔く予定。ズッキーニはどうするかなぁ、今年はベランダで育ててみようかな。

ニンニクは順調

1363490804

ブロッコリーは小さいが収穫した。わき芽を取りにくる暇もないので処分した。

1363490806

最近飲んだ日本酒(と焼酎)

色々あって最近焼酎も少し取り入れ始めた。何年ぶりだろうか。

1363259207

相模灘の濁りはシュワシュワ感がたまらない。キリッとした感じ。

1363258952

志太泉のおりがらみはキレイな感じで、スッキリしつつも酸がしっかりとあって飲みやすい。

1363258953

白隠正宗は生もとの純米のラベル違いバージョンらしい。どっしりとしていて、燗つけると深みが増す。でもちょっと飲んだ後に残る感じはあるかな。飲み飽きはしないけど。

1363258955

ところで、この花見ラベルには杜氏が隠れているらしい(ウォーリーを探せ風に)ので探してみるとよいでしょう。

1363258956

それから白隠正宗からでている米焼酎は美味いので一度は飲むと良いでしょう。先々週初めて飲んで旨さにやられた。

1363259697

Sass x SyntaxCheck x Linting = Emacs & Flymake

Sass+Comapss用にEmacsをいじっていった結果、Flymakeによるリアルタイム構文チェックまでたどり着いて快適になった。livereloadを組み合わせるとさらによい。

  • scss --checkによるコンパイルチェック(エラー検出)
  • scss-lintによるLinting

更新を検知してリアルタイムに上のチェック、エラーがあれば該当行が赤く染まる。カーソルを該当行にのせると何がいけないのかがミニバッファに表示されるのでエラーが把握しやすい。

ちなみに下のスクリーンショットでは29行目にカーソルを合わせていて、「セレクタは一行に一つづつ書きなさい」とpythonのimportみたいなことを言われている。

flymake scss

install

こんな感じだったと思う。

gem install sass
gem install compass
gem install scss-lint

scsscheckers

scss --checkとscss-lintを実行するスクリプトを用意する。ついでにflymake-cursorに対応させるために出力をいじるが、scss --checkの場合は--traceをつけると偶然にもflymake-cursorの書式に対応するので必要な一行目だけを出力させている。

#!/usr/bin/env python

from subprocess import Popen, PIPE
import sys

for arg in sys.argv[1:]:
    if arg.endswith(".scss"):
        file = arg

p1 = Popen(["scss", "--compass", "--trace", "--check", file],
           stdin=PIPE, stdout=PIPE, stderr=PIPE)

stdout, stderr = p1.communicate()
print  stderr.split("\n")[0]

p2 = Popen(["scss-lint", file],
           stdin=PIPE, stdout=PIPE, stderr=PIPE)

stdout, stderr = p2.communicate()
print stdout.replace(" - ", ": ")

Emacs

scssコマンドをscsscheckersコマンドに変更するためにscss-sass-commandを上書きする。

;;; http://d.hatena.ne.jp/CortYuming/20120110/p1#20120110f1
(defun my-css-electric-pair-brace ()
  (interactive)
  (insert "{")(newline-and-indent)
  (newline-and-indent)
  (insert "}")
  (indent-for-tab-command)
  (previous-line)(indent-for-tab-command)
  )

(defun my-semicolon-ret ()
  (interactive)
  (insert ";")
  (newline-and-indent))

(add-to-list 'auto-mode-alist '("\\.\\(scss\\|css\\)\\'" . scss-mode))
(add-hook 'scss-mode-hook 'ac-css-mode-setup)
(add-hook 'scss-mode-hook
          (lambda ()
            (define-key scss-mode-map "\M-{" 'my-css-electric-pair-brace)
            (define-key scss-mode-map ";" 'my-semicolon-ret)
            (setq css-indent-offset 2)
            (setq scss-sass-command "~/bin/scsscheckers")
            (setq scss-compile-at-save nil)
            ))

(load-library "flymake-cursor")

補足

ここ二週間くらい試したこと

おまけ

Flask+Sass-bootsrap+Coffeescriptなサイトを作っていて、Python,CoffeeScript,Sass全てに対してFlymakeがサポートしてくれるのでつまんないtypoとかのミスで時間をムダにすることがなくなった。

これを機会にWebデザイナー系のヒトもEmacsに入門すると楽しいと思いますよ!

Lean UX と Lean Analyticsが気になる

気になるなぁ。このくらいの内容だと英語がハードだろうしちょっと迷っている。

ProductName Lean UX: Applying Lean Principles to Improve User Experience
Jeff Gothelf
O'Reilly Media / ?円 ( 2013-02-22 )


ProductName Lean Analytics: Use Data to Build a Better Startup Faster
Alistair Croll
O'Reilly Media / ?円 ( 2013-03-08 )


脳には妙なクセがある

脳の仕組みを知って、それをうまく利用して効率的に仕事をこなそうというライフハックはメタプログラミングみたいで好きだ。

技術として読むなら脳が教える! 1つの習慣を読むべきだけど、進化論みたいなサイエンスも絡めたエッセイが読みたければこっちが面白いでしょう。

僕は、expressとかgit clone(最近だとcompass)みたいなスキャフォールドをとりあえず作るようなコマンドが好きなんだけど、よく考えてみると作業を始めるっていう障壁が大きく下がるからなんだろうなぁと思う。watch系も怠惰を肯定しているようで好きだしなぁ。

面倒くさくないこと以外は全て超めんどくさいっていうトートロジックな言葉がよく当てはまる気がする。

ProductName 脳には妙なクセがある
池谷 裕二
扶桑社 / 1680円 ( 2012-08-01 )


  • 脳はブランドに反応する
  • 心理表現と味覚には本質的に関係がある
  • 無意識的な学習が重要
  • 意思は脳から生まれるのではなく、周囲の環境と身体の状態で決まる
  • 怠惰思考
  • 一見抽象的に見えるヒトの高度な思考は、身体の運動から派生している

gntpを使ってgrowl通知をしてみた

gntpを使ってみた。Growlモジュールと違ってurlを渡せばアイコンが表示されるので便利。

gntp

Shizudev作る会は、手を動かす系(ハンズオンとかワークショップ)が多めの不定期の集まりです。最近はHaskellに重点をおいています。興味があれば参加してください。

import requests
import json
import gntp.notifier

r = requests.get("https://api.github.com/orgs/shizuru/members")
members = json.loads(r.content)

growl = gntp.notifier.GrowlNotifier(
    applicationName="Shizuru",
    notifications=["New Updates", "New Messages"],
    defaultNotifications=["Shizuru Members"],
)
growl.register()

for member in members:
    growl.notify(
        noteType="New Messages",
        title=member['login'],
        description=member['html_url'],
        icon=member['avatar_url'],
        sticky=False,
        priority=1,
    )

FlymakeでSass+Compassのチェックをおこなう

こまるわーとか書いたんだけど、別件でscssのオプション調べてたら--compassっていうcompass用のオプション見つけたので、これを加えればいける。

scss-modeのソース調べたらscss-sass-optionsにオプション渡せばいいっぽいので、setqした。

(add-hook 'scss-mode-hook
          (lambda ()
            (define-key scss-mode-map "\M-{" 'my-css-electric-pair-brace)
            (define-key scss-mode-map ";" 'my-semicolon-ret)
            (setq css-indent-offset 2)
            (setq scss-sass-options '("--compass"))
            (setq scss-compile-at-save nil)
            (flymake-mode t)
            ))

あとはConfigulation Errorでしょっちゅう死ぬので以下の設定は追加しておいたほうがよい。

(defadvice flymake-post-syntax-check (before flymake-force-check-was-interrupted)
  (setq flymake-check-was-interrupted t))
(ad-activate 'flymake-post-syntax-check)

参考

LiveReload(Python)で更新検知させてCompassでコンパイル、ついでにブラウザもリロードする

compass watchでコンパイルするたびにブラウザリロードするのが面倒になったので、Sass+Compass, Guard, LiveReloadのRubyな組み合わせかなぁと思ったら、PYthon LiveReloadを見つけたので早速使ってみた。

Emacsでscssファイルを編集してセーブすると、更新を完治してcompassでコンパイルした後、ブラウザを自動リロードするので、かなり楽ちん。ブラウザ用にモニターが欲しくなる。

livereload

インストールはドキュメントの通りに。chromeの拡張は入れておく。

GruntfileはPythonスクリプトなのでかなり自由度が高く、なんでもできそう(growl通知とか)。

Sphinx と LiveReload を組み合わせるを参考にCompassの設定をしてみた。ソースコード見てたらCommandCompilerを使ったcompassっていう関数でも作っておけばいいんだろうなぁと思いつつあとでやるかも、やらないかも。

#!/usr/bin/env python

from livereload.task import Task
import logging

def compass():
    from subprocess import Popen, PIPE
    argv = ["compass", "compile"]
    p = Popen(argv, stdin=PIPE, stdout=PIPE, stderr=PIPE)
    stdout, stderr = p.communicate()
    if stderr:
        logging.error(stderr)

Task.add('sass/screen.scss', compass)

Sphinxもブラウザが自動更新したら快適だろうなぁと思ったのでこっちも対応しておく。

あやしい統計フィールドガイドは印象操作ガイドとしても使えそう

こういうの↓に騙されないようにしましょうっていう本。

circle graph ftv

逆にちょいとばっかし印象操作を加えたい場合にもどういったあたりを弄ればいいのか分かるので面白いかもしれない。

  • 結果を表示するのに大きさの異なるフォントを使う(最初にしめしたやつとか)
  • 時間枠をちょいちょいといじる手口(犯罪率とか)
  • 一年はおよそ50万分
  • 統計はすべて、だれかが何かを数えた結果

研究であってもこういう事態にはしょっちゅう遭遇する。主張したい結果が決まっているから、みんなそれを補強するようなデータを集めるからね。まぁグラフいじったりするのはないけど敢えて散布図を描かずにクロス集計表を作って相関があるという主張を通そうとするヒトはそこそこ存在する。

ProductName あやしい統計フィールドガイド―ニュースのウソの見抜き方
ジョエル ベスト
白揚社 / 2310円 ( 2011-12 )