2011-06-26

A Patch from…

dev

http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?revision=32235&view=revision

Rubyのリビジョン32235で,ついにこのような記述が登場.

A patch from Yukihiro Matsumoto  <matz AT ruby-lang.org>.

どうしてこうなった.

該当のチケットを見てみると,matzが

確認ありがとうございます。assocの後ろにもカンマを許す方向で
パッチをコミットしようと思います。

と言ったまま2週間放置されていてカッとなって別の人によってコミットされた次第ぽい.

Published at 2011-06-26 10:18:30 +0900 | Permalink
2011-06-16

今すぐフォローすべきRuby界のスーパーエンジニア

今すぐフォローすべきnode.js界のスーパーエンジニア - 大人になったら肺呼吸 の記事に便乗しまして.

独断と偏見に基づいて,自分がフォローしているRuby界隈の人から数人をピックアップして並べてみます.

(以下全て敬称略)

Rubyコミッタ編

Ruby コミッター周りからいろいろと列挙してみます. 一部違うかもしれないがご愛嬌

あまりtwitterやってない人もいますが,一応.

  • まつもとゆきひろ http://twitter.com/yukihiro_matz

    • Ruby の作者.現在は主に仕様の策定を担当している.
    • 自分自身がコミットすることは珍しい.
    • コミットするときは一気にコミットするらしい.
  • akr http://twitter.com/tanaka_akr

    • 個人的には IO 周りの人.
    • なんかいろいろとすごい.
    • Matzを説得する方法 の人.Featureリクエスト出そうとしてる人はあわせて読みたい.
  • arton http://twitter.com/arton

    • 書籍とかで良くみるよね.artonさんのrails本は持ってます.黄色い本.
    • ActiveScriptRuby の人.
  • Dave Thomas http://twitter.com/pragdave

    • The Pragmatic Programmer
    • BDDとかの人と見ている.RubyKaigi2011の基調講演キャンセル,残念です.
  • Eric Hodel http://twitter.com/drbrain

    • Ruby 1.9.3 Documentation Challengeを呼びかけた人.
    • Rubygems周りの方でもあります.
  • ko1 http://twitter.com/_ko1

    • 匿名希望
  • kosaki http://twitter.com/kosaki55tea

    • この人からrubyをもっとも知らないコミッタを奪いました.
    • GVLとか良くいじってる感じがします.
    • 実はLinux界隈の人で,mallocとかを弄ってるようですね. (あわせて見たい)
  • mame http://twitter.com/mametter

    • Quine. ヘンタイ!
  • mrkn http://twitter.com/mrkn

    • Rubyの数学周りをいじってる.BigDecimalメンテナ.
    • 数学の人.
    • いつもお世話になってます.
  • nari3 http://twitter.com/nari3

    • GCの人.
  • naruse http://twitter.com/nalsh

    • なるせさん
    • いつもおせわになってます.IRCで.
  • nagachika http://twitter.com/nagachika

    • PB memoの人.毎日コミットを追いかけては一つ一つ解説していってくれます.
    • お疲れ様です.
  • n0kada http://twitter.com/n0kada

    • パッチモンスター
    • 1日に数十回コミットすることがある.
    • コミッター最年長らしい(噂)
  • http://twitter.com/m_seki

    • よくおもしろいことを言ってます.
    • dRuby の人.王子様本ほしい.
  • shyouhei http://twitter.com/shyouhei

    • Ruby 界のツンデレとか誰かが言ってたような…
    • 1.8.7 のメンテナです.
  • たこ焼き仮面 (Aaron Patterson, tenderlove) http://twitter.com/takoyakikamen http://twitter.com/tenderlove

    • nokogiri の人.
    • Rails の人.
    • psych の人.
    • アメリカのネイティブですが,日本語が上手です.たぶん文法的には自分よりはマシ
    • よくIRCで日本語をしゃべったりしています.
  • usa http://twitter.com/unak

    • mswin64の人. (mswin32 ってなに? おいしいの? ゚+.(・ω・)゚+.゚)
    • いつもIRCでたのしくさせていただいています.
  • yugui http://twitter.com/yugui

    • 1.9 系列リリースマネージャ.
    • お疲れ様です.

その他

もう分類面倒臭い…

これくらいか.

途中から一部解説ないめの人居ますが,たいがいWebサービスとかを作ってる人と思ってもらえれば.Railsとかで. 解説大変なんです...

自分のTLでそういう感じの人はこれくらいになります.

Published at 2011-06-16 14:56:00 +0900 | Permalink
2011-05-31

カバンの中身

カバンの中身を晒すのが極一部で流行ってるようなので 僕もやります。

