2010年01月13日
Railscasts でも使われている、keycastr というソフトをインストールしてみた。Macで、押したキーを画面に表示してくれる、というツールです。
Emacsとかvimでペアプロする時に使ってみると、楽しいかもしれない。
ところが、version0.8.0を入れてみたら、全然動かない。おかしいなぁ、と思いがら色々と試行錯誤していたら、システム環境設定の「ユニバーサルアクセス」から「補助装置にアクセスできるようにする」をチェックしないと、動作しないことが判明。
こんなの、普通にやってたら分からんよねぇ。。
あと、Spacesを使ってる時の動作がNG。keycastrの表示が作業画面1に固定?っぽい。
githubでソースコードが公開 されているので、お勉強がてら、あとでソースを読んでみようと思う。
2010年01月05日
手順メモ
(1) gem で RSpec, ZenTest, redgreen, autotest_screen をインストール。autotest_screenは、Version4.0未満のZenTestには同梱されていたみたいだけど、V4.0以降は別のgemをインストールする必要がある。
サイキョウライン » autotest_screenをリリースしました。
yoozoosato@localhost:~$ gem search rspec
*** LOCAL GEMS ***
rspec (1.2.9)
rspec-rails (1.2.9)
yoozoosato@localhost:~$ gem search autotest
*** LOCAL GEMS ***
autotest_screen (4.0.2)
yoozoosato@localhost:~$ gem search zentest
*** LOCAL GEMS ***
ZenTest (4.2.1)
yoozoosato@localhost:~$ gem search redgreen
*** LOCAL GEMS ***
redgreen (1.2.2)
(2) .autotest をホームディレクトリに作成。autotestでググると「サンプルをコピーすればいい」的な記述があったので、インストールしたgemの中に含まれているサンプルをホームディレクトリにコピーした。
cp /usr/lib/ruby/gems/1.8/gems/ZenTest-4.2.1/example_dot_autotest.rb ~/.autotest
(3) .autotestの中身を編集。require 'autotest/screen' を追記。ってか、元は全部コメントアウトされているから、コピーした意味ないじゃんね。。
# -*- ruby -*-
# require 'autotest/autoupdate'
# require 'autotest/once'
# require 'autotest/rcov'
# require 'autotest/restart'
# require 'autotest/timestamp'
# Autotest::AutoUpdate.sleep_time = o
# Autotest::AutoUpdate.update_cmd = o
# Autotest::RCov.command = o
# Autotest::RCov.pattern = o
require 'autotest/screen'
(4) 開発対象のディレクトリに「spec」と言う名前のディレクトリを作成し、その中に hoge_spec.rb みたいなテストを書く。
(5) 開発対象のディレクトリに移動して、 autospec コマンドを叩くと、specファイルが更新される都度テストが行われ、その結果がred/greenで表示される。
(6) こんな感じ。
・テスト失敗
・テスト成功
Mac + Growlの設定はぐぐれば沢山ヒット するけど、僕はgrowlが好きではないのでまだ試していない。導入してみてもいいような気もするけど。
2010年01月03日
「機械でもできることは、積極的に機械にやらせる。
それで人間の手が空いた分、人間にしかできない
クリエイティブなことに時間を割けるようにする」
仕事ではこんなことばっかりやっているので、休日に自分が楽しむ為にやることくらいは、機械の力を極力排除して、人間がやりたいようにできるのがいいのかなぁ、と思う。
センサーが自動的に焦点を合わせてくれるのは便利だし、確実にピントの合った写真が撮れるけど、自分でつまみをグリグリ回して、自分が注目した所、その構図で最もハイライトになる部分に自分の意思でフォーカスを当てる方が楽しい。
露出だって、オートで合わせれば画は撮れるけど、それが望んでいた画かというとそうでもないことが多いから、自分で合わせた方がいいような気がする。
ま、補正すればだいたい当たるのだけど。
マニュアルはいいよ。人間が「やりたい」という意思を持って機械を操作するのなら、可能な限り機械の自動判断を排除して、人間の意思を機械に伝えられる方が楽しい。
回転計と露出計。針が指し示す値は違うけど、値を人間が判断できる余地があることは素晴らしいと思う。
今年は、今まで以上に「人間の持ってる力」を掘り下げていきたいなー。と思う。
2009年12月26日
写真アップするの忘れてた。
残り28個。先はまだまだ長い。
DevLOVE 2009 Fusion のライトニングトークの動画をYoutube にアップしました。
Playlistはこちら
http://www.youtube.com/view_play_list?p=7B3BEA29D7718FCE
そういえば、12月12日にpapanda さんがDevLOVEを開催。kwappa さん、physical computingについて語る。
12月19日にはebacky さんがTDDBC開催。
このメンバー、6月に勉強会カンファレンス で勉強会について熱く語っていた人達ではないかw
いやー、すごいなー。
2009年12月21日
2009年12月19日
2009年12月13日
2009年12月10日
水中モノクロ写真のうち、お気に入りのヤツをflickrに上げてみた。
ドラクエIX クリアしたので、久々にリズム天国ゴールド やった。
残り30個。先はまだまだ長い。
ドラゴンクエストIX をやっとクリアした。
7月に始めてから、約5ヶ月。途中で飽きてしまって、しばらく放置してたので今日までかかった。
クエストとか、宝の地図とか、まだまだやりこみ要素はいっぱいあるんだよね。
うーん、もうしばらくは遊んでみようかな。
2009年12月07日
特に意味はない。
GLTではUstream.tv 中継 & Youtube への動画アップをやってますが、撮影光景はこんな感じになっています。
まずUstreamへの配信ですが、MacBookにUSBのウェブカム を挿して、その画像を配信しています。以前はビデオカメラ からFireWireで繋いで、ってのもやってたんですが、Youtube にはHD動画をアップすることにしたので、中継のカメラと録画のカメラを分けることにしました。
MacBook上で立ち上がっているのは、
・ブラウザ(Ustreamのコンソール)
・Carbon Emacs (twittering-mode 、riece )
・nadoka (TwYM でIRCメッセージを拾うのに必要)
・QuartzComposer
これだけあれば、GLTの進行は問題なくできるようになってます。
MacBookの電源ボタンあたりに乗っかっているのはピンマイクで、TwYMの音を会場に流すために使っているだけです。
» 続きを読む
2009年11月19日
2009年11月15日
これでさっき作成したモデル経由でDBにレコードが入った。
require 'net/http'
require 'rexml/document'
class ImportCalendar
@@logger = Logger.new(File.join(RAILS_ROOT, "log", "import.log"))
def self.logger
@@logger
end
def self.execute()
# @TODO
# バッチ処理なのでorderbyを最適なものに変更
result =
Net::HTTP.get('www.google.com',
'/calendar/feeds/' +
'fvijvohm91uifvd9hratehf65k@group.calendar.google.com/public/full/?' +
'max-results=1&futureevents=true&orderby=starttime&singleevents=true&sortorder=ascending&ctz=Asia/Tokyo')
doc = REXML::Document.new(result)
ent = CalendarEntry.new
doc.elements.each('feed/entry') do |node|
_id = node.elements['id'].text
_updated = node.elements['updated'].text
_title = node.elements['title'].text
_content = node.elements['content'].text
_link = node.elements['link'].attributes['href']
_starttime = node.elements['gd:when'].attributes['startTime']
_endtime = node.elements['gd:when'].attributes['endTime']
_where = node.elements['gd:where'].attributes['valueString']
ent.entry_id = _id
ent.updated = _updated
ent.title = _title
ent.content = _content
ent.link = _link
ent.starttime = _starttime
ent.endtime = _endtime
ent.save
end
end
end
Modelクラス側にちゃんとした処理を書いて、バッチ起動クラスから叩くようにすればOKかな。
壊れてしまったredmineを復旧させられないので、暫定的に作業メモ的なエントリ。
./script/generate model CalendarEntry entry_id:string updated:datetime title:string content:string link:string starttime:datetime endtime:datetime where:string
オリジナルデータをばっさりと切り捨てているけど、必要になったら後でカラムを追加すればいいさ。
2009年11月13日
YouTube公式blog にエントリがあがってた。
1080p HD Is Coming to YouTube
Starting next week, YouTube's HD mode will add support for viewing videos in 720p or 1080p, depending on the resolution of the original source, up from our maximum output of 720p today.
これは素晴らしい!!!
GLTの動画は現在720pでアップロードしてるけど、次回からは1080pでアップしてみよう。
2009年11月12日
http://code.google.com/p/appengine-jruby/wiki/UseGems の説明がアップデートされてないようで、
appcfg.rb gem install
を実行しても、
Sorry, the 'appcfg.rb gem' option is deprecated.
Simply update the 'Gemfile' and run 'appcfg.rb bundle .' instead.
と言われてしまう。
Getting Started にあるように、gemを使う時はGemfileに書けば良いみたい。
開発サーバーを起動(dev_appserver.rb を実行)しても、自動的に依存関係のあるgemをダウンロードしてきた。
2009年11月11日
Google App Engine でJRubyがかなり簡単に使える、ということで
appengine-jruby を試してみた。
半年前 に「準備だけした」アプリケーションがやっと稼働、っとw
http://yoozoosato.appspot.com/
Getting Startedのページに書いてあるもの
そのまんま大幅に端折って、1個のGETリクエストだけを処理する極めてプレーンな
Sinatra アプリ。
一応、HTML5完全準拠です。
ソースは以下。
» 続きを読む
2009年11月10日
http://twitter.com/yoozoosato/status/5579799370
ググったら解答が見つかった。
http://d.hatena.ne.jp/satoru_h/20091104/p1
パッチを当てて、表示が多少快適になりました。ありがとうございます。
ところで、Twitterのプロフィール画像の大きさって、なんでこんなにバラバラになるんでしょう?
ちょっと調べたところ、デカク表示される画像は.pngだけのように見えたけど、.jpgでもデカイ画像あるし。。