kwkbtr’s log

(Last modified on Thu, 28 Mar 2013 02:09 JST)

Thu, 28 Mar 2013

JavaScriptでのクラスの実装の隠蔽

こんなふうにしたらJavaScriptでクラスの実装を隠蔽できるんじゃないかなあと思った。

function() {

  // method list
  var methods = ["methodA", "methodB"];

  // implementation class
  var Impl = function() { ... };
  Impl.prototype = {
    methodA: function() { ... },
    methodB: function() { ... }
  };

  // the (interface) class
  var Foo = function() {
    var impl = new Impl(arguments);
    // delegate to the implementation class
    this.call_method = function(name, args) {
      return impl[name].apply(impl, args);
    };
  };

  // define method interface
  methods.forEach(function(name) {
    Foo.prototype[name] = function() {
      return this.call_method(name, arguments);
    };
  });

  return Foo;

};

Tue, 26 Jun 2012

std::mapに要素を加える時の話

例えばstd::map<int, a>に要素を加える時、

std::map<int, a> hoge;
hoge.insert(std::pair<int, a>(0, a()));

とやると、クラスaのコンストラクタは何回走るか?思いつくところで

  1. pairのコンストラクタの引数のコンストラクタ
  2. pairのメンバ変数のコピーコンストラクタ
  3. mapのメンバ変数のコピーコンストラクタ

の3回あるが(他にあったら教えてください)、実際にやってみると4回とか5回実行されたりする。じゃあ

hoge[0]

ならどうかというと、clang++ -stdlib=libstdc++でコンパイルすると3回走るんだけど、clang++ -stdlib=libc++でコンパイルすると1回だけしか走らない!libc++賢いね!!というお話でした。

Thu, 21 Jul 2011

intのかけ算には気をつけよう

レアケースかもしれないし、当たり前の常識かもしれないが、ちょっとハマったので書き留めておく。

C/C++でintを使うとたいていは32ビットになるだろう。符号ビットがあるので実質31ビットで、log102が0.3ぐらいだから、十進では31×0.3=10桁くらいが最大値である。したがって103=1000ぐらいのintを4つかけ算するとオーバーフローしてしまう。(しかも全くエラーが出ない。)ちょっと大きめのintをちょっとたくさんかけるときはちゃんと大きい整数型にキャストしよう。(Googleはstdint.hで定義されているサイズが明示された整数型の使用を勧めている。)

Thu, 04 Nov 2010

Mac OS XでCanonのスキャナーがうんともすんとも言わなくて困ったら

Mac OS Xのcase sensitiveなファイルシステムを使っていて、Canonのスキャナー(CanoScan LiDEとか)をつないでもうんともすんとも言わなかったり、コンピューター様に

252.0.0

とか言い放たれるような時は、Can't use Canon LiDE 70 scanner anymore - scanner already in use? - MacNN Forumsにあるように、ターミナルを開いて

cd /Library/Printers/Canon/IJScanner/Resources/Parameters/CNQ4807
sudo ln -s CNQ4807.DAT CNQ4807.dat
sudo ln -s CNQ4807M.DAT CNQ4807M.dat
sudo ln -s CNQ4807N.DAT CNQ4807N.dat
sudo ln -s CNQ4807P.DAT CNQ4807P.dat
sudo ln -s CNQ4807R.DAT CNQ4807R.dat

とするとちゃんと仕事をしてくれてせいせいするかもしれません。(パスワードを求められた場合は入力する必要があります)

Tue, 05 Oct 2010

MathJax+Showdown

Once I mentioned TiddlyWiki+MathJax for writing research notes containing mathematical expressions in HTML. Yesterday I invented a simpler solution using Showdown and MathJax.

Some remarks:

Enjoy!

以前、数式を含むノートをHTMLを使って作る方法として「TiddlyWiki+MathJax+Dropboxで開ける明るい未来」を書きましたが、昨日ShowdownMathJaxを使ったもっとシンプルな方法を考えました。上述の通り、サンプルのファイルを置いてあります。注意点をいくつか。

これで勝つる!

Fri, 24 Sep 2010

A note on interference between independent bosonic fields under U(1) superselection rule

There has been a controversy concerning a question “why two independently prepared Bose-Einstein condensates interferes?” I once considered the problem, and after surveying many related works, doing some calculations myself, and giving a couple of talks about the topic, I feel the problem is now well understood. Still, this question keeps making people confused. I decided to post a note on the subject, which is a slightly modified version of a manuscript I wrote for QIT21. I also uploaded a presentation file I used in a seminar held in Ueda group. I hope these articles help you understanding the problem.

独立なBECの干渉に関するノートとプレゼンテーションファイルをアップロードしました。

