K.Sasada's Home Page

Diary - 2016 October

研究日記

神無月

_31(Mon)

溜まっている仕事というか、メールを片付けたりする。 チケットがもの凄く溜まっているので、RWC 中に本気出す。

_30(Sun)

福岡へ、JPHacks のRuby側審査員的なもののために出張。

あんなんで貢献出来たんだろうか...。


日帰りだったんだけど、夕飯が適当に買ったおにぎりで寂しい。

_29(Sat)

なんか、ついうっかり買ってしまった Tomb Raider が面白くて...。

_28(Fri)

大学で講演させて頂く。タイトルに OSS という言葉が入ってたけど、OSS だから、という話は殆ど無かった。

ついでに、買っておいた 1080 を刺した。ミニタワーなので、微妙。

nvidia のドライバを入れると、なんでサーバ機なのに、X 環境ゾロゾロ入るの...。やりたいことは CUDA で計算したいだけなのに...。

ネットがつながらなくなる。

イーサのデバイス名が eth0 から enp3s0 に rename されるらしいんだが(そして、インストール時に、このデバイス名で静的 IP addr を(インストーラが)設定していたんだが)、PCIe 刺すと、このデバイス名が enp4s0 に変わって、それで設定出来ず、ということのようだった。PCIe のなんかの番号みたいなんだけど、この仕様、はまる人いないのかな? ぱっとググっても、さっぱり出てこない。

なんで eth0, ... という名前規則から変えてるんだろ。ネットワークカード追加したときにわけわからなくなるから? しかし、PCIe カードを追加する方が多そうな。

最近の Linux はわからない(過去の Linux がわかるというわけではない)。

_kosaki(Wed Nov 02 13:24:36 +0900 2016)

 PCIeが追加されたときにNICの指してある物理スロットが同時に変わったとみなされてるのはファームウェアがおかしな値を返しているからだと思います。ファームが正しければそこは変わらないはずです

_ささだ(Wed Nov 02 14:07:57 +0900 2016)

 オンボードでした。

_27(Thu)

体調が悪かったので、PRO サボった。

_26(Wed)

箱崎IBM で PRO。1年ぶりの発表。

Ruby会議の資料見直したら、だいぶわかりやすくて、けっこう流用したけど、25分で学会スタイルで喋るとすると、随分難しい。全部作り直していくべきだった。

聞いている人達は、プロフェッショナルな人達だったので、だいぶ理解してもらえた感じ。議論したけど、やはり thread がいいよね、な意見が多かった気が。どうなんだろうな。

_maeda(Tue Nov 01 12:49:54 +0900 2016)

HPCな人はどうかわかりませんが,私はかなり有望な気がしました.ただ,COWがうまくできるなら移籍はなくてもいいのかな?とか,いくつかまだ設計チョイスはありそうですね.

あと,Fido とか IO-Lite とかをちょっと思い出しました.

_ささだ(Wed Nov 02 14:09:01 +0900 2016)

 CoW でいいところは、copy で良くて、移籍は例えば大きな破壊したい文字列を Guild で持ち回る、みたいなモデルを考えていました。

_ささだ(Wed Nov 02 14:11:03 +0900 2016)

 ページング使って所有権を持ち回す、というのは、OS 回りで多そうですよね。

_25(Tue)

続資料作りとか、評価し直したりとか、なんとかかんとか。

_24(Mon)

資料作りと、審査とか、諸々。

_23(Sun)

ダメダメ(2)。

_22(Sat)

なんか仕事がさっぱり出来ないダメダメ。

_21(Fri)

ちょっと忙しい日だった。

R 社行って、S 社いって、五反田行って、Elixir 読書会(0回目)。

残念な蕎麦を食べた。

_20(Thu)

何も覚えていないけど、PRO の原稿締め切りを前に、なんか頑張ってた記憶がある。

_19(Wed)

何も覚えていない。マッサージ受けたらしい。

_18(Tue)

何も覚えていない... asakusa 行ったんだっけ。

_16(Sun)

なんか、結局 Thread 使って色々やってる。concurrent ruby 的な機能も欲しいよね、みたいな...。いや、小さいならいいんだ、うん。

_15(Sat)

いろんな環境で ruby のビルドをベンチマーク。

i7-6700 のマシン(4 core + HT = 8 threads)。

  • j 等無し。
without -j option

checkout               0.170000   0.040000   1.950000 (  2.830169)
autoconf               0.000000   0.000000   0.670000 (  0.697942)
configure              0.060000   0.010000  10.410000 ( 17.511733)
build_up               0.000000   0.010000   3.210000 ( 26.080962)
build_miniruby         0.000000   0.000000  48.420000 ( 48.971836)
build_ruby             0.010000   0.000000   0.940000 (  1.360748)
build_exts             0.060000   0.000000  70.520000 ( 75.778432)
build_all              0.020000   0.020000  18.690000 ( 19.474295)
build_install          0.010000   0.000000   0.640000 (  1.224005)
test_btest             0.020000   0.000000   4.210000 (  9.435633)
test_all               0.010000   0.000000 238.020000 (337.549267)
test_rubyspec          0.070000   0.040000  26.160000 ( 59.422938)
  • j 等あり。