なかみ

「なんだその手ブレは」と言いたくなる気持は大変よく分かりますが手ブレについてはスルーして頂けると幸いです。

以下中身一覧

  • MacBook Air (4GB RAM, 128GB, 1.4GHz, 11inch) 常用マシンです.最近はMBA 13にすればよかったと思ってます.
  • 財布 ただの財布です.AppleロゴはApple製品についてくるステッカーを貼ってます.Appleロゴ側にPASMOが入っているので,こっち側を下にしろという目印.
  • iPad (32GB 3G 第一世代) 3Gとはいえ禿のプリペイドで契約しているので維持費0です.GPS用.
  • iPod touch (64GB 第四世代) 音楽聞いたりIRC用に使ってます.iPhone替わり.
  • b-mobile wifi (SIM: b-mobile fair) モバイルWi-Fiルーター.容量制限付きなので,慎重に使う.残量ははてなグラフで管理しています.
  • Kindle (Wi-Fiのみ) 読書用.当たり前ですね.
  • モレスキンノート ただのノートです.
  • Xmini auガラケーです.ゴミ端末なのでそれより古いモデルでもいいのでリプレースしたいところ.
  • DUO 3.0 iKnowが有料化したので試しに買って,それがただカバンの中に入っていただけですね.
  • Apple Wireless Keyboard (US) iPad用です.
  • 名札 LinuxConの.
  • Finepix A170 超安価な奴.
  • イヤホン&BTアダプタ iPod touchにつなげます
  • eneloop mobile booster いろいろ充電します
  • Aterm WM3500R WiMAXです.叔父から借りてます.b-mobile fairの節約に使ってます (80kb/sのADSLから乗り換えさせて,かなり高速な回線かつさらに安くなって叔父も喜んでるし東京で借りれて俺も喜んでいます)
  • 腕時計 安価.なぜかカバンに入れてる
  • USBケーブル DockとmicroBとminiB
  • 名刺 Inboxと自分の.まだまだたくさんあるよー!

鞄はこれ

かばん

です.斜めにかけるリュックとしても肩から下げることもできるので重宝.

元ネタ: http://text.ssig33.com/54

Published at 2011-05-31 12:26:09 +0900 | Permalink
2011-05-19

Twitter APIのパーミッションレベルが変わるそうです

dev

Twitter の OAuth のパーミッションレベルが新しくなり,標準ではダイレクトメッセージにアクセスできなくなるようです.

また,xAuth などで認証している「サードパーティ」アプリケーションは新パーミッションレベルでも ダイレクトメッセージにアクセスできなくなるみたいです.

この改良は待ち望んでいたものの,xAuthでアクセスできなくなるのは痛いですね.

http://groups.google.com/group/twitter-api-announce/browse_thread/thread/e954fc0f8b5aa6ec?pli=1

からの翻訳です.

また,移行期間の変更について http://groups.google.com/group/twitter-development-talk/msg/dbe591c0088a4b18 で書かれている内容を反映しています.

そして以下の内容については保証しません.最新の情報はtwitter-api-announce,twitter-api-talkなどを見てください.

やあ.

わたしたちは最近,OAuth の認証画面でアプリケーションに渡される権限を わかりやすくする変更を加えました.Twitter ユーザー・デベロッパーから の貴重なフィードバックが私たちの変更を助け,どこをはっきりさせたほう がいいかを教えてくれました.

ユーザーとデベロッパー双方から,さらに細かいパーミッションレベルを 設定したいという要望が特に多かったです.

このフィードバックへの返答として,わたしたちは新たなパーミッション レベルを作成しました.それは "Read, Write & Direct Messages" です. このパーミッションレベルは Read, Write に加えダイレクトメッセージを Read, Delete することを許可します. そしてこのパーミッションを施行するとき,既存の "Read & Write" の パーミッションのアプリケーションはダイレクトメッセージをRead, Delete することができなくなります.

そしてまた,わたしたちはこのパーミッションを適用するのは OAuth のみに 絞りました.xAuth はこのパーミッションを適用することができず,OAuthの /authorize を用いた Web でのフローのみで適用されます.

これは,xAuth を使っていてダイレクトメッセージにアクセスする必要性があ る場合は OAuth と Web ページを利用して認証する必要があるということを 意味します.

この改善についてアプリケーションはにはどのような変更すれば良いのか?

もしダイレクトメッセージにアクセスする必要がない場合: あなたはアプリケーションに何も変更を加える必要はありません. この新パーミッションレベルが施行されるとき,あなたのアプリケーション に登録されている read もしくは read/write レベルのアクセストークンは ダイレクトメッセージにアクセスすることができなくなります.

