monolog

monora log #=> ものろーぐ

2014年の投稿

sigma.js に送った Pull Request が マージされた

Programming

sigma.js という便利なグラフ(グラフ理論の方)の描画ライブラリがあって、研究のGUI部分で使っていたらバグを踏んだという話。

グラフの描画領域をスクロールした時に、ノードをドラッグしようとすると座標がぶっ飛ぶという割りと深刻なバグなのだけれど、sigma.js のサンプルは全てページに全画面で描画されていたので今まで気が付かなかったんだと思う。

原因はブラウザの座標系の違い (pageX/Y と clientX/Y のズレ) だった。JavaScriptでブラウザの座標系なんて今まで意識したこともなかったせいで、原因を突き止めるのにかなり手間取ってしまった……

結果として、修正は以下の2行の変更で済んだ。

-  x = event.pageX - offset.left,
-  y = event.pageY - offset.top,
+  x = event.clientX - offset.left,
+  y = event.clientY - offset.top,

僕はこのコードが存在するもう一箇所(タッチデバイス向けのコードだった)にも修正をして、PR(Pull Request) を送ったのだけれど、これが問題だった。

送ってから数週間反応が無かったので、いつ Merge されるのかなと楽しみにしていたら、昨日 Issue に返信があって、「そのPRはタッチデバイスのピンチイン/アウト操作を破壊している」と突っ込まれ、………?! とびっくりしつつ、返信の検証コードを試したら確かにバグっていて、急いで元々の修正点1箇所だけを修正したPRを送信。

昨夜未明に無事 Merge されました。よかったよかった。

OSS、こうして人のプロダクトに貢献出来るの良いな〜と思いますし、承認欲求も満たせて一石二鳥な感じがありますね。 今後も貢献していきたい

なんとなくこの記事を書きながら、Issue の英語間違ってて恥ずかしいなこれーとかなっていた。恥ずかしい恥ずかしい

sigma.js という便利なグラフ(グラフ理論の方)の描画ライブラリがあって、研究のGUI部分で使っていたら[…]

lldbの使い方備忘録

Programming

メモリ管理周りで色々ハマってたのだけど、普通にデバッガを使えばよかった。 Mac OSX だと、gdb より lldb を使う方が環境的に整ってて楽っぽい。LLVMさまさまだ。

LLDBの使い方(チュートリアル日本語訳) | こん

とりあえずここを読めばいいと思います。

以下は、上を読みながら実際にどのようにして作業を行ったかという流れのメモ。

まず、コンパイル時に -g オプションをつけてコンパイルすること (これによって変数名や関数名のようなデバッグ情報が埋め込まれる)

$ pgrep a.out

なんかでプロセスのpidを取得して、

 

$ lldb -p [pid]

で対象プロセスにアタッチ

 

(lldb) breakpoint set -n malloc_error_break

とすると、mallocにまつわるエラーにブレークポイントがセットできる (その他のブレークポイント等は元記事を参照)

これを叩いた時に、メインプロセスの実行が止まったら

(lldb) c

で再開出来る。(c は continue の省略コマンド) で、実行すると、ブレークポイントで自動的に lldb がスタックトレースを吐いて止めてくれる。

 

(lldb) bt

でスタックトレースが表示できる (bt = thread backtrace)

 

(lldb) frame select [n]

