手軽に chef-solo を実行するためにスケルトンを作ってくれるやつ

追記 2012/08/03:knife-solo という gem をインストールすると knife kitchen というコマンドが使えるようになるんだけど、こっちのほうが chef-solo のための豪華なスケルトンを作ってくれてよさそうかもです。

手軽に chef-solo を実行するためにスケルトンを作ってくれるやつ (ユースケース要検討) — Gist

Chef はとっつきにくいのがネックだなと思っていて、たとえば chef-solo を実行するのにもいちいち solo.rb と node.json を作って cookbooks ディレクトリを作って knife create cookbooks foo とかやらなければならないのがだるいから、その部分を自動化するスクリプトを書いた。

$ ruby chef-solo-skelton.rb foo
## chef-solo -c /Users/tily/foo/solo.rb -j /Users/tily/foo/node.json
[Sun, 29 Jul 2012 12:43:15 +0900] INFO: *** Chef 0.10.8 ***
[Sun, 29 Jul 2012 12:43:19 +0900] INFO: Setting the run_list to [] from JSON
[Sun, 29 Jul 2012 12:43:19 +0900] INFO: Run List is []
[Sun, 29 Jul 2012 12:43:19 +0900] INFO: Run List expands to []
[Sun, 29 Jul 2012 12:43:19 +0900] INFO: Starting Chef Run for linwttaa.local
[Sun, 29 Jul 2012 12:43:19 +0900] INFO: Running start handlers
[Sun, 29 Jul 2012 12:43:19 +0900] INFO: Start handlers complete.
[Sun, 29 Jul 2012 12:43:19 +0900] INFO: Chef Run complete in 0.001156 seconds
[Sun, 29 Jul 2012 12:43:19 +0900] INFO: Running report handlers
[Sun, 29 Jul 2012 12:43:19 +0900] INFO: Report handlers complete

$ tree foo/
foo/
├── cookbooks
├── node.json
└── solo.rb
 
1 directory, 2 files

レシピを指定すると、自動で opscode 公式の cookbook をインストールしてくれたりもする。

ruby chef-solo-skelton.rb hoge apache2 php mysql

まだ使いやすいかよく分からないので、必要になったとき自分で使いつつエンハンスしたい。

クックパッドのレシピで分量を自由に変更できるブックマークレット

http://farm8.staticflickr.com/7206/6951261935_0e52c4db10.jpg

最近よくクックパッドのレシピを見て料理を作っているんだけど、作りたい分量が合わないとき頭で分量を計算しなおすのが面倒くさいので作りました。

ブックマークレットを起動すると「操作」エリアが追加され、テキストエリアに数字を入れて「倍」ボタンを押すと分量を変更してくれます。あと、おまけで「ヘルシーに」を押すと肉と油を減らしたり「うまそうに」を押すとその逆をやってくれたりする機能もつけてみました。

豚汁 100 人分とか巨大なケーキの分量を知ることができて便利だと思う (もちろん 0.5 とか入力して 4 人分を 2 人分に減らすこともできる)。ただ、レシピ掲載者のひとたちの表記ゆれを全部カバーできている自信が全然なくてうまく動かないことが多いかもです。

(サンプル画像としてプロの味!の豚汁 by Fumiaを使わせていただきました、問題があれば @tily までご連絡ください。)

(使ってみたレポートありがとうございます、使い方がよくわからない人は 料理レシピ「クックパッド(cookpad)」で分量を再計算ブックマークレットが便利すぎる!|アマモ場 をどうぞ。)

何?を/見?て-も何/か*思+い出*す

何を見ても何か思い出す

似てるものを 2 つずつ投稿して共有するだけのウェブサービスを作った。上記は納豆の風味とコーヒーの香りが微妙に似ているということを表現しようとしてるけど、伝わってなさそう。

「A を B に空目した」とか「C さんはこの写真に写ってる原住民に似てる」とかポストしておもしろい感じになればいいなと思っているが、単に何かを 2 つ並べたいときに使えばいい気もする。oEmbed に対応しているので Flickr の画像や YouTube の動画を埋め込むこともできたりします。

特にたいしたことやってないけど、興味あったら使ってみてもらえるとうれしいです。不具合とかあったら Twitter 等で教えてもらえると助かります。

ひまあったらスライドショーモードとか、編集距離を計算して表示するのとかやりたいと思ってます。あと、下記は参考にさせてもらった意見やコード、いつもありがとうございます。

追記 (2014/07/16)