もしダイレクトメッセージにアクセスする必要がある場合: あなたはまず, https://dev.twitter.com/apps からあなたのアプリケーシ ョンのパーミッションレベルを変更する必要があります. そしてそのパーミッションは既に存在しているトークンについては反映され ないので,ユーザーに再度認証してもらう必要があります.

わたしたちはこの変更に時間が必要なことを理解しています.そこで,2011/6/14までを移行期間とします.移行期間中は,まだ Read/Write レベルのトークンはこの変更の影響を受けませんが,移行期間が 終わってからはダイレクトメッセージにアクセス・削除することができなくなります.

影響を受ける API と リクエスト

REST APIに置いて,Read と Read/Write アプリケーションは以下のAPIを利用 することができなくなります:

  • /1/direct_messages.{format}
  • /1/direct_messages/sent.{format}
  • /1/direct_messages/show.{format}
  • /1/direct_messages/destroy.{format}

ストリーミングAPIについては, User Streams と Site Streams はユーザーが ダイレクトメッセージへのアクセスを認可した場合のみ,ダイレクトメッセージを 受信するようになります.

また, "Sign-in with Twitter" か xAuth を使っているアプリケーションは Read か Read/Write のトークンのみを得ることができるようになります.

つまりこれは,Webページを利用して OAuth 認証をするアプリケーションのみが ダイレクトメッセージに対してアクセスできるトークンを受け取ることができる という事です.その他のxAuthを含む認証手段は Read/Write レベルのトークン のみを受信するようになります.

このパーミッションが適用されたとき何が起こるのか?

わたしたちがこの新パーミッションレベルを適用したとき,全ての Read と Read/Write レベルのサードパーティアプリケーション向けのアクセストークン はユーザーのダイレクトメッセージを読めなくなります.あらゆるダイレクト メッセージの読み込みリクエストに対して HTTP 403 エラーを返すようになり ます.

たとえば,次のURL: https://api.twitter.com/1/direct_messages/sent.json に対して GET リクエストをすると HTTP 403 Forbidden ステータスコードと 以下のレスポンスボディーが返ってきます:

{"errors":[{"code":93,"message":"This application is not allowed to access or delete your direct messages"}]}

キーポイント

  • もしユーザーのダイレクトメッセージにアクセスする必要がある場合,あなたは アプリケーションのパーミッションレベルを変更,またユーザーに再認証してもらい 新しいトークンを得る必要があります.
  • ダイレクトメッセージにアクセス出来るのは OAuth /authorize web フローのみで す.たとえば,xAuth を利用して認証した場合ダイレクトメッセージへのアクセスは 許可されません.
  • わたしたちがこの新パーミッションレベルを施行したとき,既存の全ての Read/ Write と Read パーミッションレベルのトークンはダイレクトメッセージにアクセス ,削除することができなくなります.
  • ただし,Read/Write については施行後も引き続きダイレクトメッセージの送信は 許可されます.

わたしたちはまもなく新しい情報を developer resources permission model ページ に掲載します:

https://dev.twitter.com/pages/application-permission-model

また,私たちは今回の件について twitter blog にエントリーしました:

http://blog.twitter.com/2011/05/mission-permission.html

Best, @themattharris

Published at 2011-05-19 01:43:29 +0900 | Permalink
2011-05-17

ぼくがぷろぐらみんぐをはじめたきっかけ

See Also: http://b.zero-signal.net/?p=1704

なんだったっけなぁ.もうおぼえてないんだよなぁ.

確か何かのきっかけで小3後半くらいでHSPとかいう最高にクソ言語を触りだして,Webアプリを作りたくなってPHP+JS (HTML4は前から手打ちしていた) を習得,

