いつもいろんなことを教えてくれて、とても心地よいインプットをくれるいがいがさんが、現職を退職されるというので、その壮行会に行ってきました。
壮行会では @beakmark さんの無茶振り華麗な仕切りにより盛大なLT大会となったので、僕も発表してきました!
スライド資料はこちら↓
一応、前夜にリハーサルしたよw
いがいがさん、これからもどうぞよろしくお願いします!
いつもいろんなことを教えてくれて、とても心地よいインプットをくれるいがいがさんが、現職を退職されるというので、その壮行会に行ってきました。
壮行会では @beakmark さんの無茶振り華麗な仕切りにより盛大なLT大会となったので、僕も発表してきました!
スライド資料はこちら↓
一応、前夜にリハーサルしたよw
いがいがさん、これからもどうぞよろしくお願いします!
Railscastsでも使われている、keycastrというソフトをインストールしてみた。Macで、押したキーを画面に表示してくれる、というツールです。
Emacsとかvimでペアプロする時に使ってみると、楽しいかもしれない。
ところが、version0.8.0を入れてみたら、全然動かない。おかしいなぁ、と思いがら色々と試行錯誤していたら、システム環境設定の「ユニバーサルアクセス」から「補助装置にアクセスできるようにする」をチェックしないと、動作しないことが判明。
こんなの、普通にやってたら分からんよねぇ。。
あと、Spacesを使ってる時の動作がNG。keycastrの表示が作業画面1に固定?っぽい。
githubでソースコードが公開されているので、お勉強がてら、あとでソースを読んでみようと思う。
手順メモ
(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 = orequire 'autotest/screen'
(4) 開発対象のディレクトリに「spec」と言う名前のディレクトリを作成し、その中に hoge_spec.rb みたいなテストを書く。
(5) 開発対象のディレクトリに移動して、 autospec コマンドを叩くと、specファイルが更新される都度テストが行われ、その結果がred/greenで表示される。
(6) こんな感じ。
・テスト失敗

・テスト成功

Mac + Growlの設定はぐぐれば沢山ヒットするけど、僕はgrowlが好きではないのでまだ試していない。導入してみてもいいような気もするけど。
「機械でもできることは、積極的に機械にやらせる。
それで人間の手が空いた分、人間にしかできない
クリエイティブなことに時間を割けるようにする」
仕事ではこんなことばっかりやっているので、休日に自分が楽しむ為にやることくらいは、機械の力を極力排除して、人間がやりたいようにできるのがいいのかなぁ、と思う。
センサーが自動的に焦点を合わせてくれるのは便利だし、確実にピントの合った写真が撮れるけど、自分でつまみをグリグリ回して、自分が注目した所、その構図で最もハイライトになる部分に自分の意思でフォーカスを当てる方が楽しい。
露出だって、オートで合わせれば画は撮れるけど、それが望んでいた画かというとそうでもないことが多いから、自分で合わせた方がいいような気がする。
ま、補正すればだいたい当たるのだけど。
マニュアルはいいよ。人間が「やりたい」という意思を持って機械を操作するのなら、可能な限り機械の自動判断を排除して、人間の意思を機械に伝えられる方が楽しい。
回転計と露出計。針が指し示す値は違うけど、値を人間が判断できる余地があることは素晴らしいと思う。
今年は、今まで以上に「人間の持ってる力」を掘り下げていきたいなー。と思う。
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
いやー、すごいなー。
DevLOVE 2009 FusionでのkwappaさんのセッションをYoutubeにアップしました。
手元カメラの映像を埋め込んでみたんですが、どうでしょう?来場できなかった人も、手元で何が行われているのかがなんとなく判るんじゃないかと思います。
前半、後半と、それぞれ30分でしたので、ビデオは10分毎に3分割してあります。(Youtubeの仕様で、動画は10分未満にしないとアップできないので)
■前半戦 Gainer Cooking
http://www.youtube.com/watch?v=icYrQnn03bg
http://www.youtube.com/watch?v=OHDOkNkhFxU
■後半戦 Arduino Hacking
http://www.youtube.com/watch?v=_KPx0IZ-XgI
http://www.youtube.com/watch?v=D3xv3piNu74
TDD Boot CampのUst配信ですが、午前のセッションについてはUstream.tv上で録画していました。
10分程度ごとに分割してあるので、この辺からどうぞー。
・和田さんのセッション
http://www.ustream.tv/recorded/3235131
http://www.ustream.tv/recorded/3235494
http://www.ustream.tv/recorded/3235790
http://www.ustream.tv/recorded/3236072
http://www.ustream.tv/recorded/3236349
http://www.ustream.tv/recorded/3236618
・Lasseさんのセッション
http://www.ustream.tv/recorded/3237015
http://www.ustream.tv/recorded/3237275
http://www.ustream.tv/recorded/3237605
http://www.ustream.tv/recorded/3237934
http://www.ustream.tv/recorded/3238338
# 確か、ワンクリックでyoutubeにアップできたはずなんだが・・・
行ってきました、DevLOVE2009Fusion。
GLTの不滅の先頭打者ことkwappa先生の「フィジカルコンピューティング」セッションのお手伝いで、Ustream中継と録画をしてきましたっ!
Ustreamでも録画してあるので、この辺から見れます。
録画したもの(高解像度版)は、後日Youtubeにアップします。
ドラゴンクエストIXをやっとクリアした。
7月に始めてから、約5ヶ月。途中で飽きてしまって、しばらく放置してたので今日までかかった。
クエストとか、宝の地図とか、まだまだやりこみ要素はいっぱいあるんだよね。
うーん、もうしばらくは遊んでみようかな。
GLTではUstream.tv中継 & Youtubeへの動画アップをやってますが、撮影光景はこんな感じになっています。
まずUstreamへの配信ですが、MacBookにUSBのウェブカム
を挿して、その画像を配信しています。以前はビデオカメラ
からFireWireで繋いで、ってのもやってたんですが、YoutubeにはHD動画をアップすることにしたので、中継のカメラと録画のカメラを分けることにしました。
MacBook上で立ち上がっているのは、
・ブラウザ(Ustreamのコンソール)
・Carbon Emacs (twittering-mode、riece)
・nadoka (TwYMでIRCメッセージを拾うのに必要)
・QuartzComposer
これだけあれば、GLTの進行は問題なくできるようになってます。
MacBookの電源ボタンあたりに乗っかっているのはピンマイクで、TwYMの音を会場に流すために使っているだけです。
» 続きを読む遅くなりましたが、GLT Vol.21の動画をYoutubeにアップしました。
Playlistはコチラからどうぞ → http://www.youtube.com/view_play_list?p=F37588EC50C9BF17
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
壊れてしまったredmineを復旧させられないので、暫定的に作業メモ的なエントリ。
./script/generate model CalendarEntry entry_id:string updated:datetime title:string content:string link:string starttime:datetime endtime:datetime where:string
オリジナルデータをばっさりと切り捨てているけど、必要になったら後でカラムを追加すればいいさ。
YouTube公式blogにエントリがあがってた。
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でアップしてみよう。
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.
開発サーバーを起動(dev_appserver.rb を実行)しても、自動的に依存関係のあるgemをダウンロードしてきた。
