USTREAMで生放送始めましたという告知をUSTREAM備え付けのTwitter機能を使うと、日本語のChannnel名のURLがおかしくなって非常に面倒臭いのでスクリプトにしてます。

#!/usr/bin/env ruby

require 'rubygems'
require 'twitter'
require 'pit'

config = Pit.get('twitter', :require => {
  'consumer_token_key' => '',
  'consumer_secret'    => '',
  'access_token_key'   => '',
  'access_secret'      => ''
})

oauth = Twitter::OAuth.new(config['consumer_token_key'], config['consumer_secret'])
oauth.authorize_from_access(config['access_token_key'], config['access_secret'])

client = Twitter::Base.new(oauth)
client.update('USTREAMで生放送を開始しました。「生放送しながらWebサービスを作る - Help me, hackers!」 http://bit.ly/9mGebY #hmh')

修正:Gist貼付けだとフィードリーダーで見えないのでやっぱりソースを張ることにしました。

WindowsのSafariがちゃんとWindowsのガイドラインに従う感じに変わってる!

windows_xp_ie6 [実行中] - Sun VirtualBox

いや・・・まったくもって正しいと思うんですが・・・なんだろう。この愛しさと切なさと・・・・・・切なさは。

% sudo port install mercurial
% hg clone https://komagata@bitbucket.org/komagata/haml.ursm.jp
% hg commit -m 'fixed foo'
% hg push

gitと同じ感じでいけるんですね。とても親近感が湧きました。ハードゲイ(hg)かと思ってたら案外悪いヤツじゃない。

# ~/.hgrc
[ui]
username = Masaki Komagata <komagata@gmail.com>
verbose = True

ただ、bitbucketはそびえ立つ糞のように重かった。

パッチ作成とパッチ当て

% hg diff > foo.patch
% patch -p1 < foo.patch

Help me, hackers!

「ムシャクシャしてやった。今は反省している。」

こういうのが来たらテンプレとして、

「つ Help me, hackers!

という運動をして行きたい。「柔軟な対応」しました(キリッ。

世界最年少のプロギタリスト宮澤佑門くん9歳。あまりにもうますぐるでしょう?

OzzyとCrazy Train弾いてる・・・。

ちょうどOzzyのファンのおっさん達は佑門くんの父親ぐらいの年齢でしょう。

「ぜひうちの子にもギターを!」

と思っちゃうかも。

いやいやこんなん無理ですから!!

ニコニコ動画が黒字化しました‐ニコニコニュース

このたび、ニコニコ動画が
2010年度・第2四半期の黒字化を達成いたしました!
本日午後のドワンゴ決算発表会で明らかにされました。

ニコニコ動画が黒字化したそうです。おめでとうございます!

赤字の状態ですら「ちょwww」というようなアグレッシヴな機能追加を行ってきたのでこれからどうなるのか楽しみです。

5月13日で0x20歳になりましたkomagataです。

プログラマー35歳定年説ってありますが、「0x20歳でプログラマー成人式とかやったらどうか?」などと考えるしょうもない大人になるとは思いませんでした!

RailsというかCapistrano Tipsですが・・・。

リリースの時にタグを打つ & リリースの時にTweetする(ホントはXAuth使いたい・・・)

# config/deploy.rb
set :version, Time.new.strftime('%Y%m%d%H%M%S')

namespace :deploy do
desc "Create release tag"
task :tagging, :roles => :app, :except => {:no_release => true} do
run_locally "git tag v#{version}"
end

namespace :notify do
desc "Tweet release"
task :tweet do
require 'rubygems'
require 'twitter'
require 'pit'

config = Pit.get('twitter', :require => {
'consumer_token_key' => '',
'consumer_secret' => '',
'access_token_key' => '',
'access_secret' => ''
})

oauth = Twitter::OAuth.new(config['consumer_token_key'], config['consumer_secret'])
oauth.authorize_from_access(config['access_token_key'], config['access_secret'])

client = Twitter::Base.new(oauth)

msg = "Version #{version}をリリースしました。 http://help-me-hackers.com #hmh"
client.update(msg)
end
end
end

# config/deploy/production.rb
after 'deploy', 'deploy:tagging'
after 'deploy:tagging', 'deploy:notify:tweet'

あとはpushするときpush --tagするようにする。

プログラミングタスクを共有する「Help me, hackers!」というサービスを作りました。(ちなみにこの書きだしはラペコパクリました。)

一言で言うと「報酬支払いインフラを持った共有公開BTS」です。(報酬はPayPalで払える。もちろん報酬無しの単なるタスクもアリ)

Help me, hackers!

我々プログラマーは趣味や仕事でプログラムを書きまくるわけですが、「何を作ってるのか」とか「何を作りたいのか」などは個人のTODOリストとか、会社のBTSに隠れて見ることが出来ません。それを公開・共有すれば有益なコミュニケーションができるのではないかと考えて作りました。

以前、このエントリーで書いたBTSを使ったリモートでのお仕事。こっちのエントリーで書いたお仕事がスゴく助かったのでこういうのがもっと簡単に行えるインフラとコミュニティーが欲しかったのです。当然極秘のタスクもあると思います。しかし、以前の例からも仕事・趣味に関わらず、公開していた方が結果的にお得なんじゃないかと。両方共良い成果が出たのはお二人ともリモートからオープンソース形式での開発に馴染んでいてスキルがとても高かったのが一番の原因だと思います。なので、そういった人が集まるコミュニティーを作るために、逆に興味無い人をフィルタリングしてしまうようにサイトを作りました。(IE6をわざと非対応にしたり・・・)

利用はTwitter認証を使っていてTwitterアカウント必須です。面倒な登録は無く、編集・削除も後から自由ですので、「今日の自分のタスク」や「おうちで作りたいもの」などを試しに登録していただけると嬉しいです。当初はもちろん僕が全てのタスクに対して全力で解決にあたりますw