参考:日々の雑感的なもの 11/12/2000(日) 11/13/2000(月) 11/14/2000(火) 11/15/2000(水) 11/20/2000(月) 2009/12/22(火)

Sat, 18 Sep 2010

Evernote Site Memoryを付けました。

ほとんど需要はないような気がしますが。

Tue, 30 Mar 2010

TiddlyWiki+MathJax+Dropboxで開ける明るい未来

ホッテントリメーカーは使ってないです)

研究や勉強のノートの作り方を考えていたのです。例えばEvernoteだと、

とかいう不満があるわけです。じゃあ普通にLaTeXとかでノートを作ればどうかというと、もちろん数式はばっちり入力できるけども、

とこれまたうざさが風呂釜いっぱいとまではいかないけれどコップ一杯くらいは溢れている。そこで僕は「えいやっ」と、

TiddlyWiki+MathJax(+Dropbox)

を試してみたんです。

これはいい。

Screenshot of Tiddlywiki + MathJax かっこいい。

リンクは張り放題だし、ファイルはHTML一つだし、Dropboxに放り込んどけばどのPCでもブラウザ上で編集できてその場で見られるわけですよ。素晴らしい!MathJaxをダウンロードして展開し、TiddlyWikiのMarkupPostHeadに一行 <script src="../MathJax/MathJax.js" type="text/javascript"></script> と入れるだけ!あら簡単!

ということでこの素晴らしい発見を皆さんにお伝えしようと思って書きました。某ブログの雰囲気を真似たんだけど似てないかもしれないからどことは言わないでおきます。

Sat, 27 Mar 2010

フランス映画

『ずっとあなたを愛してる』(Il y a longtemps que je t’aime/I’ve Loved You So Long)を観に行った。てっきり原題とは違う臭い邦題が付けられているのかと思ったら、そういうわけでもないようだ。

インターネット上の感想を少し眺めてみると、(別に悪い意味ではなく)「暗い」「重い」と評されているようだが、暗さや重さはほとんど感じなかった。感情移入する鍛錬が足りていないのかもしれない(笑)。むしろ、登場人物のやりとりを見ていて、無意識に微笑んでしまうようなシーンが多かった。端から見ればにやついているように見えたであろう。また、「謎」が読めてしまうとかいう批評もあったが、個人的にはそこを期待する映画ではないと思う。純粋に雰囲気に浸れる映画で、なかなかよかった。

それにしても、インターネット上のユーザーレビューを読んでいたら、いろいろ細かいところを見逃しあるいは忘れているような気がしてきて、もう一度観たいなあと思ってしまうな。

Fri, 26 Mar 2010

旅立ちの季節

この春大学を卒業して就職する部活の後輩と飲みに行った。

私が四回生の年に入ってきた後輩で、素直な性格だけど少し頼りないかな、という印象を持っていたのだが、実際は頼りになるキャプテンとして部を取り仕切っていたようだ。もともと部の勧誘活動がうまくいかず部員数が少なかったので、彼には負担をかけてしまうなと責任を感じていたのだが、むしろその状況を利用して人間的に成長してくれたようで、うれしかった。

Sun, 10 Jan 2010

2010年の目標(その二、その三)

2010年の目標その一という失態の中、残りの目標を記録しておきたいと思います。

まず、(少なくとも)週に一回、勉強したことや考えたことを何らかの形でアウトプットしたいと思います。本や論文を読んでも、自分できちんと考えてアウトプットしなければすぐ忘れてしまうということに最近気付きました(遅いか)。なのでこれは、自分の勉強と成長のためです。今のところ、このブログ(かな?)に載せる予定です。

それから、論文を四本投稿する。(「出版する」じゃなくて「投稿する」です。)ちょっと無茶かな…。でも、一本は七割方くらい書けているし、現在進行中のも含めて今までのネタで二本は書けるはずなので、新しいテーマで一本書ければOKのはず。

ここを読んでる人はそんなにいないだろうけど、とりあえず公にしておいた方が実現しやすいかと思って書きました。皆様、どうぞじゃんじゃん私の尻を叩いてやってください。

Fri, 01 Jan 2010

2010年の目標(その一)

2010年の一つ目、かつ最優先目標: 「毎晩12:30までに寝る」

私の眠りの状況はTumblr早起き生活で見ることができます。目標の達成度に応じてご褒美とかペナルティが発生する仕組みがあった方がいいなあ。何かアイデアがある人はぜひ、教えてください。

Wed, 30 Dec 2009

日本学術振興会特別研究員DC2

来年の四月から、日本学術振興会特別研究員DC2に採用されることが内定しました(つぶやき)。いろいろな形でサポートしていただいた皆さん、ありがとうございました。

Mon, 07 Dec 2009

Sleep Cycle alarm clock

一ヶ月半ぶりですね。更新しなかった間のできごとを、Twitter等から拾って手短に書きます。

