2008年06月

2008年06月24日

先日、RubyKaigi2008に行って来た。

現地ではRubyで先を行く方々の貴重なお話を聞くことが出来た。今回の場合、話を聞くだけなら、USTREAMでもよかったのである。しかし、やはり現地で聞くとなると思い入れも大きく変わる。また多くの人とともに話を聞くので、より真剣に聞き入っていたと思う。



RubyKaigiでは、久しく会っていない方や、インターネット上でしか話した事のない方と会うことも出来た。Twitter上だけで話した事があり、今回のRubyKaigiで初めてお会いしお話ししたのは、kei-s氏Misho氏であった。

ここで余談。Misho氏は、Twitterなどでのプロフィール画像を名札とともに貼り付けていたので、目で見てすぐ分かった(ちなみに私も同じようなことをしていた)。
そこまで行わないにしても、インターネット上でいろいろと活動しているならば、こういったインターネット上経由で人の集まる場面において、名札にインターネット上でのIDを書いておくのは有効だと思った。というのも、会場内で案外そのようなIDを名札に併記する人が予想以上に少なかったのである。
ひょっとしたら企業とかから来た人や、インターネット上の活動がそれほど活発でない人が多かっただけかもしれないが、その点は判断はしかねる。

ちなみにその際に思い出したのが、WebbingStudio氏による以下のブログ記事である。
これはSEO対策でもありましたが、ネット上での重要度が
屋号>>>本名=ハンドルネーム
となるよう調整したのです。
こうすることで、ネット上の大多数の皆さんはWebbingStudioとして私を認識してくれますし、
(オフとかでも「うぇびんぐさん」と言われます^^)
仕事の関係などで本名に重きを置く人たちは、メールでのみ本名を使ってくれます。
(中略)
単純に楽しみたいと思っている人は、本名なんか出さない方がいいですよ。
でも、沢山の人に知れ渡ったハンドルネームは、私の屋号のように本名以上に自分を表すことをお忘れなく。
本名とハンドルネームと屋号の話 : ウェビンブログ
インターネット上でハンドルをどう使うかって重要だと思います。



発表内容として興味深かったものはいくつかあるが、今後のRubyの変化ということで一番気になったのは、成瀬氏らによるM17N(Multilingualization、多言語対応)の話である。これまでとエンコーディングの扱いが大きく変わる(一番重要なのは、Stringにエンコーディング情報が追加される)ことにより、Ruby1.8との互換性が失われる場合もあるだろう。

これに対して、(Twitterでも少し述べたが)僭越ながら私の意見を述べさせていただくと、
(1)Ruby1.8との互換性が失われること自体は問題ではないと思う。こういった大きな変更は大きなバージョンアップでしか出来ないし、互換性が失われて困るなら1.8を使い続けるという選択肢もある。
(2)しかし、文字列にエンコーディングを付加することについては良し悪しであると思う。
@yasu_kobayashi CGIのように、Rubyとは別の部分でエンコーディングを指定しなければならない時に処理が面倒になる、ということです。Rubyでラップしてくれれば問題ないのですが。
http://twitter.com/maraigue/statuses/840084401
Ruby1.9で、現行のStringに相当するもの(=エンコーディング情報を持たない文字列)が別にあればよいのですけれど。
http://twitter.com/maraigue/statuses/840084960
例えばURLエンコードはバイト単位の処理であるが、このような処理を行うのが面倒になる(出来ないことはないにしても、少なくともオーバーヘッドは大きくなる)。
この問題は、もう少し熟考を願いたいと思っている。



発表を聞いていての感想は、皆様の発表を行うレベルが本当に高いということである。プログラムに名前を挙げられて発表している方々はもちろん、一人5分という短い時間で発表する"Lightening Talk"の発表者の皆様も素晴らしかった。
これを見ていて、自分もこれくらい上手い発表がしたいと思い、またそのような発表を行う前提である、良い成果を(Rubyなり、自分の研究なりで)出したいと思った。



RubyKaigiでお世話になった皆様、本当にありがとうございました!

maraigue at 12:32コメント(0)トラックバック(0)プログラミングイベント 

2008年06月18日