で、n番目のフレームに移動出来る (btで表示した #n にあたるもの)

 

(lldb) frame variable

とすると、そのフレームから見える変数が表示できる。

 

(lldb) p [variable]

とかすると、 valiable の値が表示できる。 また、*, &, ->, [] みたいな演算子も使用可能

 

(lldb) expr (int)printf("hoge")

みたいにすると、 printf("hoge") の返り値を取得できる。 ただし、返り値のキャストが必須のよう (普通にhogeと表示出来るらしいけれど、こちらの環境では上手くいかなかった)

メモリ管理周りで色々ハマってたのだけど、普通にデバッガを使えばよかった。 Mac OSX だと、gdb より […]

.yokohamaドメインを取った

雑記

昨日の昼ごろ、友人から .yokohama が今日らしいという話を聞いてついやってしまった散財事案。

[http://pref.yokohama

](http://pref.yokohama)ドメインの通り、「横浜県」のサイトで、もはや何も言うまいという感じにネタでしかない気がします…… 一応弁明をすると、実際には横浜県ではなくて神奈川県横浜市であるわけで、僕は鎌倉市民です。

まだ1文字の日本語ドメインなんかも取れるようなので(昨日20時ごろ確認)、色々とネタに出来る気もする。 920円/年というのもお手軽で良いですね。(お名前.com)

新gTLDで、日本の地名がTLDになるものは、調べた感じ以下の9つぐらいだそうで、 .sendai とか一体どういうこっちゃという感じですが、まだまだ面白くなりそうです。

  • .tokyo

  • .kyoto

  • .nagoya

  • .yokohama

  • .okinawa

  • .osaka

  • .ryukyu

  • .wakayama

  • .sendai

地理的名称トップレベルドメイン ‐ 通信用語の基礎知識 「.yokohama」横浜のための新ドメイン | GMOドメインレジストリ株式会社

昨日の昼ごろ、友人から .yokohama が今日らしいという話を聞いてついやってしまった散財事案。 [htt[…]

Ubuntu 14.04 LTSでCUDA環境を整える

Programming

最近組んだPCで環境構築をしていて、何故か物凄くハマったので記録。

以下、気を付けた方が良いと思った点です。

  • そもそもFreeBSDでCUDAをネイティブに扱うことは出来ないので辞めたほうが良さげ。(ハマった

  • GUI環境だと何度もコケたので、GUI環境は避ける方が良い (Ubuntu Server をおすすめします。

  • apt-get でドライバ, CUDA Toolkitを入れるのはハマることが多いので、NVIDIAのサイトから**.run**ファイルを落とすのがおすすめです。

  • nvidia-smi コマンドでグラボが認識しているか確認出来る。

参考リンク

最近組んだPCで環境構築をしていて、何故か物凄くハマったので記録。 以下、気を付けた方が良いと思った点です。 […]

たまこラブストーリーを観た

雑記

昨年春に放送された、たまこマーケットの続編のつもりで観たら、一言で言い表せない何かを感じたので感想がてら

ほんわかした女の子、そんな幼馴染が好きな男の子、その2人が付き合うまでの、照れと恥ずかしさの混ざった幸せな物語が見たい方には是非観て欲しい作品だ、というのが率直な感想です。

「たまこまーけっと」を見ていない方でも楽しめるだろうな、と思える作品です。 そして、上記の文章にワクワクした方ならきっと楽しめます…!

ここからは余談です。

劇場版の放映が決定したというTwitterの呟きを最初に見た時、本当かな?と半信半疑で投稿者のアカウントを見たら、アイコンもユーザー名も劇場版仕様になったアカウントが呟いていて、「たまこまーけっと」公式アカウントの面影が殆どなかったために、このアカウントが本物なのかもはっきりと分からず、何とも言えない気持ちになったのを覚えていますw

それはともかくとして、名前も「たまこマーケット」ではなく、初めて公開されたたまこの絵から伝わってくる雰囲気が、アニメのそれとは正反対と言えるほど違うこともあって、どんな作品になるのかな、と、わくわく半分、不安半分の気持ちでした。 事実、興行が始まった3日前も、まだどうしようか悩んでいて、このまま観ないで終わるのかなと、そこまで観ようという意欲は湧いていませんでした。

しかし、昨日ふと目に入った、とある記事を読んで、これは観るしかないと思い立ち、今朝一番の上映を観てきました。

「たまこラブストーリー」が、傑作だと確信できたのはなぜか - たまごまごごはん

そしていま、とても満足した気分に浸りながら、この文章を書いていたりします。

タイトル通り、この作品はラブストーリーで、話の流れも最初から予想がつきますし、それだけに入り込みやすい作品になっていると思います。....

ってことが書きたかったわけではなくて………!

もう何といっても、作中の様々な所に散りばめられた演出が素晴らしいのです… 「たまこまーけっと」も「たまこラブストーリー」も、この世界観が好きで、のめり込んでしまいそうになります。

BGMを中心とした音楽にも、作品との繋がりを感じさせる所が多くありました。 特にマーチングで使われた「上を向いて歩こう」は、実の父親が好きで良く聴いていたようなこともあり、この世界にすっと溶けこんでいくような感覚がありました。

幼馴染の女の子と付き合うということの良さを改めて実感でき、そして可愛いあんこちゃんを再び劇場で観ることができた、それだけで最高なのです…

 

昨年春に放送された、たまこマーケットの続編のつもりで観たら、一言で言い表せない何かを感じたので感想がてら ほん[…]

NURO 光になった

雑記

最近TVのCMでも見かける、NURO 光という2Gbps(ベストエフォート)な回線になった。 とは言え現状、コンシューマ向けで10GbEのNICなんて殆ど無くて、ルーターに3つある1000BASE-Tなポートで分配する仕組みらしい。 これ、GbE NICx2でボンディングしたら面白そうじゃね? などと考えたので、そのうちやってみたい。

IPv6もネイティブ対応してて、ついでにDNSの方も設定を更新して、このブログもついにIPv6でアクセスできるようになった。素晴らしい

問題は、IPv4が不安定だということで、回線が通って2日で10回ぐらい切れた。ルーターの設定ページからWANへ再接続すると繋がるのだけど、たまにルーターの設定ページにすら繋がらなくなる。 ルーターでエラーログ見れないかなーと思って、ログレベルをERRORに下げたところ、以下の様なログが出てきた

**追記 (2015/10/13) ルーターの交換により解決しました。記事の末尾を参照ください。 **

ルーター システムログ

wan0(ipv4)がダウンしてる……?! 訳がわからない…… 条件が分からないので対処のしようもないし、ググるも似たような症状な人がいなくて困る。 ただ、なんとなくIPv6とIPv4のトランスレートあたりが原因な気はする。なんとなく

NURO 光で貸与されるルーターにはHuawei製の HG8045j とZTE製の ZXHN F660Tの2種類があるようで、今回貸与されたのはHuawei HG8045jだった。 ただ、ネットの評判を見る限り特にどちらが外れという訳でもなさそう。一応参考情報までに。

不安定なのはIPv4だけなので、IPv6オンリーにすれば問題なく使える。GoogleやFacebookなんかはIPv6対応しているので問題なく使える。嬉しい 逆にTwitterやniconico, pixivなんかは対応してなくて、アクセスできない。対応してくれ~。

今までIPv4で問題なく暮らせていた身としては、IPv6対応とかまだいいだろ~と思っていたのですが、こういった状況に陥るとIPv6へ移行することの重要性を痛感しますね…

追記 (2014/5/9)

1週間ぐらい経過すると、IPv4が切れるという問題はすっぱり無くなり、その後1ヶ月近く経ちましたが、IPv4が繋がらないということは無くなりました。 原因は不明なのが気になりますね…

追記 (2015/10/13)

最近、また不安定になってきたのと、風のうわさで「So-net (プロバイダ)に問い合わせると最新のルーターに交換してくれるよ。」という話を聞きつけたので、問い合わせて交換してもらいました。 交換後のルーターは、Huawei HG8045D というものでした。 どうやら新しいルーターは2種類あるようで、どうやら片方は 802.11ac にも対応している様子。(今回交換してもらったものは非対応でした。)交換後は不安定になることもなく、また無線LAN (802.11n) も 250Mbps ほど出て非常に安定しています。 もし困っている方の参考になれば。

最近TVのCMでも見かける、NURO 光という2Gbps(ベストエフォート)な回線になった。 とは言え現状、コ[…]

2014年です。

雑記

あけましておめでとうございます。

どうやら今年は受験生にならないといけないようで、進級するべきか悩みますね…

ともあれ、今年もよろしくお願いします。

 

恒例のお年玉はこちらからです。お待ちしております。

あけましておめでとうございます。 どうやら今年は受験生にならないといけないようで、進級するべきか悩みますね… […]