そして適当に C (キリッ とかを適当にやって,ローカルのターミナルで動くバッチみたいなのを作ったりするのに Ruby を習得した感じ.

このころまではまだWindows.

まあそれまでだらだら適当にコードを書いて,小5で股関節に水が溜まって歩けないとかいう病気になっている時にMac miniをポチった.

そうそう,小5の最初でtwitter始めたけど,当時のMacMiniでクライアントが重くて一旦アカウント放置してた.

小6の最初頃に厨二病全盛期@greyia にであって,適当にだらだらしてました.当時アイツ厨3とか言ってたよな.てめー今高1だろうが.とりあえずあまり近寄りたくないなあ,と思って3ヶ月くらいでメッセンジャーでブロックした訳ですが.

で,小6の最後→中学入学前に @pastak に出会い,横暴なぱすたくんが自分を g91 とかに投げつけ,更に @rosylilly のコード強化プログラムみたいなので俺のRuby力が急上昇. 正直俺はpastakとろーじーーに育てられたようなものですし,あの二人に出会わなければ今Rubyコミッターにはなってないね.大変感謝しています.

そして中1の頃から Vim script と Vim に手を出し, Ruby で CGI とか書き始めたとたんPHP書かなくなった.

PHPクソですね…

中1では 91-conf にも行ったな.あれが最初のオフでした.これもrosyがいなければネットから一歩も出てこない非アクティブな人間になってただろうね.行く気になったっていうのは pastak のおかげもあるんだけど.

後半では徐々に学校いかなくなってきた.いやだってつまらないもんなー.SSH使えるネット回線ないしなー.

中2のはじめくらいからRails/Sinatraを始めて,VPSを契約してRackアプリでWebアプリを書けるようになりました.

この頃に @hinatter @Sn0wNight @i315 に出会いました.

ひなったーまだかわいいですね.仕事,いいなあ. 彼はいつもヘンタイぽさをだしているので尊敬します.一度会ってみたいなあ.益子なんだけど,ひなたの居住地から宇都宮に鉄道で出てくるのは面倒らしい.

中2に入って,学校がうるさいので早退の形で通うようになった.

あとは@ujm aka ujihisaの Hacking parse.y を見て,RubyのC実装を弄るようになりました. これが!人になるための旅が始まりました.

まとめると,中2は主にRubyにそこそこパッチを投げてましたね.

そんでRubyKaigiに参加して,来年で最後と聞いてがっくりするなどしました.

RubyKaigiの後からまた学校に行かなくなった.そしてフリースクールなどを自習室として活用するようになったが, それも2011年になってから一度も行ってない.とりあえず,またもうちょっとしたら行ってみようと思っている.

割と遠いので,自転車で通うことによっていい運動になるので.

中2の最後ではTochigiRubyKaigi03でトークしたりとかでしめましたね.

今中3なわけですが,今年は何があるだろう.

とりあえずRubyKaigi2011とLinuxConかなー. LinuxCon Japanには行く予定でいます.

Published at 2011-05-17 23:47:30 +0900 | Permalink
2011-05-15

ujihisa.vim に行ってきました #ujihisa.vim

ujihisa.vim に行ってきました.

  • 車で行きました
  • 朝9:40amくらいについてしまった
  • とりあえず10amになって kana さんに電話.
  • なんか普通に会場あいてたらしく,20分が消えた.

<!-- http://twitter.com/#!/kana1/status/69044109008060416 -->

#ujihisa.vim に参加される方へ: 開催当日は土曜日で会場のビルは閉鎖されており、Vim scriptとHaskellとPythonを組み合わせた全く新しい格闘技を駆使しない限り入場することができません。会場入口付近に到着した際は @kana1 まで連絡してください。less than a minute ago via Mobile Web Favorite Retweet Reply

<!-- end of tweet -->

  • 格闘技は不要だったみたい.観たかった.
  • Shougoさんとkanaさんが会場に既にいた.

ujihisa

  • だいたい11amくらい
  • 「こんにちは うじひさです」
  • 新宿駅で迷ったらしい.なるほど.
  • Appleマークのシャツを着ていた.
  • 「実は僕がうじひさです」

だらだら

  • Vim変態Shougoさんはバグトラッキングシステムが1冊のノートの中で動いていた
  • 手動トラッキング! すごい!
  • mactkg
  • twitterなniwさんもきた

昼食

  • 高記 という中華料理店へ
  • 9席を占領
  • チャーハンを注文したが普通に美味しかった,しかし何故自分はMacBookを開きながらごはんを待っていたのであろう.
  • しばらくすると別の勢力がぞろぞろと.超満員!!!

ujihisa: shadow.vim

  • CoffeeScriptを保存すると勝手にjsを作ってほしい
  • Markdownを保存すると勝手にmarkdownをつくってほしい
  • それを実現するのがshadow.vim
  • shadow.elもあるよ!(らしい)

niw: =NDA :D=

  • (NDA :D) が (NDA :D) で (NDA :D) な話だった
  • twiなんとかではvimmerが劣勢だそうで

guyon: tiny-vim

  • apt-get install tiny-vim
  • 160MBを受け入れる寛容な心

sorah: (未定)

  • 「資料できてないのでswapしてください」

Shougo: めざせ Vim マスター 2011

  • エディットモンスター ビムグリーン
  • エディットモンスター エムブルー
  • めざせ Vim マスター 2011
  • やっぱり Shougo さんは変態

sorah: (未定)

  • 「今Double click to editです」

ujihisa: vital.vim

  • Vimの便利関数を集めたライブラリ
  • autoloadだが,工夫によりプラグイン毎に違うバージョンを共存させることができる
  • なのでバージョンが変わることによって動作の違いなどが発生しない
  • 便利!

sorah: (未定)

  • yakiudon-vim をさっき作った話
  • RubyでVimプラグインを書く
  • 時間が余ったのでRubyの話,ちゃんとバグ報告をする方法のはなし.

寿司

  • 寿司消費早すぎだろお前ら

@sandkatt

  • ujihisaが @sandkatt を連れてきた
  • Vimトークをするのかと思ったら違った…!

その他

  • ujihisaがかな入力だった

感想

とても楽しかった感じ! ありがとー!

後悔

  • なぜかdesireで撮影した写真が一部消失していた
  • 集合写真みたいなのとってなかった.ざんねん.
Published at 2011-05-15 01:32:48 +0900 | Permalink
2011-05-08

日記

dev

blogに書くほどまでじゃないような感じのものはこっちに書くことにした

Probably Diary

yakiudon もリリース。

Published at 2011-05-08 00:29:18 +0900 | Permalink
2011-04-28

Java書いた

まあ、Androidアプリね。

Titaniumはクソ、Rubotoは発展途上、残るは生Java SDK…

とりあえずまあ書けることがわかった。もっとjavaキメたい。COFFEEEEEEEEEEEEE!!!!!!

あとまたWebサービス作ります。また自分のための物だけど。

もうドメインはとった。今回は最初からマネタイズしたいと思っている。


Rubyのコードもよもうと思っているのになぁ。時間がない…


日曜から月曜の夜まで新潟で家族旅行とポタリングします。

ついでにOSM業。

Published at 2011-04-28 16:43:53 +0900 | Permalink
2011-04-22

コミッタ少女るびい☆パッチ

第1話: 夢の中で実装した、ような…

第2話: それはとってもリジェクトだなって

第3話: もうmatzも恐くない

第4話: OSXも、mswinも、あるんだよ

第5話: SEGVなんて、あるわけない

第6話: こんなの絶対おかしいよ

第7話: 本当のパッチと向き合えますか?

第8話: 1.8って、ほんとバカ

第9話: そんなの、matzが許さない

第10話: もうメンテナには頼らない

第11話: 最後に残ったパッチ袋

最終話: わたしの、最高のパッチ

「僕と契約してコミッターになってよ!」 (*)

それはとってもリジェクトだなって

それは方針に反するFeature Requestもしくは言語仕様で正しいのに報告されたbug ticketなど。

もうmatzも恐くない

feature requestが通り、もうmatzが恐くないと油断する事。

OSXも、mswinも、あるんだよ

mswin32,64プラットフォームが悪な事。

SEGVなんて、あるわけない

たぶんもうバグがなさそうなパッチ。

こんなの絶対おかしいよ

Windowsだけで動かなかったパッチ。

1.8って、ほんとバカ

1.8はいろいろ足りなくて時代遅れでもうだめだ。

そんなの、matzが許さない。

主にメソッド名とか、言語方針に反するFeature Requestとか。

もうメンテナには頼らない

RubyGemsとかの担当にAssignしてパッチを投げても長期的に無視されたり、

ライブラリを取り込んでもらってコミッタになってそのまま失踪したり。まぁ、あれは仕方ないんだけどね。

わたしの、最高のパッチ

Acceptと同時にコミッタに。

(*) ちなみに「僕と契約してコミッターになってよ!」は実話で、すでに契約は成立した模様です。

Published at 2011-04-22 10:25:58 +0900 | Permalink
2011-04-14

@ITに取材された

http://www.atmarkit.co.jp/news/201104/14/sora.html

昨日取材あったばかりなのに!

写真が残念!

いや、それにしても仕事早いなー。

Published at 2011-04-14 09:10:22 +0900 | Permalink
2011-04-09

Lingr for Androidリリースしたよ

Android Marketにリリースしました。

https://market.android.com/details?id=org.ajunk.titanium.lingr

どうぞご利用ください。

titanium mobileで実装してみたのだけど、ドキュメントのパラメータ名が間違ってたりしてサンプルコードがドキュメントだということを通関した。

もう二度と使わない。時代はruboto

Published at 2011-04-09 08:09:51 +0900 | Permalink
2011-04-09

Released Lingr for Android

I released "Lingr for Android" on Android Market.

https://market.android.com/details?id=org.ajunk.titanium.lingr

It's implemented with Titanium Mobile, and I knew that a document of Titanium is sample codes in KitchenSink.

I don't use Titanium Mobile never...

Published at 2011-04-09 08:08:19 +0900 | Permalink