Twitterからの切り抜きです。結構基本的なことなのかもしれませんが、自分の備忘録として。

  • maraigue:一度Ubuntuを入れたPCにWinXPを入れなおそうとしたのだが、ディスクのフォーマットが邪魔をしてうまくいかない。Ubuntu LiveCDからHDDをNTFSでフォーマットすればいいのか・・・? [http://twitter.com/maraigue/statuses/837738092]
  • elim:@maraigue 全パーティション消し飛ばして良いなら、パーティションマップ飛ばすとすんなり入れ直せたりします。Live CD で sudo dd if=/dev/zero of=/dev/hda など。 [http://twitter.com/elim/statuses/837740317]
  • elim:@maraigue あとどうも一部リカバリ CD は MBR を書いてくれないものがあるようなので、そういう場合は回復コンソールから fixmbr でしょうか。って回復コンソールはリカバリ CD からじゃ入れないか…… [http://twitter.com/elim/statuses/837741008]
  • maraigue:@elim ありがとうございます。データは全てバックアップ済みなので、その方法で試してみます。 [http://twitter.com/maraigue/statuses/837741069]
  • elim:@maraigue dd には引数付けておいても良いかも dd if=/dev/zero of=/dev/hda (もしくは sda など) bs=512 count=1 など。開始直後に C-c でも OK. [http://twitter.com/elim/statuses/837742749]

私の場合、インストールしようとしたWindows XPはリカバリCDしか無く、そのリカバリCDはMBRを修正することが出来なかった。そこで@elim氏の方法でMBRを削除してリカバリを行ったところ、Windows XPが立ち上がるようになった。

ハードディスクには複数の領域(パーティション)を持たせることが出来る。その際、どのようなパーティションを持っているかなどの情報が、ハードディスクの先頭512バイト(注1)に書かれている(マスタブートレコード。)。なので、そのハードディスクの先頭512バイトを全て0で埋めてしまえば、その情報が消えるということなのである。

(注1)512バイトはPC/AT互換機の場合。マスターブートレコード - Wikipediaより。



maraigue at 23:27コメント(0)トラックバック(0)コンピュータ全般 

2008年06月16日

先程Twitterの@Misho氏がこのようなことを話していた。

少し試してみた結果、「ruby」コマンドでRuby1.8を、「ruby1.9」コマンドでRuby1.9を使えるようになったので方法をまとめておく。
※Windows XP Home (SP2)にて試しました。

[準備]

すでにRuby1.8を「C:\ruby」にインストールしており、Ruby1.9はまだインストールしていないと仮定する。また、環境変数PATHに「C:\ruby\bin」が含まれており、コマンドライン上で「ruby」と入力するとRuby1.8が立ち上がる状態になっているとする(この準備を一番楽に行うには、One-Click Ruby Installerが便利であろう)。

[インストール]

  1. Ruby1.9のWindows版をダウンロードし展開する。ここでは「C:\ruby1.9」に展開したと仮定する。
  2. 「C:\ruby\bin\ruby1.9.bat」を以下の内容で作成する。
    @echo off
    set __CALLER_PATH__=%CD%
    cd C:\ruby1.9\bin
    ruby %*
    cd %__CALLER_PATH__%
  3. コマンドラインから「ruby1.9」と入力するとRuby1.9が立ち上がる。

実験。Ruby1.9で新設されたメソッド(Enumerable#max_by)と、Ruby1.9で導入されたライブラリ(ripper)を使ってみる。

C:\Documents and Settings\hiro>ruby
p [1, 3, 6].max_by{ |x| -x }
^Z
-:1: undefined method `max_by' for [1, 3, 6]:Array
 (NoMethodError)

C:\Documents and Settings\hiro>ruby1.9
p [1, 3, 6].max_by{ |x| -x }
^Z
1

C:\Documents and Settings\hiro>ruby
require "ripper"
^Z
c:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_req
uire.rb:27:in `gem_original_require': no such file
 to load -- ripper (LoadError)
        from c:/ruby/lib/ruby/site_ruby/1.8/rubyge
ms/custom_require.rb:27:in `require'
        from -:1

C:\Documents and Settings\hiro>ruby1.9
require "ripper"
^Z

ちゃんとRuby1.8とRuby1.9が使い分けられている。

他のコマンドも同様にバッチファイルを作れば、Ruby1.8と1.9を使い分けることが出来る。

(補足)

上記のTwitterログにおけるiratqq氏の発言「それとも環境変数RUBYLIBも必要?」については、特に設定しないで動きました。

※2009.8.4 若干修正(リンク先修正など)



maraigue at 19:32コメント(0)トラックバック(0)プログラミング 

2008年06月14日

今日はかなり久し振り(7年ぶりくらい?)に、札幌まつり(北海道神宮例祭)に行って来ました。

面倒なので、出先で投稿したTwitterログだけ貼っておきますw

From Twitter (clipped by TwitterClip)

お祭り L:幌平橋駅付近 http://f.hatena.ne.jp/twitter/20080614135901
Sat Jun 14 04:59:00 +0000 2008 from movatwitter


札幌まつりをまともに見るのはいつ以来だろう。高1のとき以来かな? [もつ]
Sat Jun 14 05:00:28 +0000 2008 from movatwitter


揚げプリンって何ぞ?食べてみたいけど行列が長いので後で。 http://f.hatena.ne.jp/twitter/20080614140558
Sat Jun 14 05:05:57 +0000 2008 from movatwitter


今年はフレンチドッグに砂糖をつけるのが流行りのようだ。 http://f.hatena.ne.jp/twitter/20080614143211
Sat Jun 14 05:32:11 +0000 2008 from movatwitter


思ったほどミスマッチな味ではなかった。ミスマッチだけど。 [もつ]
Sat Jun 14 05:34:12 +0000 2008 from movatwitter


祭りの会場がマリオの強制スクロール状態。止まることも出来ないし、速く進むことも出来ない。 L:中島公園 [もつ]
Sat Jun 14 05:41:43 +0000 2008 from movatwitter


@s13324 本当ですか!今度某道東人に聞いて見ますね。 [もつ]
Sat Jun 14 05:44:32 +0000 2008 from movatwitterin reply to s13324


揚げプリン http://f.hatena.ne.jp/twitter/20080614150053
Sat Jun 14 06:00:52 +0000 2008 from movatwitter


駄菓子屋とかで売ってるミニプリンを、ワンタンの皮か何かで包んで揚げてあるのか。美味しいんだけど、この量で350円か…。 [もつ]
Sat Jun 14 06:06:29 +0000 2008 from movatwitter




maraigue at 18:35コメント(0)トラックバック(0)地域イベント 

2008年06月03日

昨日今日で1泊の小旅行をしてきました。
しかし、いろいろと忘れ物があったのが残念でした…orz

ということで、過去の経験を踏まえて必要なものを備忘録的にリストアップしてみることにします。

※あくまで前提は「観光旅行をする」場合です。目的の決まっている旅行であれば、その目的に応じて物品は増減します。

旅行形態にかかわらず使うもの
●カバン(行き先に応じて)
●必要なお金・カード
●カメラ
●筆記用具
●携帯電話(旅行的な意味でも何かと役に立つ。メモしたり写真撮ったり現地の情報を調べたり)
●水筒(持ち運びやすさと価格を考慮し、1リットルの紙パックを買うことが多いため。私は1リットルのペットボトルを使用)
日帰りの自転車旅行の場合はこの程度の荷物。

宿泊を伴う場合
●着替え(宿泊回数+1くらい持っていっている)
●ハンカチの予備
●洗面用具
●風呂用具
●部屋着(宿によっては浴衣等がないため、パジャマ代わりに)
●携帯電話の充電器

鉄道・バス主体の旅行の場合
●当該地区の時刻表
●旅程表
●回数券(以前に買った余りがある場合)

長距離の旅行の場合
●(飛行機・船舶など予約を伴う場合)そのチケット
●クリアファイル(パンフなどを取っておくため)

航空機での旅行の場合(2008.6.15追加)
●マイレージのカード
●小さめのバッグ(航空機内に持ち込む荷物を入れるため)
●飴(耳がキーンとするときの対策)

自動車での旅行の場合(2010.8.22追加)
●運転用手袋(これがないとハンドルが手汗で滑る)
●シガーソケット→USB給電の変換機

コンピュータ・インターネット関連のイベントに参加する場合(2008.6.9追加)
●ノートパソコン
●LANケーブル・ルータ(必要なら)
●パソコン操作機能付きレーザーポインター(自分が発表者の場合) 【2015.2.24追記】
●名札(「Maraigue」の名前のもの)
●名刺(同上)

国外へ行く場合(2015.2.22追加)
●パスポート
●パスポートのコピー(パスポート本体とは別の場所に保管)
●航空チケット(1部コピーし2箇所に保管、書類系は以下同様)
●海外旅行保険の控えのコピー
●クレジットカード連絡先(なくした場合・その他トラブルがあった場合に備え)
●電源変換コネクタ
●ガイドブック(あれば)
●USドル(行き先の国によっては両替のしやすさのために)


[2008.6.9追記]
上のメモは次の旅行、すなわちRubyKaigiに行く時に忘れ物をしないことが第一だったのに、重要な所持品を書いておくのを忘れてた。ということでカテゴリーを1つ追加した。

[2008.6.15追記]
さらに1点思いついたので追記しておいた。

[2010.8.22追記]
最近レンタカーでの旅行を始めたので、それに必要なものを追記しておいた。

[2015.2.22追記]
国外へ行く場合について追加した。

maraigue at 02:16コメント(0)トラックバック(0)旅行 
livedoor プロフィール

H. Hiro

  • ライブドアブログ