しばらく引っ越します。
借りていたVPSのUbuntuを10.04にアップグレードしたところ、しばらくして起動しなくなりました。サポートに問い合わせたところ、9.04までしかサポートしていなかったそうです。
仕方なく、VPSを再インストールし、バックアップから復旧しましたが、以前のVPSでは毎日とっていたバックアップをさぼってしまっていたので、2009年9月のものしかなく、いくつかの投稿が失われてしまいました。
ちょっとショックだったのと、メモリの少ないVPSでのTypoの運用が苦しいなと思っていたところだったので、ちょっと浮気して、はてなに日記を書く事にしました。
今後はRuby 1.9やRails 3.0に慣れるためにも自分でゼロからブログを作ってみたいと思っています。できれば、はてなの機能のうち最低限欲しいと思うものを参考に。
[MS09-048]Windows 2000は見捨てられたのか?Windows XPは本当に安全なのか?
2009年9月のMicrosoftのセキュリティアップデートのうち、TCP/IP関連の3つの脆弱性を対象とするMS09-048が、延長サポート期間中のWindows 2000で提供されていない事に、海外で論議が起きているようです。
Microsoft: Patching Windows 2000 ‘infeasible’
翻訳をしてくれている方がいらっしゃいました。
MS09-048 の修正が Windows2000で出ない理由
マイクロソフトの情報も、夕方ようやく日本語訳がでました。
マイクロソフト セキュリティ情報 MS09-048 – 緊急
「Microsoft Windows 2000 のシステムには TCP/IP の保護を適切にサポートするアーキテクチャーが存在しないため、脆弱性を排除する Microsoft Windows 2000 Service Pack 4 用の更新プログラムを作成するのは極めて困難です。それを実現するには、影響を受けるコンポーネントだけではなく、Microsoft Windows 2000 Service Pack 4 オペレーティング システムの非常に多くの部分を再設計し直す必要があります。そのような再設計がなされた製品は、Microsoft Windows 2000 Service Pack 4 との互換性が不十分になり、Microsoft Windows 2000 Service Pack 4 で実行するように設計されたアプリケーションが更新されたシステムで引き続き稼働する保証がありません。」
というのが理由のようですが、後1年もしないうちにサポートが切れるので、いまさら修正したくないというのもあるのかもしれません。
また、気になるのが、上記のセキュリティ情報にあるWindows XPの扱いです。セキュリティアップデートは提供されてないのですが、FAQの「Windows XP の既定の構成がこの脆弱性の影響を受けないのはなぜですか?」に対して下記のような説明があります。
「既定で、Windows XP Service Pack 2、Windows XP Service Pack 3 および Windows XP Professional x64 Edition Service Pack 2 にはクライアント ファイアウォールで構成されたリスニング サービスが含まれていないため、この脆弱性の影響を受けません。サービス拒否が起きる場合、影響を受けるシステムにクライアント ファイアウォールで例外を持つリスニング サービスが含まれる必要があります。Windows XP Service Pack 2 およびそれ以降のオペレーティング システムには、ステートフル ホストのファイアウォールが含まれており、インターネットまたはプライベート ネットワーク上の近隣のネットワーク デバイスからの受信トラフィックに対する保護がコンピューターに提供されます。「脆弱性に関する詳細」のセクションの緩和策および回避策は、Windows XP Service Pack 2、Windows XP Service Pack 3 および Windows XP Professional x64 Edition Service Pack 2 にも適用します。」
「クライアントファイアウォールが有効になっており、それの例外としてパケット受信を行うサービスが設定されていると脆弱性が生じるが、Windows XPでは出荷時にはそのようなサービスは有効になっていないため、「安全」だ。クライアントファイアウォールが設定され、例外としてのサーバーサービスが構成された場合、回避策をとる必要がある。」というふうに解釈されるのですが、これってXPにアップデートが提供されない理由にはならないのでは?
[9/10追記]
マイクロソフトがセキュリティ情報を更新しました。Windows XPも脆弱性の対象になる事が明記されました。しかし、修正プログラムは提供されません。理由はこうです。
「サービス拒否の攻撃は、持続的な特別に細工した大量の TCP パケットを必要とし、それが停止するとシステムが回復します。このため、Windows XP についての深刻度を「注意」と評価しています。さらに、Windows XP Service Pack 2 およびそれ以降のオペレーティング システムには、ステートフル ホスト ファイアウォールが含まれており、インターネットまたはプライベート ネットワーク上の近隣のネットワーク デバイスからの受信トラフィックに対する保護がコンピューターに提供されます。Windows XP は CVE-2009-1925 の影響を受けません。」
攻撃が止めば回復するので深刻度が低いとの判断だそうです。うーん。
Appleの新携帯デバイスは「映画も見られる電子ブックビューア」?
Appleが近くリリースすると見られるタブレット型携帯デバイスですが、今日面白い記事を見つけました。
Report: iTunes 9 to support DVD ripping, Facebook
iTunesの次のバージョンが、DVDを取り込む機能を持つかもしれないという記事です。
もちろん、DVDの権利者である映画会社等を説得する必要がある、これまでに例のない(Real Networkが映画会社から取り下げをさせられた)機能なのですが、iPodのような専用デバイスへの転送のみを認めるという条件であれば、説得できる可能性があるのではないかと。
Appleの新デバイスは、携帯でもネットブックでもない、新しいジャンルのデバイスであると考えているのですが、AmazonのKindleに対抗する電子ブックリーダーという噂もあります。ただ、それだけではインパクトが弱いと思うのです。
WindowsでCucumberのフィーチャやRSpecのスペックを日本語で表示する
Ruby on RailsアプリケーションをBDDで開発する際の標準となった感のあるCucumberとRSpecですが、フィーチャやスペックを日本語で記述することになります。 Mac OS XやLinuxでは全く問題にならないのですが、Windowsの場合、UTF-8の出力をコンソールに表示する事が問題となります。 NetBeansを使えば、出力ウィンドウでUTF-8を表示可能ですが、特定のフィーチャを指定して実行する機能などがないため、実用てきではありません。
コードページ変更による方法
コマンドプロンプトのコードページを65001(UTF-8)にする方法もあるようですが、日本語表示フォントの設定がうまく行かなかったり、コマンド入力が正しく実行されなかったりして、手元の環境では使用できませんでした。
何度か試しているうちに気がついたのが、設定の順序です。次の方法だとうまく行くようです。
- 日本語フォントを明示的に設定する
- コードページを変更する
1は、コマンドプロンプトのウィンドウの左上をクリックして、「プロパティ」を選択し、「フォント」の設定を「MSゴシック」に変更します。
2は、コマンドプロンプトでchcp 65001と入力して、65001(UTF-8)に変更します。
win32consoleをハックする方法
Windows上で、RSpecや Cucumberのカラー出力をしようとするとwin32consoleをインストールするようにアドバイスされます。
このモジュール自体は、日本語に対応している訳ではなさそうですが、Win32::Console::ANSI::IO#_convをハックする事で、出力文字をShift-JISに強制変更させます。
require "Win32/Console"
require "kconv"
....
module Win32
module Console
module ANSI
class IO < IO
....
def _conv(s)
if @concealed
s.gsub!( /\S/,' ')
elsif @conv
if EncodeOk
from_to(s, cpANSI, cpOEM)
elsif @@cp == 'cp932cp932'
s = s.tosjis
elsif @@cp == 'cp1252cp850' # WinLatin1 --> DOSLatin1
....
end
end
end
end
ただし、この方法はコンソールに出力する場合のみコード変換を行うため、リダイレクトを行う場合にはうまく行きません。ZenTestのautotest(RSpecの場合のautospec)は内部でリダイレクトを行っているため、うまく行きませんでした。
復活していたMii Editor、新しい名前はMy Avatar Editor
小飼弾さんの娘さんがつくったMiiの記事をみて、私があちこちで使っているMiiを作成するのに使ったMii Editorの事を思い出しました。
404 Blog Not found: mii by my daughter
しばらく前に見たときには、「Nintendoからいろいろ言われたので、リニューアルを予定中」とのコメントだけになっていたのですが、今回探してみるとMy Avatar Editorの名前で見事に復活していました。
Flashで作られたAvatar Editorで、作品はJPEGファイルとしてダウンロードできます。
これで、「どこでもMii」が可能に。
JRubyチームがSun(Oracle)を離れたこと
Sun MicrosystemsでJRubyのフルタイムの開発者として活動してた、Charles Nutter, Thomas Eneboそして、Nick Siegerの3人がSunをやめて、Ruby on Railsのホスティングを主たる業務としているEngine Yardに移るとのニュースが出ていました。
Sun’s JRuby team jumps ship to Engine Yard
OracleがSunの吸収を決めてから、JRubyについてどうするのかのはっきりした態度を示さないので、しびれを切らして見切ったようです。
おりしも、Charles Nutterが、自身のブログの中で、RubyにはJRubyが必要だ、エンタープライズの人は誰もCRubyを業務で走らせようとは思わない、といつになくMatz Rubyに対して攻撃的だったので、これは何かあるなと思っていたところでした。
JRuby’s Importance to Ruby, and eRubyCon 2009
今後はJRuby 1.4のリリースに専念するそうですが、今のテーマは、Java市民としてのJRubyだそうで、なんとHibernateがJRubyで使えるなど、JavaのフレームワークとJRubyの融合を主眼においているようです。
ところで、こうなると気になるのがMicrosoftのIronRubyチームの動向です。不景気のリストラで、ほかのDLRを使う言語とチームが合体したというニュースはだいぶ前に目にしましたが、予定されていたOSCONが終わっても当初アナウンスの1.0はおろかセッションタイトルの0.9もリリースされていません。大丈夫なのでしょうか?
RubyKaigi 2009 最終日
最終日は日曜にも関わらず9時半からのセッションでしたが、午前中は元気に中会議室のセッションに参加。
田中さんのSocketの改良の話は、私にはちょっとテクニカルすぎましたが、おかげでNFSをマルチホームで使った際に発生した障害の原因らしきものに気がつきました。ありがとうございます。
artonさんのセッションは、なかなかためになる小技が聞けて収穫でした。
ごとけんさんの、いつものシリーズも、肩に力が入らないセッションで、ちょっとした作業をRubyで自動化する姿勢は見習いたいものです。あと出力をcvsではなくタブ区切りにする工夫もなるほどと思いました。
西山さんのrubygemsの落とし穴については、知っている事も多かったのですが、行儀の悪いgemをsudoでインストールすると怖いという話は正直びっくりでした。Debian系に関しては、私はrubygemsのdpkgは使わず、手動でインストールするのがよいと思っていますが。
午後のセッションは、James Edward Gray II (JEG2)さんのネットワーク監視の話とAaron PattersonさんのXMLの話を聞きました。
JEG2さんのScoutについては、名前だけは知っていたのですが、興味深い取り組みだと思いました。普通、長時間常駐が必要なアプリをなかなかRubyで書こうとは思わないものですが、プロセス監視を別の軽量なプロセスで行うという発想は面白いですね。
「ひげの山男」ことAaronさんのセッションは、現場にいた人でないと解らないかもしれませんが、爆笑の連続でした。その中でも、ちゃんと技術的なメッセージが伝わっていたのはすごいです。
最後の技術セッションは桑田さんのErubisのセッションを聞きました。Erubisも使った事がないので、使ってみようと思ったのですが、最後にどんでん返しで、これからはTenjinですと言われたのはびっくり。Sinatraの人からも名前が出ていたし、調べてみなければ。
締めのキーノートは、高橋会長でした。いつも通り?の和服で登場し、ちょっと緊張気味にRubyと日本Rubyの会の課題について語ってくれました。
時間がなかったのでReject会議は昨年に続いてパスしましたが、聞きたかったな。
RubyKaigi 2009 2日目
RubyKaigi 2009の2日目は大変面白い一日でした。
午前中は、Sequel, Sinatra, Ramazeの3つの「軽量」ライブラリの話を聞きました。確かに、用途を既存のあるいはシンプルに考えたRubyコードに「HTTPを喋らせる」という発想は面白いですね。特に配布も簡単なVegasはとても面白く思いました。早速Gembox もインストールしてみました。あと、Sequelについては、まさにSQL使いのためのORMですね。1日目に高井さんの「エンタープライズRails」の話を聞いていたので、説得力倍増です。
午後からは、コミュニティアピールに続いてまつもとさんのキーノートです。いつもながらのトークは楽しかったです。そして、LT。昨日のLTもなかなかでしたが、今日のLTも力作ぞろいで、LTこそRubyコミュニティのパワーですね。
最後の駒は、1階の特別会議室でのテクニカルな?セッションシリーズに出席しました。
「Rubyのゴッドファーザー(名付け親)」である石塚さんが、楽天の増田さんと一緒にやっているFairyと分散オブジェクトのDeepConnectの話をした後、「分散オブジェクトと言えばこの人」の咳さんの登場です。さすが咳さん、ほとんど冗談でプレゼンをしているようでいて、技術的には核心を突いた見識がすばらしいところですね。
その後、Rubyのテストメンテナの遠藤さんが、プロジェクトのカバレージの変動をモニタリングするツールの説明をしてくれました。そして、カバレージを落とすMさんの話も。これも大変面白かったのですが、時間が余ったからと行って披露してくれたハッキングの数々にはみんなあっけにとられていましたね。
そして、これが一番RubyKaigiらしいと思ったのが、NariさんのGCの話と、その後の質疑応答でした。質問にたった、RHGの青木さんやYARVの笹田さんが、「GCは良くわからないのですが」と前置きをつけて質問したのにはみんな爆笑。
そうそう。昼休みには、話題の「パターン、Wiki —時を超えた創造の原則」の著者の江渡さんのサイン会があり、しっかりサインをもらってきましたが、これから読むので感想はまた後日。
RubyKaigi 2009に出席します
明日7月17日から開かれるRubyKaigi 2009に出席します。
ところで、会議用に個人の名刺を印刷しようと思ったら、プリンタが故障していました。
グスン。
Four Days on Rails 2.3をアップしました
2008年5月に公開した Four Days on Rails 2.0をRuby on Rails 2.3にあわせて見直したものをアップしました。
http://rails.to/pages/4-days-on-rails-2.3