with -j16 TESTS=-j16 on 8 H/W threads machine

                           user     system      total        real
checkout               0.120000   0.070000   1.740000 (  2.767964)
autoconf               0.000000   0.000000   0.670000 (  0.688407)
configure              0.050000   0.020000  10.420000 ( 17.778197)
build_up               0.000000   0.000000   4.340000 (  9.604833)
build_miniruby         0.010000   0.000000  80.600000 ( 12.089534)
build_ruby             0.000000   0.010000   1.000000 (  1.169774)
build_exts             0.060000   0.010000  70.860000 ( 76.427638)
build_all              0.020000   0.010000  18.760000 ( 16.201804)
build_install          0.010000   0.000000   0.730000 (  1.250504)
test_btest             0.020000   0.020000   5.090000 ( 10.368476)
test_all               0.000000   0.000000 223.050000 ( 46.234256)
test_rubyspec          0.060000   0.060000  26.080000 ( 59.148541)

i7-4930K (6 core x HT = 12 Threads)。

with -j12

                           user     system      total        real
checkout               0.220000   0.040000   2.900000 (  3.277044)
autoconf               0.000000   0.000000   1.030000 (  1.373152)
configure              0.120000   0.030000  29.750000 ( 30.475621)
build_up               0.010000   0.000000   6.560000 (  9.864262)
build_miniruby         0.010000   0.000000 112.670000 ( 13.259829)
build_ruby             0.010000   0.000000   1.410000 (  1.522410)
build_exts             0.080000   0.040000 116.790000 (117.814550)
build_all              0.050000   0.010000  31.160000 ( 26.730176)
build_install          0.010000   0.010000   1.450000 (  1.575139)
test_btest             0.020000   0.010000  10.610000 ( 12.340560)
test_all               0.000000   0.000000 266.590000 ( 63.716572)
test_rubyspec          0.070000   0.030000  41.730000 ( 71.875512)
total: 353.83 sec

ラズパイ pi3。-j 等無し。

                           user     system      total        real
checkout               1.030000   0.220000  15.860000 ( 17.211054)
autoconf               0.000000   0.000000   7.220000 ( 24.746618)
configure              0.220000   0.030000 108.770000 (141.884384)
build_up               0.010000   0.010000  22.790000 ( 57.633267)
build_miniruby         0.040000   0.010000 494.610000 (504.909866)
build_ruby             0.010000   0.000000   9.290000 ( 15.871061)
build_exts             0.260000   0.090000 731.840000 (755.079937)
build_all              0.170000   0.030000 219.480000 (223.101722)
build_install          0.030000   0.010000   7.720000 (  9.376451)
test_btest             0.040000   0.020000  48.660000 ( 67.698547)
test_all               0.010000   0.000000 1583.320000 (1676.438025)
total: 3493.96 sec

_13(Thu)

先日(10/3 くらい)、ヨドバシカメラで Sony の RX100 M3 を買いました。良いカメラには縁がなかったので、勉強しながら使っています。

さて、RX100M5 が 10/6 くらい(だっけ?)に発表され、それに先駆け、キャッシュバックキャンペーンというのをやっているのを、そのタイミングで知りました。

http://www.sony.jp/camera/campaign/cb16autumn/

RX100 M3 は8,000円キャッシュバックだそうで、凄い額なので、申し込もうとしましたが、箱が必要になるそうです(具体的には箱についているバーコード)。買ったら箱とか捨ててしまう人なので、もう手元にありません。

そこで、Sony さんにどうにかならないか電話してみましたが、無いと駄目、とのこと。シリアル番号管理が、箱にしかない番号で行なわれているそうです。また、中古で買った奴を排除する必要があるため、とのこと。ヨドバシのレシートがあればなんとかならんか、と聞いたのですが、やはり駄目、とのこと。

ヨドバシさんに聞いてみると、Sony の営業さんと相談してくれる、とのこと。

後日、ヨドバシさんから連絡があり、「今、手元にあるものと、新品(箱付き)を交換することで、キャッシュバックに応募できるようになる。家に我々(ヨドバシスタッフが)届ける」ということでした。さすがに、交換してもらうのも(今使っているのはどうなるんだ...)、わざわざ家に来て貰うのも(出張代だけで1万円分くらいしそう)、ヨドバシさんの割に合わないので、今回は私が折れるとお伝えしました。

うーん、もうちょっとなんとかならなかったですかね。 私が情弱だった、買うならもっとググれよ、という教訓の8,000円だった、と考えるべきかもしれませんが...。

それとも、箱はとっとけよ、というところかなぁ。保証書とかレシートはちゃんと付いているので、買った証明は出来ると思うのだけれど。

ちょうど、いつも行くところでは無いヨドバシだったんで、ちょっと寄って相談する、みたいなことも出来ないし、残念。


しかし、ほんと、交換してたら手元のカメラの運命はどうなってたんだろう。中古美品として出回るんだろうか? それとも、デモ機材とかになったりするのかな。