さて、昨日Sleep Cycle alarm clockなるiPhoneアプリを発見。なんとiPhoneの加速度センサーを使って眠りの深さを割り出し、眠りが浅いときにアラーム(音楽)を鳴らして起こしてくれるという。「iPod touchでは使えない」と書いてあったが、とりあえず使ってみた。その結果がこれ。

Sleep statistics for 06 - 07 12月 (月).

すごいなこれ。すっきり目覚められました。この発想はなかった。同じ目的の専用品が二万円くらいすることを考えたら、お買い得感がすごい。

早く起きたのでジョギングもして、日中はさぞ仕事がはかどるだろうと思ったが、甘かった。一年半ほど置いたままの仕事があって、年内にまとめてしまおうと思っているのだが、なかなか筆が進まず。今夜も早寝早起きして、気合いを入れてがんばろう。

Tue, 20 Oct 2009

歳をとったようです

四捨五入すると…

Sat, 10 Oct 2009

Long time no see

I didn't post entries during last few weeks. As you might notice from my Twitter posts, I came back from Rome without troubles. It was great being in Rome! I want to say thank you to all people I met in Rome. I uploaded photos I took in Rome, though some of these are missing titles and descriptions. I hope you enjoy these photos!

As I twitted, I stopped updating my Tumblr and started using Delicious. My FriendFeed now feeds kwkbtr’s log (this blog), Twitter, Flickr and Delicious (and Last.fm). If you want to keep track of my activities with one feed, I recommend using it.

As I wrote on the homepage, I will present a poster “Interference between independent bosonic fields under U(1) superselection rule” at QIT 21 in Tokyo on 4 Nov 2009. If you have time, please check it out!

I realized that it is hard to start writing in the diary again after stopped for a while. But anyway I finished one entry! I hope I can establish my pace, not only of updating this web site but also of my everyday life.

As I am not a native English speaker, there might be some grammatical mistakes in my English writings. If you find them, please let me know. I appreciate any comment :-)

Mon, 14 Sep 2009

Mathematica地獄

Mathematicaで数値計算をやろうと思い超短時間での習得を試みるも、いまいちすっきり理解できず。本当は時間をかけてちゃんと勉強すればいいんだろうけどなあ。でも、プログラミングMathematica(Roman E. Maeder 著、時田 節 訳)の日本語が読みにくくてしょうがないのは私だけでしょうか。誰か、Mathematicaの精神がきちんと理解でき、かつ読みやすい本を教えてください。

QIPCのsocial programの申込を忘れていた。危ない。というか全然準備できてない。焦る。

堺にAmazonの物流拠点ができたようだ。今日注文したが、発送元がアマ堺店になっていた。明日の午前には届いたりするのかな。

Sun, 13 Sep 2009

Set up Flickr account

I set up my account for Flickr.

Sat, 12 Sep 2009

京都観光

高校の同級生が三人京都に遊びに来たので、二条城、金閣寺、龍安寺、京都大学を回った。あいにくの雨だったが、なかなか楽しめた。夜の飲み会は、懐かしい人たちへの電話大会になっていた(笑)。みんなそれぞれがんばっとるなあ。後半は一日歩き回った疲れからか、ちょっと変な酔い方をしてしまった。皆さんごめんなさい。いつか海外で一緒にマラソン走れたらいいですね。

Wed, 09 Sep 2009

今日の出来事

ここ数日デジタルカメラを買うべくいろいろ調べていた。本日LUMIX DMC-FX150購入。在庫処分で結構安く買えた。この機種にしたのは、RAWで記録できる機種のうち一番安かったから。

国際学生証を受け取りに行った。なんと提出した写真をそのまま貼り付けて(しかも微妙に傾いている)上からフィルムを被せてあるだけというお粗末な作り。文字の印刷も少し斜めだし、フィルムはそのうちはがれてきそう。どうりで早いわけだ。

マウスの調子が悪いのでロジクールのサポートに問い合わせていたのだが、対応が酷すぎる。回答のメールなど届いていなかったのに、「回答を送ってから120時間以内に連絡がなかったので解決済みにした」だと。ふざけている。

新iPodとiTunes 9発表。Genius Mixは使えるかも。「Twitterとの連携機能」に期待したが、iTMSへのリンクを張り付けることができるだけのようだ。

Sat, 05 Sep 2009

日経サイエンス

髪を切った。少し買い物。

日経サイエンスを書店で眺めた。Weak measurementの特集。まあ、two-state formalism(って言うんだっけ)自体は面白い考え方だと思うので、いい意味で妄想を膨らませて何か出てきたらいいですね。「負の確率」を強調するのはなんだかな、と思うけど。

Fri, 04 Sep 2009

Exploring some web services

