K.Sasada's Home Page

Diary - 2016 February

研究日記

如月

_29(Mon)

PRO に Ruby の発表がある、ということなので、いってきた。昼から。 第108回プログラミング研究発表会プログラム

  • 規則違反コードの構造を反映した木パタンを用いるコード検査器
    • どの辺がポイントか、よくわからなかった。質問も、その辺を明らかにする、って感じだった。
  • 有効範囲を既知のコールパスに限定するRuby向けの安全なクラス拡張 Method seals
    • これを聞きに来た
    • Refinement を弄って、using に「ここから呼び出す X というクラス内でだけ、機能を有効にしよう」という、refinement の拡張の提案
    • CRuby を弄っていらっしゃったが、どちらかというと、Ruby で全部やっちゃったほうが便利だと思う。速度が理由、とのことだったけど、この機能を使った奴は、速度を気にしないのでは。
    • context を限定したい、という状況はわかるので、なんとかならないかとは思った
  • A Polyhedral Framework for X10 Programs
    • X10 で、ROSE optimizer(?)を使ってみた、並列化する最適化を導入してみた、という話
    • 論文読んでないからわからないんだけど、これもどこがチャレンジなのかわからなかったな

渋谷で仕事しようと思ってカフェを覗いたが、マークシティ、凄いイッパイだった。

ないかな、と思ってウロウロしていたら、靴磨きのブースが。生まれて初めて、靴磨きをお願いした。こういうもなのかな。

_28(Sun)

ひな壇を見たり、あと朝倉彫塑館に初めて行ったりした。

_27(Sat)

SIGPX: Special Interest Group on Programming Experience というイベントをご紹介頂いたので、覗かせて頂いた。久しぶりの大岡山。完全なアウェイ。インターフェース屋さんたちの内輪感がちょっとアレであった。しかし、これは他山の石なのでは...。

基本的に、こういう話は面白くていいですよね。ポジショントークが多いし、いろんな視点から攻めているのが面白い。


ざっと感想。

  • 趣旨説明・アカデミアにおけるSIGPXの潮流
    • この研究分野の話の総論
    • アカデミアからの視点、という感じ(研究の紹介なので)
    • どちらかというと、属人的な印象を受けた(まぁ、しょうがないけど)
  • プログラミングに関するスタートアップの潮流
    • 主に、プログラミングの生産性を上げる、というスタートアップの紹介
    • Heroku がなかったのは、もう買収されているからかな...。
  • How Immediate is Live Programming? Benchmarking Live Programming Environments
    • こちらも、研究の紹介
    • 処理系のベンチマーク結果が出てきているけど、別に処理系速度はチャレンジではないそうで(後で聞いた)
  • 生体情報を用いたプログラミング能力の測定
    • 視線とか脳波で生産性を見極める、という話
    • 凄い面白かった。HCI の評価でこういう機器をつける未来は来るか
  • 「ニヤける体験」をもたらすプログラミング環境のデザイン
    • プロシンで物議を醸した(とご自身でご紹介されていた)宮下先生のご講演
    • やはり、凄く発表がうまくて面白い
    • プロシンは怖いところ、って言ってたけど、べた褒めしていた先生もいたし、私も肯定的だったのだけれど。と弁解する機会は無くて残念。
    • 仮説は、まだ仮説なので、ぜひ検証してもらいたいのだけれど、一体どうやるといいんだろう。教育実験になるのか?
  • まずUnity? コーディング?
    • ユニティの宣伝。ユニティ凄い。
  • ビスケットの拡張案
    • いつもの原田さん、って感じだった。
    • ビスケット13周年おめでとう御座います。
    • 「プロシンは10年前に、この会みたいにしておくべきだった」そう思います、というか、今からだと遅いのかな? 別に間口を狭めているわけではないので、どんどん投稿して乗っ取っちゃうといいと思うのだけれど。
  • 家電のオンラインプログラミング
    • Sony の家電プログラミングインターフェースの研究の話
    • Blockly ってやっぱり便利そう。
    • サンドボックスの話は面白いよね。
  • Shigure: Towards Modular Presentation Live Programming Environment
    • プレゼン言語を Scala で、という話。Rabbit は関連研究に出てこなかった。
    • アニメーション言語いいですよね。あれで書きたいとは思わなかったけど。
    • なんで Shigure なんですか、という質問には、なんかはぐらかされたけど、カンコレ由来なんだろうか。
  • プログラム理解支援のためのコードリーディング支援ツール
    • 自分のプログラムの理解(コンポーネントの理解?)を図示して、それとの差異を表示するツール、でいいんだろうか
    • コンポーネントのネットワークは、二次元よりも三次元になるといいよね。で、VR で「手探り」したい。
    • スパゲッティコードだと、密林を探検するような感じになったり。単に、しっちゃかめっちゃかなラックの裏側になるだけか。
  • 軽量なインタフェースによる小規模バージョン管理手法
    • バージョン管理、というよりは、賢い undo をどう作るか、という話。
    • 意味のあるまとまり(?)で、undo したり、残したりする。
    • 普通に欲しいので頑張って欲しい。でも、xyzzy にはつかないよな...。
  • 全世界プログラミング
    • いつもの増井さんの話
    • ああいうデモは、やっぱり強いよな
  • インタラクティブアート制作とプログラミング環境
    • アーティストの方なんだろうか
    • shiro さんの論文Shooting A Moving Targetが紹介されていた。発表の最後で、また参照するよって言っていて、結局最後まで出てこなかったような...。
    • 凄く凄く面白かったのだけど、設問がよくわからなかった。悔しい。また聞きたい。
  • 数式→(実装,文書): OpenGL計算ライブラリ実装の経験から
    • 脇田先生が Jupiter notebook を使いこなしていらっしゃった
    • DSL がんばれって話だったんだろうか、よくわからない。これも凄く面白そうだったんだけど、よくわからなかったので悔しい。
  • 膨大なサーバ群を制御するソフトウェアとInfrastructure as Code
    • DevOps のツール群の紹介
    • 意外と、あまり知られてなかった... の?
    • Heroku を使えば気にしなくてイイヨ、などと突っ込みたかった

