Recently in Web 2.0 Category

Angry German Kid、Unreal Gamer、または「キーボードクラッシャー」として知られる「彼」の話題の続きです。 いきなりこのページに飛んできた方は、必ず前のエントリを読んでください。

"Correct Translation"を作ってくれた方に聞いて、いくつかオリジナルのドイツ語のスペリングを教えてもらいました。
一応カタカナでおおよその読みかたを書いていますが、私はあまりドイツ語はできませんし、日本語ではないのであくまで参考まで。

It is a continuation of the story of "him", a.k.a. Angry German Kid, Unreal Gamer, or Keyboard Crasher. Please read the previous entry first if you come here from another site.

I've asked the author of "Correct Translation" some parts of original German scripts.
I tried to describe Katakana readings, but don't rely on them as I'm not good at German. Besides, it is a different language after all.

  • イスラエルにトルネードスピーン!
    Japanese mishearingIsuraeru ni torune-do supi-n!
    English translation of mishearingTornado spin to Israel!
    元の英訳(English translation of the original)  I want to play Unreal Tournament!
    元のドイツ語(Original German)Ich will Unreal Tournament spielen!
    元のドイツ語カナ読み(Katakana reading)イッヒヴィルンレアルトルナメントシュピーン!

  • おま×こ恥ずかしぃ!
    Japanese mishearingOma*ko Hazukasii!
    English translation of mishearingPus*y ashamed!
    元の英訳(English translation of the original)  Oh my god, what just happened?
    元のドイツ語(Original German)Oh mein Gott, was ist geschehen?
    元のドイツ語カナ読み(Katakana reading)オーマィガッヴァスィゲシェーン!

  • 気合入ってきた!
    Japanese mishearingKiai haitte kita!
    English translation of mishearingI'm getting spirit!
    元の英訳(English translation of the original)  Quickstart!
    元のドイツ語(Original German)Schnellstart!
    元のドイツ語カナ読み(Katakana reading)シュネスタト!

  • やっけくそ~! / Yes get lost!
    Japanese mishearingYakkekuso!
    English translation of mishearingDesperate!
    元の英訳(English translation of the original)  Here we go!
    元のドイツ語(Original German)Jetze geht's los!
    元のドイツ語カナ読み(Katakana reading)イェッゲェッツロース

  • 私NEET? 駄目、モスバーガじゃないおま×こバーガー!ヽ(`Д´)ノ
    Japanese mishearingWatashi NEET? Dame, MOS ba-ga- ja nai oma*ko ba-ga-!
    English translation of mishearingAm I NEET? No way, not the MOS burger but Pus*y burger!
    元の英訳(English translation of the original)  When it loads...then...you got to wait so long!
    元のドイツ語(Original German)Wenn es lädt... dann... muss man immer so lange warten!
    元のドイツ語カナ読み(Katakana reading)ヴェネスレート..ダン..ムスマニメルランゲヴァールテーン!

  • オイスター、オイスターっすか? チクショー!
    Japanese mishearingOisuta-, oisuta-ssuka? Chikusho-!
    English translation of mishearingOyster, is it oyster? Damn!
    元の英訳(English translation of the original)  Where's it at? Where's the Escape-button?
    元のドイツ語(Original German)Wo ist der? Wo ist der Escape-Knopf?
    元のドイツ語カナ読み(Katakana reading)ヴォイスダ? ヴォイスダスカープクノプフ?

  • 運動会プロテインパワー!!
    Japanese mishearingUndo-kai purotein pawa-!!
    English translation of mishearingSports festival protein power!!
    元の英訳(English translation of the original)  I'm gonna kill you!
    元のドイツ語(Original German)Ich werd' dich fertig machen!
    元のドイツ語カナ読み(Katakana reading)ヴェルディフェルティマーヒェン!

  • タピオカパン
    Japanese mishearingTapioka pan
    English translation of mishearingTapioka bread
    元の英訳(English translation of the original)  I killed him!
    元のドイツ語(Original German)Ich hab' ihn umgebracht!
    元のドイツ語カナ読み(Katakana reading)イッハビンインウゲブラーヒト!

いかがでしたか? 同じ空耳でも、ほとんどそのままの読みのものもありますし、かなり違うものもあります。
ほかにもいろいろな空耳のバリエーションがあるようですが、代表的なものを取り上げました。 元のドイツ語を解説しているサイトがほかになかったので、日独英揃えたのは初めてではないでしょうか。 ドイツ語のせりふを教えてくれたCorrect Translationの作者に感謝です。

What do you think? Some mishearings are very much alike as it sounds and others are not.
There are many other variations of mishearing, in which I have picked some typical examples. I couldn't find the original German scripts, so it might be the first that describes in Japanese, German, and English at the same time. I would greatly appreciate the author of Correct Translation, who gave me the original German scripts.


今回は日本語と英語両方で書きます。 読みにくいでしょうがご容赦ください。

This entry is written both in Japanese and English. Please understand that I'm sacrificing readability.

ニコニコ動画(ニコ動)をうろついていたら、もともとがYouTubeで公開されているUnreal Gamerというビデオと、それに関連した膨大な量の関連動画を見つけました。 ちなみに、タイトルは以下のようにいろいろあるようです。

I came across a movie clip called "Unreal Gamer" and vast amount of related clips while I was wandering around Nico Nico Douga (Smile Video). It is also called as:

  • Angry German Kid (En)
  • Der echte Ganster (De) "The true gangster" 「本物のギャング」
  • キーボードクラッシャー (日) Keyboard Crasher (Ja)

ニコ動でのすべてのはじまりはこちら。

The following is the origin in Nico Nico Douga.


元になったYouTubeの動画はこちら(元動画がドイツ語であることはドイツ人の同僚に見てもらって確認しました)。

It was based on the following clip on YouTube. I've asked one of my German colleagues and confirmed the original clip is in German.


ニコ動での経過まとめはこちらに詳しいのでお任せするとして。 最終的(?)にはこうなりました。

I skip the detail about what have been happening in Nico Nico Douga, which is explained here. Finally, I've reached the following clip.


ニコ動のものは既に日本語キャプションがついているものが元になっているようですが、YouTubeの"Correct Translation"というビデオに興味深いことが書いてありました。

All movie clips in Nico Nico Douga seem to be based on one, which has already Japanese subtitle, but another clip on YouTube called "Correct Translation" has an interesting description.


この動画の右上に長い説明があります。 長いですが、誤解を避けるためほぼ全文を引用・翻訳します(著者に引用・翻訳許可を得ています)。

The movie page has a long description. I quote and translate almost all to avoid misunderstandings (the quotation and the translation are under author's permission).



Angry German Kid (a.k.a. Der echte Gangster, Slikk or Leopold) is a talented actor of age 15 from Bergisches Land, Germany. He plays a character, Der echte Gangster, a parody of a wannabe gangster. This fact has often been misunderstood, and as a result he has been subject to bullying both on- and offline (e.g. school). For this very reason, he stopped making videos for almost a year in 2006.

Angry German Kid (Der echte Gangster、SlikkまたはLeopoldとしても知られている)は、才能ある15歳のドイツはBergisches Land(地名)の俳優です。 彼は「本物のギャング」という、ギャングになりたがりのパロティキャラクタを演じています。 このことはしばしば誤解されていて、結果的にオンライン・オフライン(学校など)双方でいじめに遭いかねない状態にありました。 そのため、2006ごろにほとんどビデオを作成しなくなりました。

"I am not sick or mad, I only have a sense of humor not everyone immediately understands. In addition, I have acting talent. I can do something so real that many think it is real. For this reason I will be insulted by many and hated. The aim of my videos or movies is to entertain people, not provoke. Nobody should take my short videos on the Internet seriously - they are merely for entertainment. No matter what people think or say, I am a very normal boy with acting talent."

「僕は病気でも気が狂ってるわけでもない。 ただ誰しもがすぐに分かるわけではないユーモアセンスを持っているだけだ。 それに、僕には演技力がある。 僕がやることは非常にリアルだから、みんなもリアルだと思っちゃうだけだ。 だから、きっと僕は多くの人から侮辱されたり嫌われたりすると思う。 僕のビデオの目的は、みんなを楽しませることで、怒らせることじゃない。 インターネットに投稿した僕のビデオを誰もまじめに見る必要はない。 楽しんでくれればいいんだ。 誰が何といおうと、僕は演技力があるいたって普通の少年なんだ。」

This video was made as a response to some German politicians attempting to restrict access to violent video games. He was trying to show how they view gamers. Very amusing and intelligent. Too bad most people missed the point.

"Journalists" from Focus TV (Germany) used this as an example of an internet addict, claiming the kid to have been secretly taped by his father and to be undergoing therapy in addiction clinic. Naturally, this was not what "Leopold" understood to have agreed on when he gave approval for airing it on TV.

このビデオはドイツの政治家たちが暴力的なビデオゲームを規制をしようとすることに対して作られたものです。 彼は政治家たちがゲーマーたちをどういう風に見ているかを示そうとしました。 とても面白く賢いやり方ですが、多くの人がこの点を見逃しているのは残念です。

ドイツのFocus TVの「ジャーナリストたち」はこれをインターネット中毒の見本として使い、この子は父親によって隠し撮りされ、今は病院で治療を受けていると主張しました。 当たり前ですが、これは彼こと"Leopold"がビデオのTV放映に関して同意した内容とは違います。

Also, this is NOT me in the video. I am NOT the Angry German Kid. Stop sending me your pointless messages of how you believe this kid needs anger management. Nobody gives a shit about your opinion. Unbelievable how daft some people are, wasting my time with pointless messages to yell at me "omg dude GET HELLP ASSHOLE!!!!1" Thank you very much. Morons.

あと、このビデオに出ているのは私ではありません(訳注: YouTubeに動画をアップロードした人のこと)。 この子が如何に精神治療を必要としているか、などという意味不明のメッセージを私に送るのはやめてください。 誰もあなたの寝言なんか聞きたくはありません。
信じられないことに、私に「なんてこった、病院行きやがれこのキモ野郎!!!!」などとと叫ぶ間抜けどもまでいるのです。 ありがとうよ、クソ野郎共。

After seeing so many stupid (or rather wrong) translations of what the Angry German Kid is saying, I felt it has to be my duty as a German dude to translate it properly. I'm sorry for the bad quality. I hope you can read it all.

あんまりたくさんの馬鹿げた(そして間違っている)翻訳を見てきて、私はドイツ人としてきちんと翻訳しなきゃいけないと思いました。 画質が悪くてすみません。 全部読めるとは思いますが。


YouTubeの関連動画を見てみると、確かに彼はまじめな意味で精神異常だという視点でのコメントがたくさんあります。

ニコ動での使われ方を見てると、どちらかというと悪意のある流用じゃないものが多いですね。 もともとドイツ語のせりふが日本語の空耳に聞こえるところから始まってますし。

空耳自体がニコ動のコメントで醸成されてきたものというのも興味深いところです。 たとえば、最後の叫びが「天皇陛下万歳!!!」と聞こえるところなど、元のドイツ語(の翻訳)では「意味不明の叫び」だったりします。 「たぴぱん」の題名の元になった「タピオカパン」とは「殺してやった(英語でI killed him、ドイツ語は見つかりませんでした)」だそうですし。

元動画のせりふはかなり悪態ばかりですが、それを日本語にしたものが下ネタばかりだったというのもポイントが高かったのでしょう。 あと、「コメント職人」による秀逸なコメントのプレゼンテーションはニコ動ならではかもしれません。 いわば動画作者とコメント職人のコラボレーションみたいなものでしょう。

これらが発展の基盤を形作っていったのですね。

そして「たぴぱん」に至っては既に原型を留めないほどになっています。 その間、たくさんの人(動画編集者やら作曲者やら3Dソフト作成者やら3Dモデリング作成者やら、もちろん視聴者も)が関わって、元の動画が「成長」した結果でしょう。 こういうのはいかにもWeb 2.0的なコラボレーションの形じゃないでしょうか。

上記説明から、こういう方向性のユーモアならLeopold君も理解してくれるのではないでしょうか。 でも、できることなら上記のようなLeopold君の本来の目的も知っておきたいものです。

続く。

Some related YouTube clips have many comments seriously claiming that he is a mania.

On the other hand, many of clips in Nico Nico Douga seem not to intend to criticise himself. The movement started as some German phrases in the clip sound like Japanese words (i.e. mishearing) in the first place.

Interestingly, the mishearings have been made in the comments on the clip. For example, the last scream sounds like "Ten'no Heika Banzai!!!" (His Majesty the Emperor, Banzai!!!) in Japanese, while English subtitle is just saying "screams incomprehensive." "Tapioka Pan" (tapioka bread), later becomes the name of a popular clip "Tapipan," actually means "I killed him" (although I couldn't find the original German spelling).

The original movie has full of swearing, while Japanese mishearings are full of indecent words. This fact was also attracting great attention from many people. Also, fascinating comment presentations made by so-called "comment artisans," which might be exceptional functionality and community in Nico Nico Douga. At this ponit, it would be a collaboration between the movie author and the comment artisans.

Such activities formed the foundation of growth.

Now we can hardly find traces of the original in "Tapipan", but some extracts are still there. To get there, many people have got involved, such as movie makers, composers, 3D-modeling software developers, 3D-modeling data creators, and of course, viewers, to "cultivate" the original clip. This seems to be quite Web 2.0-ish collaboration.

I hope the original author "Leopold" understands the humor of such movement. However, wouldn't it be better if we understand his original intention?

To be continued.


Scalaメモ

| No Comments | No TrackBacks

ちょっと最近気になる関数型言語、Scalaのメモ。

Overview

Scalaは、Javaとの親和性が高い静的型付き関数型言語で、2001年から開発されています。 開発元はこちらです。

関数型かつ純粋オブジェクト指向なので、Javaで苦手(不可能)とする以下のようなことをサポートしています。

  • プリミティブ型および関数のオブジェクトとしての扱い
  • staticの排除(代わりにシングルトンオブジェクトのネイティブサポート)
  • カリー化(currying)および高階関数(higher-order function)
  • 型推論機構
  • 遅延評価
  • trait (一種のmix-in)
    Javaのinterfaceに近いのですが、実装を持つことができます。
  • すべての識別子の中間演算子としての使用(a.func(b)はa func bと同じ、a + bはa.+(b)と同じ)
  • (配列とは異なる)リストのサポート
    配列とは、リストはimmutable(変更できない)、再帰的(内部にリストを含められる)、Lispのリストのようにさまざまなオペレーションがある、という点で違いがあります。
  • XML構文をサポート(プログラムの一部としてXMLが記述できる)
    たとえば、XMLを返す次のような関数が定義できます(インデントは見やすくするため)。 関数型言語なので、実行時の最後の評価値が返り値になり、明示的にreturnを使う必要はありません。
    def elm(attr: Any, content: Any) = {
      <data attr="{attr.toString}">
        {content}
      </data>
    }
    

これらの特徴により、プログラムをJavaにそっくりに書くこともできれば、関数型ばりばりのフォーマットで書くこともできます。Javaとのインタラクションを言語レベルでサポートしているので、Javaのプログラムをそのまま呼び出すことも可能です。 また、genericsなどJava 1.5+でサポートされた(無理のある)syntactic sugarが自然に書けるのもいいところです。


業務アプリへの適用可能性

関数型言語はある種の問題に対して非常にソリューションを書きやすいのですが、OCamlやHaskellなど、いままで業務の世界などであまり成功しているとはいえません。 その理由は、

  • 業務の世界は保守的なので新しい言語などの導入には慎重
  • 業務上、関数型のソリューションを必要とする場面が少ない

といったところでしょうか。

たとえば、RubyもRuby on Railsでそれなりの支持を得ていますが、メインストリームといえるほどの盛り上がりにはなっていないと思います。

Scalaの場合、Javaをネイティブサポートしていたり、普通に手続き型風にコードを書くことも可能だったり(構文も似ている)、結構気を使っている気がします。 ライセンスもBSDスタイルなので、それほど神経質になる必要がありません。

Javaのサポートについては、そもそもScalaプログラムをコンパイルすると、Javaのクラスになり、Scalaのライブラリを使って実行するようになっています。 加えて、Javaに「あったらいいな」と思える機能があるので、なかなか使えそうな気はします。

個人的には、プリミティブや関数をfirst class objectにしたり、高階関数が使えたりするのはとても便利です。JavaScriptでもできますし。 それと、静的型付け言語でコンパイル時に型チェックが行われるというのが、業務アプリの世界ではなじみやすいかもしれません。 RubyやJavaScriptなどの動的型付け言語は便利ですが、検証やテストが大変なので。


気になる点

ちょっと気になるのは、関数型言語の特徴を生かして書きたい場合、処理を再帰で書くことが多いのですが、メモリ効率や実行効率がどうなるかです。 たとえば、次のような例があります。

整数aとb(a <= b)の間の数の総和を求める。

def sumInts(a: Int, b: Int): Int = if (a > b) 0 else a + sumInts(a + 1, b)
  

この関数sumIntsは、aとbの差が大きければ再帰しまくるので、スタックを使っているとすればあっという間にあふれてしまいます。 tail recursionくらいは展開しているかもしれませんが...。

次は、クイックソートの例です。

def sort(xs: Array[Int]): Array[Int] =
  if (xs.length <= 1) xs
  else {
    val pivot = xs(xs.length / 2)
    Array.concat(
      sort(xs filter (pivot >)),
           xs filter (pivot ==),
      sort(xs filter (pivot <)))
  }
  

返り値の配列は引数とは異なるので、元の配列を保存する必要がない場合、余計にメモリを必要とします。 まぁ、これらが問題になるような場合には手続き的に書くことも可能なのですが。


開発環境

開発環境に関しては、Eclipseのプラグインが公開されており、Javaと同じような感覚で開発ができます。

Scalaの実行形式はJavaのバイトコードなので、デバッガを使うと、Scalaプログラム(ライブラリ含む)とJavaの間を行ったりきたりしながら実行されます。 Scalaで書かれた部分はScalaのコードとして表示されるため、きわめてシームレスなデバッグが可能です。


いずれにしても、これからどのようになっていくか、ちょっと楽しみです。

クラウドコンピューティングは罠?

| No Comments | No TrackBacks

英紙The Guardianによると、Free Software Foundationの設立者である Richard Stallmanが「クラウドコンピューティングは馬鹿馬鹿しい」と言っています。

記事を読んでみると、どうもあまり大したことは言っていないようです。 私が読んだ限りで彼の主張を整理してみると、次に集約できます。

  • 企業による誇大広告である
  • 個人情報を企業に持っていかれてしまう

確かにこの2点は事実でしょう。まぁ、誇大広告である点はこの業界では相変わらずなので、わかっている人にはあまり影響はないと思います。

2点目も現状ではこの傾向があるのは確かです。我々はメールやらファイルシェアリングやら、既にさまざまな情報を外部に依存していますね。 私がWebサーバやメールサーバを自宅で運用し、外部依存したがらない理由もここにあります。まぁ、その代わり出張中に落ちてたりしますが...。

そしてこう続きます。

「Webアプリケーションを使ってコンピュータの制御権を失うのは、プロプライエタリなソフトを使うのと同じくらい良くないことだ。自分自身のコンピュータで、フリーなプログラムを使ってコンピューティングすべきだ」

ああぁ、やっぱり出ましたか。別にFSFの理想に反対するつもりはないんですが、 フリー「でなければいけない」というStallmanの思想には共感できません。 みんながみんなアンタのようなGeekじゃないんだから、 いちいちフリーにしろと言われる筋合いはないと。

ちなみに、最近Dellが「cloud computing」という用語を自社の登録商標にしようとして拒絶されています。なんつーか、浅ましいですねぇ。

ブログを徘徊するネットRPG

| No Comments | No TrackBacks
普段ほとんど全くゲームをしない私ですが、Webサイトを徘徊することが経験値を上げる一環という面白いアプローチがあったので登録してみました。アルカナ・コレクションといいます。

いやほんと、よく考えたと思います。

ヘタレですが、よかったら相手してやってください。

カボチャ頭のときはハロウィンモードです。カモってください。





上記のようなリンク(実際にはFlashをロードするJavaScriptです)をブログに貼らせることによって、参加者(プレイヤー)は訪問者が増えてウハウハ、主催者は参加者とリンクが増えてウハウハ。実によく出来ています。

妹属性の人のための認証モジュール?

| No Comments | No TrackBacks
つい昨日、このブログのCAPTCHA認証がちゃんとセットアップされていないことが明らかになり、直したばかりなのですが。

なんと、「妹認証」なるものがあるそうです。なんでも、妹の質問に答えることで認証されるそうです。動作デモも公開されています。ネタではなく、れっきとしたCAPTCHA認証モジュールです。

技術的には、
  • 日本語のTrueType Fontに対応している
  • 質問と答えをセットで設定できる
というところが興味深いですね。

プログラム本体はPHPです。配布パッケージ内に、画像がpngファイルおよびpsdファイルで格納されている(ただし、psdは私の持っているPhotoshop 6.0では開きませんでした。CS3も持っていますが試してません)ので、妹が嫌な人は画像を変えていろいろできそうですね。

ある意味、パスワードリマインダー的な使い方もできます(質問・答えを動的設定すればよい)し、anonymousかつ会員制サイトみたいなものも作れます。実のところ、意外に隙を突いたアイデアだと思います。