18032013 life
家庭菜園やっていると連作障害は悩ましい問題なんだけど、稲は連作障害が出ないのが不思議なんだよね。でも、水田というシステムによるものなのか、稲自体が連作障害を起こしにくいのかはよく分からなかった。
- コメは1hでは機械経費がかかるので赤字
- 国産のコメは中国産のインディカ米の6倍
まぁ色々難しいよね。
18032013 life
家庭菜園やっていると連作障害は悩ましい問題なんだけど、稲は連作障害が出ないのが不思議なんだよね。でも、水田というシステムによるものなのか、稲自体が連作障害を起こしにくいのかはよく分からなかった。
まぁ色々難しいよね。
17032013 家庭菜園
去年はキタアカリを植えたが今年はオーソドックスな男爵にしてみた。

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

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

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

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

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

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

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

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

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

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

Sass+Comapss用にEmacsをいじっていった結果、Flymakeによるリアルタイム構文チェックまでたどり着いて快適になった。livereloadを組み合わせるとさらによい。
更新を検知してリアルタイムに上のチェック、エラーがあれば該当行が赤く染まる。カーソルを該当行にのせると何がいけないのかがミニバッファに表示されるのでエラーが把握しやすい。
ちなみに下のスクリーンショットでは29行目にカーソルを合わせていて、「セレクタは一行に一つづつ書きなさい」とpythonのimportみたいなことを言われている。

こんな感じだったと思う。
gem install sass gem install compass gem install scss-lint
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(" - ", ": ")
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に入門すると楽しいと思いますよ!
14032013 life
気になるなぁ。このくらいの内容だと英語がハードだろうしちょっと迷っている。
Lean UX: Applying Lean Principles to Improve User Experience
Lean Analytics: Use Data to Build a Better Startup Faster14032013 life
脳の仕組みを知って、それをうまく利用して効率的に仕事をこなそうというライフハックはメタプログラミングみたいで好きだ。
技術として読むなら脳が教える! 1つの習慣を読むべきだけど、進化論みたいなサイエンスも絡めたエッセイが読みたければこっちが面白いでしょう。
僕は、expressとかgit clone(最近だとcompass)みたいなスキャフォールドをとりあえず作るようなコマンドが好きなんだけど、よく考えてみると作業を始めるっていう障壁が大きく下がるからなんだろうなぁと思う。watch系も怠惰を肯定しているようで好きだしなぁ。
面倒くさくないこと以外は全て超めんどくさいっていうトートロジックな言葉がよく当てはまる気がする。
13032013 Python
gntpを使ってみた。Growlモジュールと違ってurlを渡せばアイコンが表示されるので便利。

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, )
こまるわーとか書いたんだけど、別件で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)
compass watchでコンパイルするたびにブラウザリロードするのが面倒になったので、Sass+Compass, Guard, LiveReloadのRubyな組み合わせかなぁと思ったら、PYthon LiveReloadを見つけたので早速使ってみた。
Emacsでscssファイルを編集してセーブすると、更新を完治してcompassでコンパイルした後、ブラウザを自動リロードするので、かなり楽ちん。ブラウザ用にモニターが欲しくなる。

インストールはドキュメントの通りに。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もブラウザが自動更新したら快適だろうなぁと思ったのでこっちも対応しておく。
10032013 life
こういうの↓に騙されないようにしましょうっていう本。

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