_masterq(Fri Oct 14 05:37:24 +0900 2016)

 この機種を選定した理由を是非知りたいです! < RX100 M3

_ささだ(Sat Oct 15 08:21:48 +0900 2016)

 店員さんに勧められたまま、ですね。

_masterq(Sat Oct 15 13:23:14 +0900 2016)

 ささださん他人を信頼する人なんですね。。。僕いろいろ疑ってしまうので、、、イクナイ。ありがとうございました

_12(Wed)

ビデオ会議のあと、大学で発表練習を聞く。この教育支援によって、Ruby 開発機材を置かせて頂いているのです。

で、3台届いたので設置しました。東京Ruby会議11の余剰資金は、こんな感じで Ruby 開発に活かされています。i7-6700 + 64GB RAM なので、そこそこ優秀。

_11(Tue)

開発者会議だった。

st の比較を頑張った。

_10(Mon)

不在票が入っていたので、再配達をお願いし、14-16 時の間と言われたので、待っていたがこないので、18時ごろ、風呂に入ったら、案の定来た。

_9(Sun)

お祭りでササニシキ売ってたので買った。コシヒカリみたいに甘くなくて美味しい。昔食ったんだろうけど、もう味の記憶とか彼方だ。

_8(Sat)

近所でお祭りやってた。先日もやってたし、来週もやるそうな。忙しいね。

_7(Fri)

てきとーな script をずっと回したい、というのは、よくあるケースだと思います。例えば、ちょっとしたクローラーを作るとか。で、そういうときは、真面目にするには、デーモン化したり、デーモン化を手助けするツールを使うと思うんだけど、screen でちょっと起動、みたいなので済ましたい場合があります。コマンド覚えたり、ログファイルの場所を考えたりするのが面倒なので。

手でやるだけなら、単に screen 起動して、当該プロセス立ち上げてデタッチすればいいんだけど(実際、nadoka プロセスはそうやってデーモン可(?)している)、複数台マシンにばらまきたい時には、一々ログインして、みたいなことはやってられない。いや、やってたんだけど、5台くらいになって、音を上げて、ちゃんと調べようと思った。いや、ちゃんとデーモン化方法を調べろよ、って感じなんだけど...。みんな rails サーバのデーモン化とかどうやってんのかね。docker run -d ? foreman? serverengine? heroku 楽だよねえ、ほんと。

で、その方法を色々教えてもらった(下記は、screen session が他に居ないことを前提としています)。

screen -d -m cmd1     # cmd1 を実行する session 作って、すぐにデタッチする
screen -X screen cmd2 # cmd2 を実行する window を、先ほどの session
                      # で新しい window として作成する

うーん、これは便利。ただ、cmd1, 2 ともに、そのプロセスが終了すると、window が閉じちゃって、例えばエラーで終了していた状態とかを見ることができない。

なので、bash -c "cmd1; bash" みたいにしておけば、cmd1 が終了しても bash プロセスが残る。

が、C-c で cmd1 を強制的に終了させると、親 bash まで死ぬので(インタラクティブモードじゃないから)、結局 window は残らない。set -i でいけるよ、と聞いたけど、bash じゃ不十分らしい。ので、dash -c "cmd; bash" で行ける、とのこと。なるほど。


で、今更 screen かよ、ということで、2016 年にもなって、やっと重い腰を上げて tmux を初めて使ってみる。おお、グリーン。

tmux new-session -d cmd1
tmux new-window cmd2

とすると、上記と同じことができるようだ。で、remain-on-window on としておけば、cmd1, 2 が死んでも window は残る。おお、これが最強じゃない?

ただ、window を一々 kill-window しないといけないのは、ちょっとダルいね。


どれが一番いいかというと、dash 使って interactive shell に逃がすケースかなぁ。

_6(Thu)

Vagrantfile(というか Vagrant-cloudstack だけ?) で複数マシンを作るとき、ブロックが遅延で動くということに気づかず、

  name = xxx
  4.times{|i|
    name = "xxx-#{i}"
    config.vm.define name do
      worker.vm.provider :cloudstack do |cloudstack, override|
        cloudstack.name = name
        ...

みたいにすると、worker.vm.provider の、name の参照が、4.times が終わったあとに行なわれておかしなことになる(全部同じ名前になる)。なんでかわからず、とても悩んだ。各スコープに唯一にして解決。

_5(Wed)

今まで保険に入ってなかったんだけど、いろいろあって入るか検討中。

なんか沢山あってわからん。。。

_4(Tue)

美味しいモノを頂きました。

_3(Mon)

ドラム式洗濯機が届く。でかい。


カメラを買う。Sony の RX100M3。イッパイ色々付いていてわからん...。

_2(Sun)

ぐったりしてたような。

ああ、実家にパソコン相談員しにいった。

_1(Sat)

ぐったり。


1日なので安いので、君の名は、を見に行った。なんであんなに盛り上がってるんだろう。

Sasada Koichi / ko1 at atdot dot net
$Date: 2003/04/28 10:27:51 $