dotcloud (http://ermos.dotcloud.com/) から heroku (http://everythingremindsmeofsomething.herokuapp.com/) に移行したので URL を更新しました。

最近作ったものや書いた文章のまとめ (2010/05 〜 2011/12)

年末らしくまとめてみた。前回が 2010/05 だったのでそれ以降のまとめです。時系列に並べたらものすごくまとまりのない感じになったのでカテゴリに分けた。

翻訳・文章

これだけ作ったのに翻訳した「サバクラ〜」が一番ブクマされてたりするんだけど、やっぱ翻訳するより作るほうがおもしろいのでもっと作りたい。

便利ツールに関しては、結構な数を作っているけどなかなか便利にならず、自分でも継続して使えているものがなくて残念。もっと既存のツールをたくさん使って便利さのセンスをよくしたい。あと、音声処理とか電子書籍の分野でいくつかアイデアがあるので必要な勉強をしてなるべく早く作りたい。

ちなみに今はなぜか Railsウェブアプリケーションを作るのがナウな tily にバカウケしていて、年明けあたりにいくつかリリースしたいと思ってたりします。来年もよろしくお願いします。

ブラウザ + WebSocket で電話する

電話というか音声チャットなんだけど、Flash のマイクでとった音声を WebSocket 経由で送信して、受け取った側では Web Audio API とか Audio Data API とかで再生するというのを作った。FirefoxChrome で動く。

はずなんだけど、no.de の SmartMachine のスペックが低いせいか、遅延のあるせいか相手側の音声がブツブツ切れて聴こえてしまう…。ローカルではちゃんと音声チャットっぽいことができているんだけど。

なんか色々他の人のコードを使ったり参考にしたりしたので書いておきます。

あとここらへんも。

日本語テキストから韻のふめる言葉を抜き出す

# Usage: ruby extract_rhyme.rb [-m (vowel|vowel_with_help|surface)] -n N /path/to/file.txt

カタカナまんま (デフォルト、-m surface)

$ ruby extract_rhyme.rb -n 3  夏目漱石_坊ちゃん.txt | head
アカリ: 月あかり | 灯 | 星明り
アガル: 上がる | 起き上がる | 飛び上がる | 揚がる
アゲル: 上げる | あげる | 取り上げる | 揚げる
アタリ: 辺 | 見当り | 大当り | 心当り | 中り | 突き当り | 辺り
アタル: 思い当る | あたる | 中る
アルイ: 歩い | あるい | ねりあるい
アワセ: 袷 | 不仕合せ | 申し合せ | 打ち合せ | 合せ | 待ち合せ | 仕合せ | 見合せ
イガイ: 以外 | 大概 | 例外
イサイ: 制裁 | 体裁 | 委細
イサツ: 挨拶 | 推察 | 警察

母音 (-m vowel)

$ ruby extract_rhyme.rb -n 4 -m vowel 夏目漱石_坊ちゃん.txt | tail
オオイア: 床板 | 木の下 | ここいら
オオイイ: 恐ろしい | 騒々しい | 明後日 | よろしい | 乏しい | 思い切っ | 思いきっ
オオイウ: よろしく | 落っこちる | 頼もしく | 騒々しくっ
オオイオ: 思い込ん | 面白 | ごろりと | 躍り込ん
オオエウ: 泳げる | 恐る | 求める | 覚える | 見届ける
オオオア: ところが | 及ぼさ | 床の間 | どころか
オオオイ: 驚 | 驚い | 心持ち | 試み | もとより | 横取り | 一昨日
オオオウ: ことごとく | 喜ぶ | 及ぼす | 驚く
オオオエ: 心得 | 整え | 物覚え | 懐手
オオオオ: のそのそ | ごろごろ | ホホホホ | 色男 | そろそろ | きょろきょろ | ぞろぞろ | ちょろちょろ | そこそこ | よろよろ | もともと | 所々

母音 (-m vowel_with_help, ッーンを含む)

$ ruby extract_rhyme.rb -n 4 -m vowel_with_help 夏目漱石_坊ちゃん.txt | egrep "ッ|ー|ン"
ウアアアッ: 済まなかっ | ぶら下がっ | ぶらさがっ
オイアアッ: 飛びかかっ | 飛び上がっ | 持ち上がっ | 躍り上がっ | 起き上がっ | 取りかかっ
オーアアイ: 大当り | 大騒ぎ | 遠廻し

手動で変換しなくてもいい日本語入力

そもそも「変換候補が表示されてそこから選ぶ」というのがめんどくさいから、ぜんぶ Google 日本語入力 API に任せたらどうなるかを試してみた。最後の入力から 0.5 秒経ったら自動で変換処理を開始する。IME を OFF にして "toukyoutokkyokyokakyoku" とかをキーボードから入力するとどういうことか分かる。JavaScript でテキストエリアの文字列を管理するのがむずかしくていろいろちゃんと動いてないけど、だいたい感じは掴めた。違うものを作ってたつもりなのに結局これ (変換操作を省いて自動的に変換・確定する:IME即効テクニック) の劣化版みたいな感じになったような…。

あと副産物として GlitchIMEJavaScript 版とかも作った。