I set up my accounts for Facebook and FriendFeed (and Tumblr). Settings of the Facebook account were complicated and I was confused. I believe everything is alright now, though.

ユーロ入手

iTMSで『三文ゴシップ』入手。「余興」の最後で「サンキュウー」というのがツボ。

郵便局でユーロを入手。日本の紙幣よりざらざらしていて、枚数数えるときとかめくりやすい。あと金額によって紙幣の大きさが全然違うのも面白い。海外の印刷物のにおいがする。

Mathematicaって使いこなせればもの凄く便利そうだけど、マスターするのは骨が折れそう。

なんかいつのまにか過ぎた一日。

Wed, 02 Sep 2009

「クールなURI」をめぐって

仕事をさぼって「クールなURI」をGoogleで検索していたら、ナンセンスな文章がたくさんあるなあと思った。それをここで指摘しようかと思ったが、帰宅してもう一度それらを読むとナンセンスというのも言い過ぎかもしれないと思った。とりあえず私の解釈だけ書いておこう。

「クールなURIは変わらない」(“Cool URIs don't change”) というタイトルは誤解を招きやすいように思う。この文章で問題とされているのは、単なるリンク切れだ。だから、URIを変えること自体は別に構わない。ただ変えるなら、古いURIでアクセスした時に全く情報がない404 Not Foundを返すのは、利用者に不親切でサイト管理者に対する信頼性を失わせますよ、ということだ。HTTPヘッダーでリダイレクトするとか、URL rewritingを使うとか、削除した旨の説明を書くとかすればいいだろう。

変わらないURIこそがクールで書かれているように、URIに入っている拡張子とメディアタイプは関係ないので、別に.htmlの拡張子でJPEGデータを送ったって(メディアタイプが間違っていて文字化けしたりしないかぎり)別に構わない。foo.phpが実はPythonのスクリプトでも関係ない。それがクールじゃないから余計な情報はURIから排除しましょうというのは単なる制作者側の美学でしかない。もちろん私が最初の記事で「クールなURI」と言っているのは、私自身がクールだと思っているからというだけだ。

だから盲目的に「クールなURI」に「すべき」だと思い込むのはナンセンスだし、一旦インターネットで公開した文書を削除してはならないということにもならない。もちろん管理コストなどを考えれば「クールなURI」の方が有利だろうし、官庁などが一旦公開した文書を削除すべきではないという議論はあるだろうが、それらはまた別の問題だ。

自己満足の文章をつらつらと書いてしまった。さあ、仕事仕事……

Tue, 01 Sep 2009

桂キャンパス訪問

寝不足の日は動悸がしやすい気がする。

午前中に届くはずのものが届かず。面倒なことだ。

桂キャンパスを訪問した。Nゲージに深く感動した。フォトニック結晶の話と光合成系でのanti-Zeno効果の話とweak measurementの話を聞いた。講演者の皆様お疲れさまでした。飲みに行ったときに出た話だが、(anti-)Zeno効果には、(非局所性のような)量子系に特有の性質は本質的ではないのではないかという気がする。皆さんはどう思われるでしょうか。

Mon, 31 Aug 2009

名刺を作った

名刺を作った。これから研究会などで出会った人たちにばらまこうと思う。

名刺の印刷用ファイルを作るのに少し手間取り、大学に行って事務手続きをし、昼食を食べて名刺を印刷した後他の人の論文を添削していたら一日終わった。自分の論文書かないと。

Sun, 30 Aug 2009

総選挙の日

投票に行った。ものすごいことになりましたね。ここまで極端に振れて、大丈夫だろうか。

所用で大阪に行って日が暮れた。

疲労と睡眠

最近生活のリズムがよろしくない。なんか、体や脳が疲労してもそれが睡眠につながらない気がしている。夜更かししてからベッドに入っても、すぐに寝付けなかったりする。

まあ単純に、遅寝遅起きがだめってことだろうな。早寝早起きしよう。そのために早起き生活も始めたし。と書いている現在すでに夜遅いのだが。

Sat, 29 Aug 2009

メモ

いろいろ調べたのでメモ。

Sitemapをどう作るか考えなければ。

熱い

Perfume を熱く語るエコノミスト (Youtube)。いいこと言ってると思います。

ごあいさつ

Webサイトを作りました。広報活動とか、日々の記録とか、考えたことなどを書こうかなと思ってます。ついでに生活リズムを矯正するために早起き生活始めました。あと、Twitterも登録しました。興味のある人は時々のぞいてみてください。

どうせ作るからには一生使えるようにしようと思い、ドメイン(kwkbtr.info)を取りました。「クールなURIは変わらない」原文)でがんばりたいと思います。

© 2009 KAWAKUBO Toru <web (atmark) kwkbtr.info>