懇親会は、知らない方ばかりであれかな、と思って遠慮したけど、行けば良かったかな...。

また機会があれば、聞いてみたい、ような。 もうちょっとプログラミング拠りの話が聞きたいのう。

そういえば、ディスカッションの時間は、なにか研究トピックの話かと思ったら、会の運営の話であった。1時間でみんなで議論するには、ちょっと長かったような。もうちょっと、中身のある話が聞きたかった。


今日も鳥井さんが居ないので、またウロウロしていた。

_26(Fri)

鳥井さんが Ruby 会議会議で帰ってこないので、ウロウロしていた。

_25(Thu)

ブロックチェーンについて、詳しそうな人が居たので、色々と教えて貰う。

技術のキモは、データ構造と分散合意形成、どっちなんだろう。データ構造は単純なものだから、どちらかというと PoW による分散合意形成、の部分で、それが実際に社会でワークしている、というところなのだと思うのだが、今、フィンテック絡みで騒がれているのはデータ構造の部分じゃないかと思う。

とりあえず、プライベートでこれやる意味はあるんかな。検証可能性、というのは、役所に提出するときに効果が発揮されるんだろうか。チェックポイントだけを税務署に登録して、何かまずいことが起きたら、全ブロックを提出、みたいな。時間署名みたいな話だね。

しかし、おかげさまで、世間のニュースの言葉が、やっと理解できるようになった。教えてくれて、ありがとう。

そういえば、計算量の調整は、やはり単位時間あたりの処理量から、機械的に全て決まるようだよ。


もうすこし、税務署での利用を考える。

税務署には、最後のブロックのハッシュ値を提出すれば終わり、という感じにすると、結構楽なんじゃないだろうか。で、全ブロックの管理は提出者の義務(今、書類を5年だっけ、保管義務があるのと同じ)。現状では、書類の改ざんが可能であるが、ブロックチェーンを使えば、それが出来ないんで嬉しいよ、と。

とかいうことくらい、みんなきっと考えてるよな。 それとも、今ベンチャーとかでやってるのは、こういう仕事なんだろうか。


改ざんの出来ないブロックチェーン wiki なんてどうか。 それ、ただのログ構造データじゃねーの、的な。 改ざん検出がしたい wiki って、なんだろうな。


