2007年5月アーカイブ

 
 
さて、話は変わって、興味深い記事があったので紹介。
バベル案内

この記事は現在Googleで働く開発者Steve Yegge (スティーブ・イエギ)の記事を翻訳したものらしい。 アセンブラからキャリアをはじめ、Amazonを経て、現在はGoogle。(リンク先のページ参照。) 詳しくは、この人の名前を検索するとかなりの量のページがヒットするのでそれを参照。

この記事は非常に面白い。いろんなプログラム言語(C, C++, Lisp, Java, Perl, Ruby, Python)の比較をして、特徴を短い文章でまとめてある(ちょい読みにくい部分もあるが・・・)。今、まさにemacsのために自分が取り組んでいるlispの紹介もあった。amazon作った人たちも使ってたんだなぁ。。。
 
 
ポール・ノードストロムが仕事しているとき肩越しにのぞき込んでごらん。Visual Hoge.NETみたいなIDEしか使ったことのない人は本当に驚くことになると思う。(リンク先から引用)
 
 
どんなんなんだろ。覗き見して〜〜。

lispの勉強はemacsを便利に使えるようになる程度でいいやと考えていたが、こういうエピソードを見てしまうと、本気で取り組みたくなってしまう。
ってことは、↓これを買わなければいけないってことか??でもこれ、amazonのレビューによると日本語訳が最悪らしい。原書を買うってのもありかも。



 
 
次にPerl。Perlは以下の様に表現されている。


Perlは夏の台湾の通りの上で破裂したマッコウクジラだ。はらわたがそこら中に飛び散って、車や自転車や歩行者を覆っている。それがPerlだ。本当にチャーミングだ。

しかしPerlは最近まで他のどの言語も持っていなかったものを持ち、それがはらわたが露出していることを補っていた。破裂したクジラからだっていろんなものが作れるのだ。香水だって作れる。すごく有用なのだ。Perlもそうだ。

これはかなり的を射た表現だと感じる。上手い俳句の様に・・・。

ある掲示板にemacsで下記のことを実現するにはどうしたらいいかという書き込みがあった。

各行の先頭に行番号を追加する。 引数として数値を入力すると、その数値を初期行数として使用し、その値からの増加を追加する。

aaa
bbb
ccc
の場合。

引数を渡さなかった場合は
1 aaa
2 bbb
3 ccc

引数8を渡した場合、
8 aaa
9 bbb
10 ccc

メジャーモード製作を目指している自分にとってはちょうど良い練習だと思って自分なりに作って掲示板に書き込んでみた。

↓これ。

(defun add_line_number (&optional start)

"add line number"

(interactive "p")

(or start (setq start 1))

(save-excursion

(let ((max-line 0) (current-line 1))

(goto-char (point-max))

(setq max-line (count-lines (point-min) (point)))

(goto-char (point-min))

(while (<= current-line max-line)

(goto-line current-line)

(insert (format "%d " (+ current-line)))

(setq current-line (1+ current-line))))))

