Skip to main content

私はクーダムで私を襲って怪我をさせて逃げた男を探している

奇妙な紙をしょった男が駅に座っていた.彼の紙には次のように書いてある."Ich suche nach einem Mann, der mich am 5.9 um 0:40 Uhr auf dem Ku'damm tätlich angegriffen hat und dann weggelaufen ist. Er rief, dass er alle Ausländer, Chinesen und Japaner hasse. Wenn er wirklich dir Zukunft von Deutschland (und der Welt) retten will, dann kann ich ihm einen Job anbieten. Aber nur für kurze Zeit. Sehe sundayresearch.eu".

私の翻訳 「私は9月5日 0:40 にクーダムで私を襲って怪我をさせて逃げた男を探している.その男は全ての外国人,中国人に日本人が憎い.と言っていた.彼が本当にドイツ(と世界)を救おうという気があるのなら,私には彼に仕事を与えることができる.しかしすぐでないといけない.sundayresearch.euを見よ.」

A man with eyepatch.

Zoom in to the message.

Comments

Popular posts from this blog

複数の線を持つ線グラフを Jenkins の plot plugin で描く方法

私は毎夜のソフトウェアテストを自動化するために Jenkins というツールを使っています.今回は, valgrind  を使ってメモリーリークのテストを自動化することにし ました.その際,エラーの数の結果をグラフとして表そうと思って, Plot plugin  を使うことにしました. Plot plugin の例図からは,複数のデータラインを描くことができるのは明らかなのですが,どうやったらいいのかは参照のページや,例としてあった Perl script,plugin 中の help からは私にはよくわからなかったのです. ここで重要な考えは,それぞれのデータラインにはそれぞれの出力ファイルが必要ということでした.私はこれを誤解していました. 例として,ビルドの時に次の property データファイルを出力します.それぞれのファイルが1つのデータラインを表します. valgrind_trunk_result.definitely.property valgrind_trunk_result.indirectly.property valgrind_trunk_result.possibly.property それぞれのデータの中身は1行のデータ点です.たとえば, valgrind_trunk_result.definitely.property ファイルの中身は次のような1行 です. YVALUE=0 このファイルを ${WORKSPACE} ディレクトリ以下に出力します.ここで," WORKSPACE " は jenkins が提供する環境変数です. 図1が私の plot plugin の設定を示しています.これは jenkins の config 画面です.3つの data series があって,それぞれにデータファイルがあります. Figure 1: Plot plugin configuration in Jenkins 図2が結果です.複数の線が描かれているのがわかります.(実際には 3 本の線がありますが,最初の線と2番目の線が同じデータなので,重ねって見えません.) Fugure 2: Plot data with multiple data lines

共有メモリによるプロセス間通信

Unix の共有メモリを使ったプロセス間通信について調べて実験をしてみた.対象は1つのホスト上での複数のプロセスである.ネット上でいくつか例題はないかと探したが,どうも良い例となるコードが見当たらなかった.結局はある解説記事と,Stack Overflow の議論と,man page を見て作ってみたものになったので,例をここに置くのも有用かと考え,この記事を書く.(もしかしたら探し方が悪くて良いコード例をみつけられなかっただけかもしれない.) mmap を使うかどうかという話がいくつもでていたが,POSIX の方向としては,shmem_open と mmap を使うという方向があるということだったので,それを信じてその形での実装を試してみた. 基本的なコードの流れは次のようになる. 共有メモリ領域を1つのプロセスが shm_open() を使って作成する.その際に,プロセス間で共通の文字列を識別子(``identifier'')とする.(Linux ではこれが /dev/shm/identifier のように見える.) 共有メモリ領域を mmap() でメモリにマップする.共有メモリポインター (shared_ptr)が得られる. shared_ptr を使って複数のプロセスで通信をする. 利用終了後は munmap() をつかってマップを消す. 共有メモリオブジェクトを shm_unlink() によって消す. 以下に示すプログラムは,server と client の2つのプロセスが共有メモリを使って通信をするものである.ここで,server プロセス数と client プロセス数は共に 1 を仮定する.server と client は自分の領域にしか値を書き込まないことで,ロックを避けている.互いに相手の値を読み,それよりも1大きい数を一定の期間ごとに自分の領域に書くという例題である.シンプルではあるが,共有メモリで通信をする基本としては十分なものだと思う.ソースコード(shmem_test.cpp)を以下に付加する.ソースコードのコメントにコンパイル方法とどのように利用するかを書いておく. /*   Shared memory inter process communication minimal exa...

Scratch を学ぶ (2)

前回は scratch というプログラミング環境がどういうものかを簡単に話しました.そこではイベントという考えを使ってプログラムが動きます.今回はこの環境でキャラクターを動かした10歳の生徒の話です. この Scratch というプログラミング環境では,キーイベントというイベントの一種が提供されています.たとえば,「右の矢印キーを押す」というイベントがあります.このイベントが起こると,x を 10 増やすというようなプログラムを書きます.すると,右の矢印キーを押すたびに猫を右に動かすことができます.これを上下左右のキーでそれぞれ行うことで,キーを使って猫を移動させることができます. 今日の生徒はドラゴンを登場させて,同じことをしました.するとなんと,猫もドラゴンも全く同じ動きをしてしまいます.まあ,そのようにプログラムしたので当然です.コンピュータはとても速く計算し,とても正確で,そしてとても愚かなものです.書いたとおりのことしかしません.その生徒はドラゴンを速く動かしたいと言いました.私は動く量を変えましょうと答えました.今は1回のキーを押すと,動く量が 10 です.速さとは一定時間に動く距離のことですから,これを増やせば速度は思いのままに変えられます.しばらくしてどうしたかなと思って見たら,この生徒はなんと,同じキーイベントをもう1つ作っていました. つまり,右矢印のイベントが発生すると,2つのプログラムが起動するのです.1つのプログラムは10右へ移動であり,2つのプログラムでは合わせて20の移動になります.この環境では並列に動く部分でもちゃんと考慮されているようにできているらしく,これで正しく2倍の速度で動くのです.3倍速く動かすためには,もう1つプログラムを起動すればできます.なんという発想! 私はジョジョという漫画の1シーンを突然思い出しました.主人公がスタンドで浮くという場面です.(知らない人はすみません) 仗助がスタンドに押されて移動する場合,私の発想はスタンドの押す速度を変えることでしたが,この生徒の発想はスタンドの数を増やすことだったのです. しかし,この生徒の方法では基本的に整数倍にしか速くできません.もちろん1つのプログラムがキャラクターを10押して,もう1つが同じキャラクターを5押すとすれば 15 押すことになり.1.5 倍の...