合意形成の技術的キモは、最後のブロックの特定なんだろうけど、権威者を置けばうまくいくけれど(例えば、先ほどの例では税務署)、いない状況で PoW よりうまく行く手はあるんだろうか。PoS は、ざっと見た感じ、権威者を置いてるように感じた。PoI は、中身見てないけど、字面から権威者が居そう。


そういえば、関連資料を見ていて、はじめて Hashcash の意味がわかった。なるほど、そうやって spam 防止に使うのか。

_24(Wed)

東京Ruby会議11での、ネットワークについてのご相談。

_23(Tue)

Ruby Business Users Conference 2016 に行ってきた。基本スーツ。

うーん、あまりうまく機能していないような。

_22(Mon)

何も記憶が無い。

_21(Sun)

なんか寝てた。

_20(Sat)

弊社にて、Ruby で計算分野(統計とか機械学習とか)どうするべ、みたいな相談をする有識者会議、といいながら、ちょっと集まりすぎてしまった感が...。もう少し小規模なところで、密な会議から始めても良かったかもしれない。が、いろんな話が出来て良かった。次の一手は何かな。

_19(Fri)

ビット列の操作が苦手なのだけれど、 ビット列の範囲を操作するコードにバグが入りまくりで困っている。 ビット列の範囲が、ワードを超えているのがしんどい。


用事で久々に六本木に来たけど、さっぱり何もついでの用事が思いつかない。 ここで1年ちょっと働いていたはずなのだが。


ついうっかり、FF9 for iOS をダウンロードしてみたが、第三世代 iPad では、とても遅い。推奨環境に入っていないから、しょうがないのだけれど。

このために、新しい iPad を買うのはどうなんだろうか。 iPad Air2 は、軽くてとても良さそうだよな。64GB で 6.5 万円か...。2014 年発売、ということは、そろそろ新しい機種も出てくるだろうか。

お金があれば、こういうの悩まないでいいと思うんだけど。うぐぐ。

_18(Thu)

近所の某大学でモーニングコンサートというのがやっているので、朝早くから仕事をして、昼休みを前倒しにして行ってきた。のだが、いつもは結構空いているのだが、今回は偉いならんでいて、「当日チケットの人は、今から並んでも入れませんよ〜」と係の方が仰るので断念。列に並んでいた人の話が、有名な人がやるから、みたいなことを言っていた。コンサートファンの方は、よく調べているなぁ。


鶯谷で昼ラーメン。


某企業さんから、Ruby 開発のためにサービスを提供してくださる、とのこと。その代わりに、RubyKaigi なんかでアピールして欲しい、とか、そういうご相談。

Ruby 開発している人は、全部手弁当なので、こういうご相談を喜びます。


ふるさと納税を調子にのってやっていたら、日本酒が飲みきれないくらい来ている。

_17(Wed)

先日書いた学会誌への反響が面白い。

Vol.56 No.12へのご意見

■今月の会誌は全部読んだが,Rubyに興味が持てなかったので「読まなかった」にチェックした.今月号はRubyの宣伝がひどすぎて共感を持てなかった.私は2007年9月から11月末まで中国西安市のオフショア開発企業に派遣されたことがあり,そこは日本企業の仕様書に従ってソフトを作成していたが,仕様書は全部Visual Basicで記述されていた.オブジェクト指向ではRubyよりVisual Basicの方が優れていると思う.当時はWebはなかった.Ruby on RailsのおかげでRubyが脚光を浴びただけでは?(匿名希望)

仕様書を VB で、というのは、そういう業界があるんだろうか。

「Ruby on RailsのおかげでRubyが脚光を浴びただけでは?」これは、ある意味でそう思う。

もっと Ruby そのものの話が欲しかったね、という意見については、反省するところがある。もちろん、Ruby の紹介をする特集ではないが、知らない人へのポインタをきちんと説明するべきであった。

ちなみに、座談会「11.Rubyの20年,Rubyのこれから」ですが、2.5時間の100ページの原稿を、あの形にまとめるのが大変でした。

_16(Tue)

Ruby 開発会議。 そのあと、浅草の新年会。

_15(Mon)

もう、何も覚えていない(3/2 現在)。

_14(Sun)

近所を散歩。墓地の中を地図を持って散策。有名人捜し。

_13(Sat)

若い女の子(7ヶ月)に遊んで貰った。

_12(Fri)