その後、このlispコードを見た人が以下の3点の指摘をしてくれた。

  • lispの関数名には"_"(アンダーバー)でなく"-"(ダッシュ、マイナス)を使う。
  • バッファの最後までの処理をする際は、最後の行を数えるのではなく、通常 (eobp)を使用する。
  • 次の行に移動する場合は、通常(forward-line 1)を使用する。

    早速これを参考に修正してみた。

    (defun add-line-number (&optional start)

    "add line number"

    (interactive "p")

    (or start (setq start 1))

    (save-excursion

    (let ((current-line 0))

    (goto-char (point-min))

    (while (not (eobp))

    (insert (format "%d " (+ start current-line)))

    (setq current-line (1+ current-line))

    (forward-line 1)))))

    なんかかなりすっきりと実現できてしまった。
    最初の自分が作ったのはかなり無理やり感が漂っている。
    良い勉強になった。
    指摘してくれた人サンクス!!さらに、ここはこうするべきってころがあればご教授お願いします。(コメント欄で)

    後に、わざわざlispで書かなくても、emacsの正規表現置換(replace-regexp)を使えばできることが判明。

    ^ (行先頭)

    \,(+ 5 \#)  (数値、引数5の場合。)
    を置換する。
    しかし、自分のxemacsの環境ではこの方法は上手くいかなかった。


    ↓こんなのあった。自分としては、elispで高レベルを目指すつもりはない。とにかく、自分の作業効率を上げるためにメジャーモードを作ったり、コマンドを作ったり、自由にカスタマイズできるようになれれば、それで良いのである。
    Scheme:Schemeプログラマのレベル10

    ↓ちなみに、Perl版もある。こっちは、高レベルを目指したい・・・。
    Perlプログラマのレベル10

  • なぜか、休みの日には早く目が覚める。
    今日もこの時間に・・・。
    しかも、目覚ましをひとつもセットせずにである。
    普段は、8時に苦しんで目を覚ましているのに、なぜだろう。
    やはり寝る前の気持ちが違うからだろうか。

    で、早く起きたし、平日HDDレコーダーに録り貯めたドラマでも見ようと、
    セクシーボイスアンドロボを見はじめると、なんか見たことある内容の話が放送されてる。
    ひょっとして放送事故か?と思い、セクシーボイスアンドロボの公式ページを見てみると、今回の7話は
    実際に起こった事件を連想させるため放送済みの第2話に差し替えたとのこと。
    どうも愛知の拳銃所持して立てこもった事件のことらしい。
    こんなところにまで波紋を及ぼすとは・・・。

    さて、休日の始まりです・・・・。

    アンケートに答えてプロフィールを製作するサイトabout me ってのがあったのでやってみた。

    ↓自分の結果。質問多すぎ。途中でやめたが・・・。

    about me アンケート結果

    ニコニコ動画の"才能の無駄遣い"タグがおもろい。

    マリオの曲をピアノで弾いてます。
    はじめは、目隠しをして引いてその後、目隠しをとって本番に。最後のあたりは、もうすごすぎ。

    ↓you tube にもあった。

    最後の表示されるURLに飛ぶとVIDEO GAME PIANISTというページに。さらに色々なゲームの曲をピアノで弾いてる。ソニックの曲もあって懐かしい。

    それにしても、ゲーム音楽をこうして聴きなおしてみるといいね。
    ゲームの作曲者改めて尊敬。

     
    -----------------------------------------------
     

    話は変わるが、以前"ライアーゲームがおもしろすぎる件について"で紹介したライアーゲームがニコニコ動画にアップされてたので紹介。見たいけど今までの放送を見逃してしまったという方は、来週放送される前に今までの分を見とくといいかも。


    ↑まずは、オープニング。capsuleの曲とも上手くあってて、映像の色使い(バックの壁紙模様も)がきれいなのが印象的。松田翔太もカッコよく撮られてるし、戸田恵梨香も魅力的。
    こうやって、オープニングだけアップされてるってことも珍しいと思う。
    こういう印象に残るオープニングと一緒にスポンサーを知らせると効果的だと実感させられる。
    ちなみにスポンサーは、NTT DoCoMoグループ、NISSAN、Kanebo、glico、P&G。
    LIAR GAME以外に良いと思うオープニングは、情熱大陸。あれもスポンサー名を上手く伝えている。


    ↓以下1話から昨日放送の6話まで。 鈴木浩介という役者がフクナガ ユウジを演じているが、イヤミな人物を上手く表現してておもしろい。

    今期のドラマも折り返し地点に差し掛かったが、期待はずれのドラマもあれば、予想外におもしろいドラマあった。

    見てるドラマは、

    プロポーズ大作戦 月曜日
    セクシーボイスアンドロボット 火曜日
    バンビ〜ノ! 水曜日
    わたしたちの教科書 木曜日
    LIAR GAME 土曜日

    プロポーズ大作戦は期待はずれ。一応毎週見てるけど。
    長澤まさみの演技もあまり上手いとは思えないし、ストーリーも微妙。前回の主演だったセーラー服と機関銃のときも期待はずれだった。長澤まさみ効果で視聴率はとれているのだろうか?

    セクシーボイスアンドロボは最初は、あまり面白くないかな?と思っていたが、オタクと女子中学生&謎のおばさんの絡みが妙な雰囲気で引き込まれる。毎回話が完結してるから、ある回がおもろくなくても、次が見れる。

    水曜日、バンビ〜ノ。無難な感じ。普通に楽しめてる。

    わたしたちの教科書は、初回話をみて期待していなかったが、その後面白くなってきた。菅野美穂は演技うまいなぁ。それに、脚本は坂元 裕二。東京ラブストーリー、ラストクリスマス(そういや最近、矢田亜希子みてないな。もう終了か。)とかゲーム、リアルサウンドの脚本も手がけている人。

    そして、今のところ一番面白いのが、土曜日のライアーゲーム。
    正直な少女&元詐欺師が、人をだまして金を取り合うゲーム巻き込まれていくというストーリー。金田一っぽい雰囲気だが、それとは違う。
    主演 戸田恵梨香、松田翔太 も役柄に合ってると思う。
    そして、音楽もいい。
    capsule
    というユニットの中田ヤスタカという人が作っているらしい。
    CDも色々リリースしてるみたい。↓
    L.D.K. Lounge Designers Killer
    phony phonic

    Code Golf というものに参加してみた。
    ある問題が出されて、それをどれだけサイズの小さいプログラムで解決するかを競うゲーム。使用できる言語は、Perl, PHP, Python, Ruby。この中で自分が使えるのはPerlしかないので、選択の余地無くPerlで挑戦。

    まずは、このHome On The Range という問題に挑戦。
    "1 2 3"の様に連続した数値を入力したときは"1-3."と '-' で連続値を表し最後に'.'(ピリオド)をつける。
    "1 3 5"と不連続な数値を入力した場合は、"1, 3, 5."の様に ', ' で区切る。
    つまり "1 2 3 5 7 8" を入力した場合は、"1-3, 5, 7-8." と出力するプログラムを作るのである。


    ↓自分の作ってみたのはこれ。2つのバージョンを作ってみた。サイズを小さくするために、変数名を一文字にしてあるので読みにくいかも。(ここでは見やすくインデントしてるけど、提出時はスペース、改行とか余分なものを全て削除した。)

    まずは、一時的に配列に貯めていくという操作はせずに、直接プリントしていくバージョン。
    合計156バイト


    @x=split" ",<STDIN>;
    print$a=$b=shift@x;
    foreach(@x){
    if($_==$b+1){
    $c="-"
    }else{
    print$a!=$b?"$c$b, $_":", $_";
    $a=$_;$c=""
    }
    $b=$_
    }
    print"-$b"if($c eq"-");
    print".";



    そして、これは一時的に配列に貯めておいて、最後にまとめてprintするバージョン。
    合計133バイト


    @x=split" ",<STDIN>;
    push @y, ($x[$_] == $x[$_+1]-1) ?
    "$x[$_]-" : "$x[$_], " for(0 .. $#x);
    $y[-1]=~s/,/./;
    foreach(@y){
    print if!( /-/ && $t );
    $t=/-/
    }

    無駄なところが多々あることはわかっていますが、普段からPerlでバリバリプログラムを書くことは無く、道具(とった実験データ等の処理、解析のために)としてしか使ってないヘタレな自分にとってはこれが限界。....と言い訳を。。
    Perl独自の表記法とか知ってる人ならさらに短くできるのだろう。
    どこをどう修正したらいいというアドバイスあれば是非お願いします。
    今後の勉強にもなりますし。

    結果は、サイズ133バイトで今のところ全言語で117位、Perl限定で55位。。。ショボすぎる orz... (chill って名前で登録してみた。=> 順位表)
    1位の人は、53バイトって。ありえん。これの1/2以下のサイズで実現できてしまうとは。
    どんなコードなんだろ。

    良い脳トレになったが、普段絶対にこんなコードは書かないな。
    後で見たときに、読みにくすぎる。

    また、時間があるときに別の問題にも挑戦してみようかな。
    パズル感覚で面白いので、興味のある方はやってみては?

    (裏技?紹介)
    linux環境からcodeをアップするよりもwindows環境からアップした方が、1バイトほど小さくカウントされる。それ知ってから、windowsでアップしなおした。

    homestar1.JPG

    押入れの整理をしてると、↑こんなものが見つかった。
    以前、発売してまもないころに2万円くらいで買ったホームスター。
    最近はカラー版などの新しい原版ソフトも発売されているらしいが、
    全く購入してないし、ホームスター自体使ってない。
    しかも、今はパワーアップバージョンであるホームスターPROや廉価版ホームスターPUREというものも発売されているらしい。 プロは欲しいが高すぎ。差額を払って通常版ホームスタート交換するサービスとかやってくれないかな。

    ところで、このホームスターはあのメガスターやアストロライナーを作った大平貴之監修の元開発された家庭用プラネタリウム。
    大平貴之氏は以前、ネスカフェ ゴールドのダバダーCMにでてたし、
    この人の人生をドラマ化してテレビでもやってたので知ってる人も多いのではないだろうか?

    ↓wikiも参考にどうぞ。
    大平貴之(wiki)
    メガスター(wiki)

    メガスターが近くの博物館で展示&上映される際は是非体験してみたい。


    そして、このホームスターを作っているのは、あのセガです。
    いいものを作っているのですが、いつもどこかで自爆してくれます。
    そして、今回もやってくれました。

    ↓これ。 何が問題なのかわかりますか?? 答えは、写真をクリック。
    homestar2.JPG
     
     
     
     
     
     
     
    あろうことか共同開発者の名前を間違えています。
    "平" になってます。
    アンケートはがきだから細かいところまで確認していなかったのかもしれません。
    それにしてもどうしてこのような間違いをおこしてしまったのでしょうか?
    "おおひら" と入力して変換しようとしても、大平、大衡、オオヒラはでてきますが、"平" とは変換されません(IMEスタンダード2002)。もはや、これは共同開発者の苗字を"たいへい"と思っていたに違いありません。
    "たいへい"だと一発で変換されるし。
    正しくは "おおひら たかゆき" です。


    メガスターホームページ

    HOME STAR

    ホームスター ポータブル




    JR秩父別駅:高校生26人が列車に乗れず

    テレビニュースでやってた。
    JR側は高校生のマナーが悪く電車に乗れない人がでてしまったと主張し、
    高校生側はマナーに問題はなく単に込んでいたのが原因と主張。
    ニュースでは、高校生のマナーが悪いって感じの放送だったが、
    どっちもどっちな感じ。

    列車の座席数は64だが、通路部分を含めると120人程度が乗車できる。 らしいが、これを堂々と主張するJRもどうかと思う。
    金払って電車に乗るからには、乗客のこともきちんと考えてサービスを提供するべきだろう。しかもこの駅は、ほぼ毎回込んでるらしいし。

    一企業であるからには、儲からない路線のサービスは切り捨てるってのもしょうがないのかな。

    通勤、車で1分&電車ほとんど使わない自分にとってはどうでもいいですが・・・。

    第1位:ピピンアットマーク
    第2位:スーパー32X
    第3位:Atari Jaguar
    第4位:CD-i
    第5位:バーチャルボーイ
    第6位:3DO
    第7位:メガCD
    第8位:セガサターン
    第9位:PCエンジン
    第10位:ドリームキャスト

    以上が世界中で売れなかったゲーム機ワースト10らしい。
    やはり、セガのゲーム機の多さが目を引く。4/10 って。
    でも、ドリームキャストはいいゲーム多かったと思うけどな。
    特に、最後なんて1台9800円という破格で売ってたし。
    それに、一般向けに普通に使えるインターネット機能を初めて内蔵したゲーム機だった。自分もドリームキャストで始めてインターネットに接続した。あのころは、電話代金におびえながら接続してたが。。


    世界中で売れなかったゲーム機ワースト10

    今日、バンキシャ!に東国原 英夫 宮崎県知事がでておもろい企画をやっていた。
    知事のシールが張ってある産物の売り上げが上がっているらしい。
    番組中、宮崎産マンゴーがおすすめという話になる。
    その後、マンゴー試食が・・・。
    A, B, Cの3つのマンゴー(宮崎産、メキシコ産、桃の缶詰)が用意されて、試食後、その中から宮崎産のマンゴーを当てるというもの。
    なんという残酷なコーナーなんだ・・・。
    おもろくて笑ってしまった。
    このマンゴークイズは何とか正解。
    マンゴーの次は、宮崎産地鶏。
    これは、はずれでした。
    名古屋コーチンを宮崎産地鶏と間違えてた。

    そのまんま東 オフィシャルサイト

    宮崎県知事の部屋

    今日は祝日だが、自分の会社は休みではない。
    で、今日会社から帰ってくると、ずいぶん前に予約注文してたマイク・オールドフィールドの本が届いてた。

    mob01.jpg

    mob02.jpg
    中身はびっしり英語。少しずつ読んでいこうかな。
    それにしても、4000円はちょいと高すぎ。ハードカバーってこともあるのだろうが、せめて2000円くらいにしてほしい。

    Changeling
    Changeling


    久々にmike oldfield 関連のものをyou tube で検索してみた。

    ↓まずは、チュブラーベルズ2の一部のプロモ。なぜか、いつもプロモがシュールな印象。楽器の紹介と共に、Mikeがさまざまな楽器で演奏していくという内容。

    ↓tubular bells 2003についてたDVDの映像。音楽はいいが、この映像はいまいち。ミラー効果とか、なんかチープな印象をうけてしまう。

    ↓いろんな楽器を使いこなせて、一人で演奏ってのがすごい。

    ↓どっかのクラブか?


    以下素人の演奏です。
    これはこれで、いいものです。演奏する人によって、全然違う。
    やはり、外国人は自らカモす人が多い。しかもうまいのも多い。


    ↓まずはムーンライトシャドウ。ギターの音もこれでだしてるのか・・・。

    ↓女性の方の演奏。The Top of the Morning。

    ↓しっとりと聴かせてくれます。

    ↓多分一番上のmoon light shadow と同じ人です。後ろに映ってるスピーカーが気になる。俺のと同じ気がする。気のせいか・・・。

    ↓このおっさんは、ギター一本で。

    ↓この雰囲気もなんか好き。

    ↓そして、なんと日本からも参戦してる人がいました。(この人は、バンドを組まれてるみたいですが。疾風船/hayatebune)
    第一印象は、やはり日本。映像のバックに映ってる部屋が全然違う・・・。外国の家の様にこぎれいではありません。これは日本の住宅事情を考えれば仕方のないことでしょうが。。
    しかし、演奏は超上手。この人すげー。

    ↓おまけ。(Mike Oldfield に無関係)
    上のと同じ人ですが、この人はマイク・オールドフィールドの曲以外にも、いろいろ公開されてます。これは、日本の曲メロディー演奏らしい。付いてるコメントを見る限り日本の音楽は外国の人にも受けがいいみたいです。そして、これの3曲目には自分が猿のようにハマッたセガのバーチャロンというゲームの曲が。