January 2012
2 posts
Vaio Xを偲んで
よかった
薄い。マジ薄い。MacBook Air買ってドヤ顔してる輩の前で取り出して作業するだけで一発で完膚なきまでに黙らせられるので非常に気味がよい。
軽い。のにちゃんと使える。軽いだけのお遊びマシンなら他にもある。これはちゃんと仕事に使える。のに軽い。
あと安い。買って半年の時点ですでにじゅうぶん元はとれたと思った。
バッテリー。この薄い本体にバッテリー入れる余地なんかないと思ってただけに、じゅうぶんな起動時間が得られて満足。Lバッテリーで足りなかったのは結局、日米間の飛行機だけ。
ACアダプタも小さくて持ち運び邪魔にならなかった。
正直ノートPCの液晶にさして期待してなかったがいい意味で裏切られた。きれい。
ポート類の取捨選択は神懸ってる。すべてのポートの利用を経験し、かつ足りなくて困ったポートはない。……まあメモリースティックの穴だけは別になくてもとは思うが。
...
「新宿駅攻略本」は間違ってるんじゃないかという気がする
新宿駅攻略本 ver. DEC. 2011 なる 薄い本 を入手したので興味深く読んでいるわけだが。さすがに新宿駅ユーザー歴10年の俺くらいになるともう攻略本に知らないことなんて載ってな……あれ?
上図の中央西口(京王口)の化粧室を撮影しようとしたが、見当たらなかった
って書いてあるけど、俺このトイレ知ってるよ? 使ったことあるもん。
問題の図(俺撮影)と問題のトイレアイコン(白丸)
このトイレってこれでしょ:
違うのかなあ。俺はこのトイレだと思うんだけど。たしかにこの問題の図は混乱を招く書き方をしてある。がそれは図の作者が悪いというよりは、駅の構造自体が悪いんじゃないかなあ。
過去の関連エントリ:
ダンジョン攻略(バリアフリー縛り)調布→川口
December 2011
1 post
http://rubyamqp.info/articles/error_handling/ の和訳。脚注は訳者による。
エラーの取扱いと復旧
このガイドについて
送信側であれ受信側であれ、多岐に渡る異常系をどうエレガントに扱うかが、AMQPと関わりのあるアプリケーションを頑健にしていくうえでは不可避と言えましょう。プロトコルの誤り、ネットワークの不調、ブローカー1の異常などが思い浮かぶことでしょう。これらを正しく処理して上手に正常状態に回復することは、容易ではないでしょう。以下では、amqp gemを使うことでアプリケーションが
ブローカーとの接続ができなかったとき
ネットワークが切断されたとき
AMQPコネクションに例外2が発生したとき
AMQPチャンネル3に例外が発生したとき
ブローカーの異常に遭遇したとき
TLS(SSL)関連の障害があったとき
...
October 2011
2 posts
深夜の秋葉原ごはん
ここでは主に日が変わってからやってる店をピックアップ。
コンビニチェーン系
その昔秋葉原といえばコンビニ不毛地帯という時期も短くなかったわけだけれども、最近では一通りは揃っているといえるだろう。件数的にはファミマがなぜか多め。
ただまあ店内では食べれないよね。
牛丼チェーン系
豊富な方だろう。すき家吉野家松屋なか卯神戸らんぷ亭全部あるなそう言えば。吉野家は夜やってない店があるので注意。
マック
たくさんあるけどどこで食べてもメニューが同じという意味では深夜の秋葉原においては少々過剰ぎみ。
ファミレス
ワシントンホテルのなかにデニーズ、神田明神下にココス、妻恋坂にジョナサン。中央通りのロイヤルホストは5時まで、サイゼリヤは(あるけど)夜中は閉まる。ファミレスは単価高いけど仕事が終わった後にゆったりするときに重宝する。
中華
...
RubyConf2011終了しました
おかげさまで無事でした。各方面、認識している以外にも様々にご迷惑をお掛けしたと思います。この場を借りてお礼申し上げます。
まだ収支をちゃんと計算しておりませんが、今回は初めてだったので様々なものがどんぶり勘定だったという点と、勝手が分からなかったので 金で解決できることは金に任せる 方針も手伝って、例年の一人旅とくらべてわりとゴージャスな感じになりました。とはいえ現状の概算ではこれでも嫁さんを養うことを思えば全然何倍も安いので、一応、独身の間は続けてもいいかなあという気にはなってきております。
よかった点
無事。
参加者から好評を得た。
種は蒔いたので次は継続的に育むことかと。
よくなかった点
募集要項は改善の余地がある。
事務手続きがごたごたしてしまった。
各種法人さんに相談せずに一人でやったのは、今回は既成事実を作るための確信犯だけど、次回はそうもいかんだろう。
August 2011
1 post
【第四報】RubyConf2011旅費出しますから行ってきて
たくさんのご応募ありがとうございました。厳正なる抽選の結果採択率100%の狭き門を突破されたのは以下のお二方です:
@sora_hさん
@1vq9さん
おめでとうございます。当選した方々には私からは特には課題を出したりしませんが、Rubyist MagazineというWeb雑誌がRubyConf特派員として徴募しにくる可能性をあまり否定しないので、もし本当に来たらその時は各自で対応してください。
今回のアナウンスは以上です。
前回アナウンス
前々回アナウンス
前々々回アナウンス
July 2011
2 posts
RubyKaigi来て英語勉強しなきゃと思ったでしょ? まさか思わなかったの?
副題: RubyKaigiのビデオを翻訳しましょう
副題: 日本語話者のおまえらにもよくわかるファンサブ(ハードサブ)の作り方
(オプション)Windowsを窓から投げ捨ててGentooをインストールします
emerge aegisub
emerge avidemux
(オプション)aegisubでぐぐってaegisubについて学びます
(オプション)avidemuxでぐぐってavidemuxについて学びます
VimeoのアカウントをとってVimeoからkaigiのビデオを落としてきます
aegisubでVimeoから落としてきたビデオを開きます
しばらくかかる(マシンパワーによる)
メニューの「音声」 -> 「映像ファイルから音声を読み込む」
...
終わることはよいことだという感覚について
三つ子の魂百までとはよく言ったもので、子供のころの強烈に印象に残ってる体験というか、まあテレビで見たわけだけども、その当時ヨーロッパのまんなかのへんで政権交代が局所的なブームだったのさ。んでまあカラフルな壁をツルハシで壊してるドイツの人たちの強烈な笑顔というのが、今でも忘れられなくてですね。もちろん、今から振り返って見れば、1989年をよいとか悪いとかいう単純な評価で切り捨てるのが大きな間違いなのは分かる。けど、当時は政治とかよくわかんない程度に子供だったから、みんな「なにかが終わって喜んでるんだ」ということしか、俺には理解できなかった。だってあの人ら喜んでたでしょ。そのくらいは俺にも分かったよ。
...
June 2011
2 posts
Pythonでおk ─ 書評: C言語によるスーパーLinuxプログラミング
あのね、この本のAmazonの内容紹介が あまりにたわけていて ね。
Cライブラリで、効率的にプログラミング!
Webアプリの世界ではPHPやJavaが格段とポピュラーだが、ハードウェアの操作や
ユーザーインタフェース、画像処理などの分野ではC言語でしか扱えないものが多く、近年、現場でのニーズは高い。
本書は、プログラミングでの複雑な処理を短時間に組むために用意されたライブラリに焦点を当て、その使い方を解説しました。
データベース・プログラミングからネットワーク、科学技術計算、コンピュータグラフィクスまで、
ライブラリの活用術を身につけ、複雑なコーディングを簡素に実現する。
LinuxのディストリビューションにはUbuntuを採用。
...
【第三報】RubyConf2011旅費出しますから行ってきて
追記: 締め切りました
二点、変更点があります。
RubyConf本体チケット取得もこちらでできるようになりました
RubyCentralに相談してみたところ、一人で複数のチケットを(atomicに)確保するのは可能ということでしたので、人数さえ決まればあとはこっちで処理できそうな雰囲気。
今まで「まだチケット持ってない人は応募してこないでね」ということになっていましたが、この条件は撤廃されてほとんどの人に応募資格が生じそう。
そろそろ航空券を手配したい件
気が早いだろ! と思うかもしれませんが、意外にそうでもない。航空券に限らず何でもそうなのですが、前売券は早くに買うほど安いのです。ちなみに今この瞬間に買うのだとすると、...
May 2011
4 posts
【第二報】RubyConf2011旅費出しますから行ってきて
今年のRubyConfのサイトがオープンしたようですね。まだプログラムとか出てないけど日時が発表なったので旅行の計画は立てれるよ。
暫定線表
9/28 移動日
9/29 RubyConf参加
9/30 RubyConf参加
10/1 RubyConf参加
10/2 フリータイム
10/3 移動日
10/4 (日付変更線マジック)
の4泊7日と見た! 観光をカンファレンスの前にやるべきか後でするべきかは議論の別れるところだが、まあこの曜日の並びだと後じゃないですかね。カンファレンスより前でやるなら全体的に一日前側にずれる感じかと。
で、場所が去年と同じでニューオリンズらしいので、去年も参加したという人に色々聞けるのでわりと逆に今回初めてって人も安心かなと思われる。ラッキーですね。
参加したいよ!という人は今後どうするべきか
いまのところ
まず予定をあける
...
エゴサーチで見かけた反応とそれの感想など
速さのためにはCでないと
この誤解は典型的ですねえ。今、申し訳ないんだけど、普通に書いたCのコードと普通に書いたJavaのコード走らせると、普通に書いたJavaのコードの方が速くなるケース、全部とは言わんが案外と多いですよ。なんでかというと、Javaは普通に書いたらJVMが人類の持てるテクノロジの限りを尽くして勝手に高速化してくれる1が、Cはあなたの能力以上に速くはならない。Cは速いJavaは遅いってのは10年くらい前には正しかったんでしょうけどねえ。
なお自分でベンチマークしてる暇なんかないよ!という人はshootout.alioth.debian.orgぐらいは読んでもいいんじゃないですかね。たとえばJavaとCの比較で見れば全体的にいって同じくらいのスピード、いくつかの項目でJavaのほうが速いのが分かる。
...
どうも周知徹底が不足しているようなので再度のお願いとなりますが、C死ね。
確かにCでしか書けない類のプログラムは存在する(例を挙げるならKernel)が、それはCの存在を赦す理由にはならない。
確かにCに輪をかけてさらにダメな類のプログラミング言語は存在する(例を挙げるならC++)が、それはCの存在を赦す理由にはならない。
確かにCでしか書けないダメプログラマは存在する(例を挙げてほしければここにおまえの名前を入れろ)が、それはCの存在を赦す理由にはならない。
結論:C死ね。
...
April 2011
1 post
RubyKaigi 2011 status for attendees overseas
Radioactive situations
In short, right now, you are safe to visit Tokyo.
You should really understand the basic simple fact that no scientists, no power companies or no governments can cover up radiations. In case of nuclear accidents, radiation increase must be observed by any monitoring system elsewhere. So you can detect your safeness from those systems. At the time I write this,...
March 2011
1 post
苦節一年にして漸く VAIO X で Ubuntu...
いやあ長かった。まあ途中は諦めてたから放置してたけど。
この vaio 買ったばかりのころはまだ lucid も出てなくてさあ。karmic では様々なコンポーネントが話になってなくてさあ。そもそも Intel GMA500 の Linux ドライバさあ。…まあいいや。苦労話が長くなってきちゃうあたり俺ももう立派なおっさんだな。手短に切り上げて必要なものだけ書こう。
いま、使えているものは:
ハードウエア 2D / 3D アクセラレーション (drm_psb)
有線 LAN (sky2) / 無線 LAN (ath9k) / ワイヤレス WAN (qcserial)
USB / Bluetooth
内蔵 Web カメラ (uvcvideo)
内蔵トラックパッドのスクロールエリア
内蔵スピーカー
ホットキーによる輝度 / 音量調整
逆に使えてないものは:
...
February 2011
1 post
January 2011
2 posts
最速の memset64 を求めて
今回のお題は char 幅じゃなくて word 幅の memset 、つまりプロトタイプだと
void* memset64(void* destination, uint64_t image, int num_words);
をどれだけ高速に行うかという話。なぜ高速化するかというと、塗りつぶす領域がけっこうでかいから。
候補 1: REP STOS
void*
memset64(void* d, uint64_t i, int n)
{
asm("cld; rep stosq;" :: "D"(d), "a"(i), "c"(n) : "memory");
return d;
}
最近の CPU はクソ賢い。そのため、下手に手で loop unrolling するよりも、逆に CPU...
December 2010
0 posts
やります: RubyConf2011旅費出しますから行ってきて
ぢっと通帳をみた結果とりあえず一回は実行可能という結論に達したのでやります。おまえらの旅費俺で持ちますから行ってきてください。
趣意
つらつらと思い返してみると俺がRubyConf参加するようになったことに関して森脇大悟さんの果たしてくれた役割はとてつもなく大きいわけですよ。やっぱ単身見知らぬ海外の土地に出かけていくっていうのは西成に物見遊山に行くのより不安な行為じゃないですか。海外とか初めてだけど連れてってくれる人がいる、これが最終的にRubyConf行く決心がついた理由なので。森脇さんにはいくら感謝しても足りません。最近ご無沙汰してしまっており失礼していますが、この場を借りて再度お礼申し上げたい。その節は大変お世話になりました。
でだな、まあ森脇さんへのお礼はそれはそれとして、世の中にはcharityとかpay it...
November 2010
1 post
俺における一年 体重編
一月 新年会で暴飲暴食。さすがに着れない服が多くなってきて痩せる決心をする。
二月 しかし決心をしたからと言って痩せ出せば苦労はしない。横這い。
三月 ようやく食が細りだすものの送迎会でキャンセルされ横這い。
四月 歓迎会があるが減らない体重に危機感を覚え本格的に対策しだすので収支的には微減となる。
五月 健康診断でデブという現実を直視させられ、このころから本格的に体重が減りだす。
六月 減り幅が一番大きい季節。何もなければ順調に体重が減る。この月に何回結婚式に呼ばれるかでほぼ年間収支が決定する。
七月 このころRuby会議があり、連日の飲み会で減少傾向にブレーキがかかる。微減。
八月 悪あがきするが、実家に帰る(注:実家生活は太るもと)などのイベントの結果、横這い。
九月 秋の味覚がおいしい。ついに増加傾向に転じる。
十月...
October 2010
5 posts
Rubyがそろそろ一回終わってみるべきに至る道
前田先生ほどの人がアイタタな読み間違いをしている のを発見して、すこしコンテクストを解説しておいたほうがいいと思った。
まずまつもとゆきひろは(Rubyを)100年続けると威勢がいい。が、その割に掛け声ばかりで実際どのようにして100年続くことが可能かについて何も語らない。特に本人がいなくなってからの流れを整備しようという話にならない。前の項にも書いたが、100年続けるなら一人では無理なのにだ。一方、続けないとなると無論終わるしかないわけだが、終わるというのもそれはそれでテクニカルである。大抵の言語は終わるとなると不幸な終わり方しかしない。どっちに転ぶにしろ大変難しい領域があることがわかる。
...
Architect: You’ve played a very dangerous game.
Oracle: Change always...
– The Matrix Revolutions
Using new and experimental technology is not always a good idea but
using old...
– http://mla.n-z.jp/?ruby-talk=371127
mrkn: 僕の仕業らしい・・・ →
mrkn20:
僕の仕業らしい・・・
いや申し訳ない。グラフ縮約アルゴリズムがミスってました。バグをとってみたらmerge commitしてたのはmethodmissingだったよ。git rev-list —headerで確認したから間違いない。お騒がせしました
というだけではあれなので更新したグラフも載せとく。概形は一緒です。細部がちょっと違う。あと本家筋は赤くしてみたのと、ブランチの根元のリビジョン(かgit abbreviated commit checksum)を表示するようにしてみた程度。
Rubyには公式のものだけでも30本のブランチに29,385個のチェンジセットがある(執筆時点)。ブランチの1,000倍程度のチェンジセットがあるということは、実際にはブランチとチェンジセットの関係は偏りがあるから、ともかく長いブランチは超長いということがいえる。ちなみに一番長いのはもちろんtrunkで、この枝の長さは20,992リビジョンだ。次点がruby_1_8で、3,328リビジョンある(執筆時点)。
さてこのくらいの規模になってくると、もはや全容を把握するというのは困難である。特にどのブランチがどのチェンジセットから派生したかという情報は、もちろん個別には取り出すことは可能だが、俯瞰するのが困難になってくる。実際、今回ちょっとしたことでgit...
September 2010
4 posts
どうもライセンスの話になると FUD 撒く輩ばかりになって好かん。Ruby は GPL を捨てたとか言ってる奴がいたらそいつは理解が足りないか悪意があるかどっちかなのでおまえら注意しとけ。真相は真逆で、Ruby は GPL3 Compatibleになりたかった からライセンス変えたんだからな。今回のライセンス変更のきっかけは「readline6 と ruby がライセンスのせいで混ぜられないのを何とかしたい」だったってことを忘れるなよ。GPL3 と GPL2 の両方にコンフリクトしないようなライセンスを選んだら結果的にそれは BSDL だった。それだけだ。好き嫌いとかじゃねえんだよ。実利ベースで動いてる。
あわせて読みたい
[ruby-dev:42166]
アジャイル建築 -- 書評「ゼロから始める都市型狩猟採集生活」坂口恭平著
作者は建築家であるが、大学の建築教育に違和感を感じ、廃墟に住んでみたりルドフスキーに傾倒したりの魂の遍歴を経つつ、ついに「都市の中で自立しながら振動しつづける建築」(p.163) を、しかし隅田川河岸で発見してしまう。衝撃を受けた作者はフィールドワークを重ね、結果できたのがこの本だ。したがって本書の前半部分はゼロの状態からどのようにサヴァイヴするかに関して書かれていてそれはそれで面白いけれども、おそらく本書の白眉は後半部分、路上生活者の住環境に関する調査と考察だ。
...
Rubyがそろそろ一回終わってみるべき10の理由
いや、Rubyを取り巻く皆さんの生活まで終われとは言ってないですからね。終わってみるべきなのはRubyのコア部分の開発。
1) 百年の大計の欠如
https://twitter.com/yukihiro_matz/status/25168548474 によると、100年や200年続けるべきなんだそうだ。ふーん。100年って言ってみたいだけちゃうんか。200年後といえば本人はおろかまつもとゆきひろと面識のある人間すら死に絶えている時期なんだけどな。そこまで続けたきゃどうするればいいか真面目に考えたことあんのかね。日本国ですらこの120年で2回も憲法変わってんだぞ。惰性で200年もつわけがないだろ。
2) まつもとゆきひろがスケールしない
...
August 2010
2 posts
退職して一年たつしそろそろTNTについて一言いっとくか
これはお世辞でもなんでもなく、わりと純粋に思うんだけど、俺はTNTで働けたのはラッキーだったし、育ててもらったと思うし、TNTで働いているというのは俺にとっては誇りに思っていました。
なので、今俺はTNTを辞めてしまいましたが、今後TNTには俺が誇りに思える会社で在り続けて欲しいと。無責任にもこのように思う次第。「俺TNTで働いてたんですよー」が自慢として通用する会社でいてほしいなと思います。言われなくても頑張ってると思うが、頑張ってください。
それっぽく表示改(Windows対応)
去年書いたやつがWindowsで動かないからGTK+捨ててQtで書き直したよ。Ruby-GTK2おっくれてるぅー (注: Windows対応のやる気の無さがパない。もうすぐGTK+3が出ようかというのにいまだに3年半も前のGTK+2.10ベースのパッケージが最新ってのではさすがに言い訳できない。wxRubyですら同様の機能は実現可能であると調査済みなので、単にRuby-GTK2が時代から遅れている)
あと「STDINから一行づつ読んで」の部分はWindowsでは最強に実現不可能(STDINがselect()できない)なので、しょうがないのでTwitterのStreamから読む感じにしてみた。IRCからとかにしたい人は自力で弄ってね
# Copyright(c) 2010 Urabe Shyouhei. All rights Reserved.
#
# Permission is...
超俺専用メモ「rubyのsvn->git gateway再構築方法」
一般化すれば他者にも有益な話題と思われるがとりあえずめどい。
方針
ありものをつかう
回線に優しく
てっとりばやく
データロスしない
setup OpenSSH multiple connection sharing
以下の方式ではsvnサーバにつなぎに行っては「あ、やっぱ手元にあったわ」でコネクション切るというのを繰り返す感じなる。git-svn(1)頭悪いな。で、普通にそのままやるとSSHのセッションハンドシェイクが全体の時間に対して支配的になる上に、どう考えても回線の無駄なので、一旦作ったコネクションを使いまわすことで対応する。これはOpenSSHには普通に備わっている機能だ。~/.ssh/configに以下のように書いておく。
Host ci.ruby-lang.org
User svn
Hostname...
July 2010
2 posts
Ruby + ARToolKit でとりあえず急須が出るまでの詳細
前のアナウンス ではさすがにマッチョ過ぎてみんなついてこれないのではないかという虞というか、死屍累々の予感がしたのでもう少し詳しく解説しておくよ。対象は(一番めどいと思われる)Windowsな。
まず全体方針について確認
ビデオキャプチャの関係で、すべてのコンポーネントをコンパイル済みのものでなんとかするのは難しい。俺がコンパイルしたの配ってもいいんだけどさあ。ライセンスがさあ(下記)。
で、コンパイルするとなると
ARToolKitはバイナリ配布のものを使ってRubyは自力でコンパイル
ARToolKitは自力でコンパイルしてRubyはバイナリ配布のものを使う
のどっちかです。基本は。理論的には
両方共自力で
...
Ruby + ARToolKit なバインディングを書きかけています件
(画像はハメコミ合成ではありません)
事情から説明すると以前から島根で Ruby合宿 とかいうのがあって、今年は講師で呼ばれたわけだ。
んで「なにか発展的な内容を」と言われたので、それならデバイスアートで拡張現実でニコニコ技術部でしょとか思っちゃったのが運の尽きで。
いや ARToolKit はそれはそれでいいとして、お題目がRuby合宿であるがゆえにARToolKitで完結してよかったねーでは当然ダメで、なんとかしてRubyが絡まにゃいかん。
というわけでとりあえず合宿当日までに俺がARToolKitのRubyバインディングを突貫で書いて当日合宿所でいきなり使いましょうという。ここまでくると俺講師なんだか合宿参加者なんだかよくわからんよな。
...
June 2010
2 posts
00:16:25 <$$irc6.fujisawa.wide.ad.jp:masapon> 【IRCサーバ運用終了のお知らせ】
00:16:28...
– tiarraのログより。
Ruby 1.8.7 リリース方針まとめ
そろそろリリースするから今の方針をまとめておくよ
無保証の大前提
本音と建前を華麗に使い分けるおまえらのためにこれは建前だとあらかじめ宣言しておくけれど、 Ruby 本体がなんらかの保証を行ったことは過去にもないし将来の予定もない。おまえらの用途にあうかも (fitness for a particular purpose)、商用利用の可能性についても (merchantability)、明確に COPYING で保証しないことを記しているし、それ以外のあらゆる保証もやはりない。だから社会的責任(笑)とかも、ない。
ともかく少なくとも表面上は俺がやってるのはただのおせっかいに過ぎないことをおまえらは注意しておく必要がある。たとえば最近の俺はかなり注意深く「サポート」という単語を回避する傾向にあるけど、それはなぜかというと COPYING...
May 2010
4 posts
というわけで、改行の罠は対策できるけど、パス対策とは両立できない。初心者がはまりがちな落とし穴を事前に埋めておくにしても、そのすべてを埋めることはできない。ならば...
– どさにっき
うん、この結論には(賛成するかはともかく)それなりの説得力があるとおもう。前のやつだけだと批判したは良いが対案が示してなくて、片手落ちだった。
そういえば破滅ラウンジに行った感想を書いてなかったので書くか。
えっとですね、プログラマである俺としての視点から見るとですね、ようするにいつもの面々がいつものノリでやってるだけなので、一見して「これのどこがすごいのん?」と思っちゃったのは事実なわけです。でもそのまましばらく会場にいたら、その昔 @eto が「芸術とは人生だ」みたいなことを叫んでた のをなぜかふと思い出したのね。で、そう思うと、ああこの床で転がってる @takano32 という表象じゃなくて、 @takano32 という生き様がアートなんだなあとか気づいたわけですな。それならまあ、理解できなくもない。
でもそれは俺の場合は @takano32...
■
#!/usr/bin/env
_
今さらながら、
CGIの神話と現実というエントリ。ただし内容とはまったく関係なし。スクリプト言語の...
– どさにっき (via sanemat) (via otsune)
ああ、これの反論を前書いたと思って探してみたけどWebには残ってねえなあ。http://mput.dip.jp/mput/?date=20060626#p01 に書いてたはずなんだけどなあ。しょうがないからもっかい書くか。
えっとねえ、結論から言うけど、この記事の人は配布する側の苦労をわかってない。 #!...
April 2010
4 posts
今回のiPhoneの件は要するにAtariショックを避けようとしてるんだと思うと色々と腑に落ちてくるも...
つまりAppleがやってるのは露骨な任天堂の猿真似ってわけね。DSでFlashが動くかよって話。
いやもちろん、我等が偉大なる任天堂様のなさる審査とAppleの杜撰な検閲を一緒にしないで頂戴、とかの質的な議論はありうると思うんだけども、じゃあといってDS向け同人ゲーをコミケで頒布させろとかの声がマジョリティとかには絶対ならないというのは、やっぱゲーム業界は痛い目見た経験を生かしてるからなんじゃないの。
だからさ、実はAppleはおまえらプログラマを切り捨てているように見えるけど、本当は逆で、あれはおまえらを保護しようとしてるんじゃないか? クソゲーとかから。そう思うとあながち逆噴射な発想じゃないとおもうんだよなー
以上まったく根拠のないチラシの裏でした。
卜部はなぜApple教から離脱できたのかを考察する。
生まれて初めて触ったコンピュータがLC630、生まれて初めて書いたプログラムがHyperTalk、そういう人間だから当然だけど、Finderこそが究極にして至高のシェルであると信じていたし、AppleのHIGは聖典だと思っていたし、まあその、痛い子でしたよ。ええ。
ところがふと気づいたら身の回りにりんごマークがない。高島屋で並んでOSXのPublic Beta買ったはずなのに、いまそのOSが動くマシン持ってない。iPod初代から何個も使い潰したのに、いつのまにか壊れて買い換えずそのまま。このあいだちょうどノートPCが破損したので買い換えたけど、すんなりVAIO Xで悩みもせず。俺どうしたんだろうね。せめてMacBook Airくらい検討してもいいはずだよね。
高価?...
Class.allocateでBasicObjectのクローン
ふつうはできない。
irb(main):001:0> BasicObject.clone
TypeError: can't copy the root class
ところが…
c = Class.allocate
Module.instance_method(:initialize_copy).bind(c).call BasicObject
p c.ancestors # => [#<Class:0x00000001327098>]
新世界の神が誕生している様子が見て取れる。
まあ、なんというか、俺的には結構頑張ってるんだけどなかなかSEGVしないので困った。これ本当に平気なの?
[ruby] Class.allocateが拓く(新しい地平 or バグの鉱脈)について
今日発見したんだけどClass.allocateが禁止されてないわけよ。
だからどうしたと思うかもしれないけど、これさ、ちょっとひねって
c = Class.allocate
d = Class.allocate
c.send :initialize, d
d.send :initialize, c
ってやると、cとdって互いに互いを継承しあっているという、あらゆるすべての前提条件をまるっきり無視した子ができるわけ。おかしかろ? RubyのクラスはすべからくObjectから生えるんじゃなかったのかよ。
でさ、まあそんだけだとあらゆるすべてのメソッド定義がない(BasicObjectよりもまっさら、本気でなんもない)から、とりあえずallocateだけBasicObjectから引っ張ってくるよね。
require 'dl'
DL.dlopen do |h|
geta =...
March 2010
3 posts
lxcについてくるlxc-execute(1)がお手軽すぎてヤバい
lxcは普段は仮想マシンみたいなのを作る用途で使うわけだけども、そんな大規模の必要ないよプロセスが一個ぽつんと隔離されて起動してくれればいいよ、というありがちなケースをカバーしてくれるのがlxc-execute(1)で、つまりこれはsudo(1)とかchroot(1)とかfreebsdのjail(1)みたいな使い方をするわけだ。特徴としては、
まずpid/uidの名前空間が他と分離されるので、仮にrootが奪取されても他のプロセスをkillしたりできない
ネットワークも他と分離されるので、仮にrootが奪取されてもパケットスニファとかからは何も見えない
もちろんファイルシステムも分離されてるので、仮にroot奪取されてもファイル弄られたりしない
...
というわけでgithub.com/ruby/ruby.gitにpushしているローカルのマシンがUbuntu Lucid Lynx + lxcになった。
lxc: Linux Container
コンテナである。仮想化と呼ぶには若干の抵抗がある。Solarisのzones、FreeBSDのjail、LinuxだとOpenVZとかの仲間。
OpenVZとの比較
まずlxcはmainlineに入ってるのでKernelを弄らなくてよい
lxcに商用サポートとかはないので転んでも泣かない
というか商用とか以前にドキュメントすげえ少ない。マゾヒストとRubyユーザーにちょうおすすめ
rootのfsがただのchrootなので同じファイルが無駄にたくさん必要
でも逆に普通のdebootstrapで作ったディレクトリでいいので、らくちんではある
KVMとの比較
QEMU不要
...
[ruby][howto]クラスを生成するクラスの作り方
Rubyな話。
「とあるオブジェクト群はそのなかでクラスタに分かれていて、クラスタごとに振る舞いが違うんだけど、そのクラスタの数が不定」という状況がたまぁ〜にある。Ruby なおまえらがよく知っている例としては Active Record パターンとかはそう。Active Record パターンだとオブジェクトは DB の行で、したがって振る舞いは DB のテーブル(かビュー)によって決まるんだけど、Active Record の基底クラスを設計している段階ではどんなテーブルがあるかなんてのは当然すべてのパターンを網羅的に作成しておく事はできない。
んで、Rails についてくる ActiveRecord::Base...
February 2010
3 posts
TiMidity++のおもいで
「卜部はTiMidiry++を無責任にも放り出した」という認識の人は多分いると思うし、あながち間違いとも言いきれない部分がある。半分くらいは俺の不徳の致すところです。というか、徳でプロジェクトが回るという発想がそもそもの誤りだった。俺に徳が足りなかったごときで止まってしまうプロジェクトはよくない。それに気付けてなかったのは、まあ若さゆえの過ちというやつです。申し訳ない。
でも残り半分のうち大半はおまえらのせいだからね。バグレポートと称して「音が悪い」とかオカルト紛いの言いがかりをしてくる一部の人たちとお遊戯するのはもうこりごり。悪いってなんだよ!具体的に示せよ!
...
独身者よ洗濯機は買うな
ご注意: 女性の場合、盗難のリスクがぜんぜん違うので、以下の議論はそのままはあてはまりません。ご了承ください。
今、冷静に考えて、なくても困らない耐久消費財トップスリーが自動車、洗濯機、テレビである俺は、独身の人をみつけては「テレビって見ます?」とか独自に調査しているんだが、テレビ見ない人とか自動車持ってない人とかは結構いるのに洗濯機はみんな持ってる!おかしい!無駄!
というわけで俺の考える洗濯機不要論を広く公開して議論を喚起したい。
その経済性
買った洗濯機を何回動かすんだろうか? 洗濯機は冷蔵庫なとと違い、デフォルトではそのへんに放置されてる存在である。常時通電されてる意味は正直ほとんどない。ちなみに家庭用洗濯機の法定耐用年数は6年である。月に何回洗濯するか考えて72倍してみよう。んでそれで洗濯機買った値段を割ると「洗濯一回あたりの償却費」が分かる。
...
ダンジョン攻略バリアフリー縛り調布→自由ヶ丘が存外に難しい件
そういうわけで最寄り駅が調布から自由ヶ丘になったんだけど、これ案外移動しづらい!
普通に考えた最短ルートは「調布→明大前→渋谷→中目黒→自由ヶ丘」なんだけど、このルートは渋谷が牙を剥いてくる。
井の頭線から東横線に行こうとするとJRの線路をどうにかして突破しないといけない。玉川改札のランキンランキンの前からどうしても階段しか選択肢がないように見える。
なのでそれは諦めて他のルートを探すと、
乗り換え案内とかだと調布→稲田堤→溝の口→自由が丘が候補に上がってくるんだが、残念なことにこれもNGで、JRの稲田堤駅が階段でしかホームにいけない(なんか工事してるっぽいので今後バリアフリーになるのかもしらんけど現時点では無理)。
じゃあと思って調布→下高井戸→三茶→二子玉→自由が丘だと三茶でパティオの突破方法が分からず
...
January 2010
5 posts
例のイベントの件について
gkojay:
eto: YAPC が 2 万でも 3 万でも参加したはずと.しかし 15 万だったらどう ? 20 万だったら ? 金額の問題とはそういうこと.
eto: Perl Conf. に対応する Yet Another なんだから, 15 万というのは現実的な金額.つまり,有料 (15 万 )vs ほぼ無料 (2 , 3 万~ 0 円 ) という軸で考えるべき.ってのは dankogai がすでに十分に語っているな….
eto: で,これがすごい気になるのはやっぱり私が RubyKaigi の運営で苦労したからだな.参加者の意識ではなく運営者の意識とたたかってきたからだ. RubyKaigi では,利益が出ないようにすることにすごく気をつかっていた.
eto:...