丸の内でチョコレートを買っている人を眺めていた。

トプカプ 丸の内店 - 日比谷/トルコ料理 [食べログ]で夕飯。ケバブにヨーグルトついてこないんですか? って言ったらつけてくれた。ギリシャ風ですね、と言われたのだが、そうだったのか...。

_11(Thu)

初めて行った中華屋さんで牡蠣と茄子の炒め物。美味しかった。

_10(Wed)

a = b = 0
N = 10_000
2.times.map{
  Thread.new{
    N.times{
      a += 1
      b += a
    }
  }
}.map(&:join)

p [a, b]

こういうコードを、

  1. 弾くようにするにはどうすればいいか?
  2. 適切に(どう適切にするかは各自定義)動くようにするにはどうすればよいか?

_9(Tue)

mmap/madvise のことをぐぐってたら、昔の日記 http://www.atdot.net/~ko1/diary/200908.html#d22 が出てきた。凄い、便利。

7年たって、同じことをしようとしているという。


この時の記録によると、MADV_DONTNEED が、対象ページを 0 clear するかは、OS に依存する、ということだった(FreeBSD 7.1 では 0 clear しなかったらしい)。

MADV_FREE を Linux に入れるって話、ちょうど https://lkml.org/lkml/2016/2/6/76 二日前の投稿がひっかかった(google 凄い)。これを見ると、やはり 0 clear しない場合がある、ということのように見える。まぁ、free してもいいよ、と OS に伝えてあげるだけだから、そりゃそうだよね(実際のページ操作は、メモリが逼迫したらまとめて行なわれる、というのが趣旨なのだから)。

だけど、jemalloc では、https://github.com/jemalloc/jemalloc/blob/fed1f9f367bec652f20ea0ccac4b21560a3b4089/src/pages.c#L153 のあたりを見ると、0 clear を前提としているような感じ。いいのかな? ああ、単に MADV_FREE を使うってだけか。

しかし、どこで定義してんのかな。

https://github.com/jemalloc/jemalloc/blob/dev/configure.ac configure でそのまんま定義してた。Linux でも、MADV_FREE が使えるなら使った方がいいと思うんだけどな。これからかな。

http://www.atmarkit.co.jp/ait/articles/1601/27/news119.html 4.5 から使えるらしい。4.5 って凄い未来感があるな。https://ja.wikipedia.org/wiki/Ubuntu の最新も 4.3 だから、当分先かな。


寄り道してしまったが、Windows でこの辺(MADV_FREE)をやりたかったのだった。どうすればいいか。多分、VirtualAlloc(MEM_RESET) でいいと思うのだけど、解放までしてくれるかどうかがよくわからない。うーん、雰囲気を見ると、なんかそれでいけそうだな。jemalloc も、そうやってるし...。


また福岡。Ruby・コンテンツフォーラムFUKUOKA2016 に出席。受賞者の皆様、おめでとうございます。

_8(Mon)

喉が痛い。

_7(Sun)

日記書きづらいのでなんとかしたい。 もう、10年以上前に書いた cgi なんだよな。

_6(Sat)

同じく駄目な日。

そういえば、日曜日からずっと、魚を食べ続けることが出来た。 続けたいけど、魚高いんだyな。

_5(Fri)

本当に駄目な日。


お客さんが来て、鰹のたたき、豚しゃぶ、日本酒など。

_4(Thu)

福岡から東京に帰る前に何かしようかと思ったけど、結局博多駅で ごはん家 椒房庵 で昼飯食って帰ってきた。2000円のご飯。美味しかったけど、滅多に食えないよなこんなの。

_3(Wed)

ザックが日本にいるということで、松田さんと鳥井さんとで、朝からやっている蕎麦屋さんへ。

はんぺん蕎麦。田舎蕎麦太すぎた。はんぺん美味しかった。


節分だけど、今日は福岡県へ出張。 https://ezukatechnight.doorkeeper.jp/events/37002 で話すというお仕事。

_2(Tue)

Python を速くする取り組み

とてもわかりやすい。


久々に asakusa.rb に行った。 色々話を聞くだけで、仕事は進まず。

_1(Mon)

御徒町に行く用事があるので、吉池の鮮魚コーナーに初めて行ったのだけど、凄い広いですね。地下も含めて。値段はそんな安くなかったけど。

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