Thursday 29 November 2018

そろそろ11月も終わり

今月は無謀に予定を詰め込みすぎていて、疲れ果てていたような気が.. いや、

  飲み疲れていたような

気もします。まぁ、でも一段落。といっても、これからが卒論修論の本番ですけど。そういえば、

  12月のB3の研究室配属後にカレーパーティー

がいつものようにあるはずです。学生は「また、二回やるんですか」とか言ってますが、年二回くらいはやりたいとは思ってます。

12/8 がJava Küche Day ですね。

https://java-kuche.doorkeeper.jp/events/82737

1月のプロシンには顔出す予定です。

3月は、また、東京で Ingress Anomaly か。行きたいような気がする〜

Wednesday 28 November 2018

量子計算機

なんか、一年生が「量子計算機について聞きたい」とかで研究室に。いや、まぁ、数学物理興味あるし、一応、理学部卒ではあるんだけど。

 「ふーん、量子計算機やりたいの?」

まぁ、まだ、一年生だからな〜 いろいろ調べてみれば。今年の一年生は、妙にアクティブで、いろんなイベントに参加したりしているので面白いです。

この前、産総研のアナログイジングマシンとか見せてもらったしな。自分の知ってる範囲で説明しはしましたが、手元に教科書があるわけでもないので、若干、away 感。

量子計算機は実現できたことは素晴らしいけど、今の計算機に勝つのはまだまだ難しいかも。でも、

 なんか、ブレークスルーあるかも知れないし

みたいな空想科学的な話もしました。取りあえず、

  微積と線形代数必須だから、そっち勉強してね
  量子力学はちゃんと計算問題解いてね

ですね。いや、C環とか特殊関数とかリー群とか回転群とかその先もいろいろあったりするが... 確か理学部でやってる先生がいたような〜

Tuesday 27 November 2018

OSの課題

WordPress のサーバ内での 具体的なAPIを図示しろっていう課題を出しているんですが、

  Web serverとかApplication serverとかDiskとかの構成図

を書いて「ここを結ぶ矢印に具体的なAPIが対応するので、それを示すDocumetのURLを示す」だけなんですけどね。

僕が板書した図を写してくるだけ。おいおい。

  具体的なAPI

ってのがわからないってのは面白い。ls を opendir で実装とかその後でもやってるのだけど、それと関係あるとかは思わないものなんだろうな。

Linux の Kernel source は今回もいろいろ変わっていて、

  Kernel やってる人はファイルを移動するのが好き

なみたいです。Intel64とi386でシステムコールの表の番号が違うとか頭おかしいんじゃないのかな。結局、write は 4番らしいんですけど。

でも、去年作った Kernel debug 用のansible script はちゃんと動いているようです。うれしい。

Monday 26 November 2018

Red Zone

Perl6のMoarVMと格闘しているわけですが、微妙に動かなくて。

_cbc_next:
LFB0:
pushq %rbp
LCFI0:
movq %rsp, %rbp
LCFI1:
movq %rdi, -24(%rbp)
movq -24(%rbp), %rax
movq 8(%rax), %rax

stack の上をアクセスしてるのでこれかと思ったんですが、調べていくと...

frame->stack_pointer_offset -= frame->red_zone_size;

がだめだったらしいんですが、red zone ってなんだよ。

The 128-byte area beyond the location pointed to by %rsp is
considered to be reserved and shall not be modified by signal
or interrupt handlers. Therefore, functions may use this area
for temporary data that is not needed across function calls.

え〜 というわけで、どうも、stack の上の領域は 128 byte までアクセスして良いらしい。

-mno-red-zone

を gcc に付ければ禁止されるらしい。 つまり、バグはここではないらしいです。

どうも、ほとんど動いていて、学生は GC 関連なんじゃないかとか言ってるんですが、まぁ、そういう可能性も。



-

Sunday 25 November 2018

GHC 読み会

土曜日の休みをはさんで、また朝から。

  type.hs と typecheck.hs

ここで型推論、つまり、Unificationしてるわけですが...

  occur check 大変だから、近似で

とか書いてある。つまり、ループチェックとかはしないみたい。結構、たくさんコメントがあって、

  sound とか complete

とかいろいろ言い訳が。Functor a => とか型 class とかもあって、type family とか大変らしいです。

午後は、コード生成読むか〜 で、

  compiler/nativeGen/X86/CodeGen.hs

なんですが、ここにはどうも、

  Cmm Procedure / Data からのコード生成

しか書いてないらしい。Cmm ってなんだ?

compiler/cmm

を見ると、

CmmLex.x CmmParse.y

え? まさか、C minus minus ? なるほどね。どうも、C minus minus (Cの下位言語で正確な型を持つもの)を中間形式として使っていうらしいです。

生成されるコードは、

  case 文に来る変数が値があるかどうかをチェックして、なければclosueを返す
  あれば下位3bitで分類して分岐
  必要なデータ構造をallocateして
  次の関数に飛ぶか
  GC関連の部分に戻る

みたいな感じで生成されるみたい。Stg から Cmm の生成部分を読むとだいたいつながるみたい。

今回もコンパイラを誰もbuildできなくて、実際のコンパイラのトレースできなかったのはちょっと残念だったかな。

まぁ、また、トライすればいいか。

Saturday 24 November 2018

琉大情報工学科一期生20周年

昨日ですけどね。10周年も2008/11/24にやっているらしいです。が、blog には書かなかったらしい。書かないとダメじゃん。

理論的には、以降の学年が10/20周年を毎年やるみたいになるはずですが、そんなことにはならず。つまり、こんなことをしているのは、

  一期生だけ

らしいです。僕は彼らが3年次の時から琉大に来たはずなので「僕のOSの授業は受けてない」世代ですね。一期生は試行錯誤いろいろくらってるからなぁ。

2008年にはIXY 10を使っていたらしい。今回はデジカメは持参せず。

いつものように「大学で何を教えたらいい?」と聞きましたが「質問できるような人にして欲しい」おお、なるほどね。良い視点だな。

忙しい年齢だし、ほとんどは本土で活躍していたり。沖縄にいる人は運良くそういう仕事の人だけだな。このためにわざわざ沖縄に来るかと言うとどうかな。

来てくれた人たちどうもありがとう…

Friday 23 November 2018

GHC 読み会

結局、コンパイラのソースをガンガン読んでく感じに。

ghc/compiler/parser/Parser.x
ghc/compiler/parser/Lexer.k

かな? Happy と Alex のパーサ生成器と字句解析器ですね。

だいたい、

 data を定義して、それが実装する型classのmethodを書いていく
 それを使って関数を書いていく

感じ。さすがに Monad も慣れて

hoge a : x -> y -> Huga a

とか書いてあったら Huga って Monad だから

hoge a x y = do {
z <- ...
y <- ...
; ...
return H z
}

みたいに do 文で書かれるってわけですね。

main の下に HscMain ってのがあり、そこで compiler の要素を順々に呼ぶようです。

deSugar して Core に変換して、それから最適化して、LLVMなりにコンパイルすると。

続きは、日曜日です。

Thursday 22 November 2018

コタ

うちの猫ですが小太郎らしいんですが由来は知らないです。そこそこ良いお年なんだが12kgもあったらしいけど、最近は7kg。

まぁ、カリの晩年そこそこ大変だったから、コタのストレスもそこそこあったんだろうな。

なんか糖尿気味らしく、糖尿対策ようのカリカリにしたら結構気に入ったらしく。前のダイエット用のは猫跨ぎしてたからな。

相変わらず踏まれるのは好きなようです。

Wednesday 21 November 2018

Haskellコンパイラ読み会

いつもの授業のコンパイラ読み会です。 今回は11/23-25で。と思ったんですが、土曜日をLTに当てられしまったので土曜日はお休みです。お題は

  Haskell (とAgda)

です。前回敗れ去った時(2014/12)に読んだスライドは復習しました。

http://www.scs.stanford.edu/11au-cs240h/notes/ghc-slides.html

それによると、

  Syntax suger などを除いて Haskell Core に変換される
  let で変数を通して項が共有される
  allocate は let、reduction は case で実行される
  primitive type は eager に実行される

ということですね。

Haskell は debugger よりは tracer を使うらしいので、今回はそういう方針です。

金曜日(休日)と日曜日の10時から18時(お昼休みあり)に、工学部1号館321教室でやってます。

前回も、それなりに頑張ってはいたみたいだな。

  http://www.cr.ie.u-ryukyu.ac.jp/~game/pukiwiki/index.php?ghc

Tuesday 20 November 2018

若おかみ

東京から戻る飛行機が午後だったのですが、

  東武練馬で9:40から

ってのがあったので観てきました。

世の中には馬鹿ばっかり出てくる話と馬鹿があまり出てこない話とあるわけですが、後者のタイプ。

現実の世の中はどうかなぁ。

ピンフリ頑張りすぎ。小学生っぽく、もっと力抜いていこうぜ。

泣かせ方があざといかな。未来のミライの方が身近な感じ。

https://www.waka-okami.jp/movie/

Monday 19 November 2018

オトメ

根津、言問通りの中華です。院生時代からお世話になってます。2006年にも一回寄ってるらしい。

今回はJPHACKSを抜け出してお昼に寄ってきました。メニューは、いつもの

  五目焼きそば

ほぼ同じ構成だな。

大学院時代よりも味が落ちてがっかり的な時期もあったんですが、

  まぁ、こんなもんじゃないか?

割と流行ってるみたい。

ちなみに、東大よりにあるもう一件のラーメン屋さんも生き残ってるみたい。そっちは何故か

  タンメン+小チャーハン

を愛用してました。そんなことするから博士でデブったのだが。それとVIPチョコを牛乳にとかした奴ね。

あの頃は楽しかったな。

Sunday 18 November 2018

JPHACKS 2018

この前あった沖縄のJPHACKSの全国大会ですね。東大浅野地区の武田ビルなので、昔懐かしい感じ。

うちの学生たちがポスター持ってきてないとかいうので「しょうがないなぁ」という感じで、そのビルの藤田先生に頼んでプロジェクタを借りてきました。藤田先生、ありがとうございました。

2日間のHackの続きみたいな感じなわけですが、そこそこ形にしてきてくれてました。いや、別に

  大人にへつらう必要ないし

と思うけど。好きなもの作ってくれれれば。実際にサービスや商品に持ってくにはさらに長い道が。

プレゼンも最近の学生はセンス良く仕上げてくれてます。会場のネット環境はまあダメだよ。何組かはやられてましたが、動画のデモが安牌かな。

プレゼンよりも後で聞いた話の方が興味深い。あのドーム型はベビーカーの部品だとか。shell の予測入力的なツールは Electron で書かれていて、VS Code もElectron で書かれているとか。いろいろ楽しかったです。

竹内先生にも会えましたが、まぁ、伊東でも会いますし。

1位にならないと意味がないとかは文系の世界の話で、この手のものは審査員による評価とか順位付けとかは関係ないな。それは

* 市場が決める

ってのがIT系っぽいと思います。

https://2018.jphacks.com/information/jphacks-award-finalists/

Saturday 17 November 2018

言語処理系勉強会

発表してきました。CbCの話とAgda で Automatonを記述するいつもの話。なんか発表する人が足りない的な話だったので、
ちょうど東京にいるから。

なんか、CbC が検索に引っかからない的な話が。いや、githubかbitbucketかどっちかに上げた気がするんだが...

COBOLの話とかもあったんですが、

  発表の後の雑談の方が面白い説〜

割とプロシンと重なってない感じが面白かったかも。プロシンの宣伝もするべきだったか。

https://connpass.com/event/104863/

Friday 16 November 2018

Cluster Storage

どうしようかなあってところなわけですが... でOISTのVDIのところで見せてもらった

* Pure Storage (渋谷セルリアンタワー)
* Datrium (都立大学駅ノックス)

を見せてもらいました。

Pure StorageはFPGA acceratedなSAN nodeで、今までのSANの先に置けるので簡単な感じ。現状維持的で良い。
ライセンスが upgrade 込みみたいなのがあるのが売りみたいです。値段も妥当。

Datrium の方はHCI寄りで「SANではなくLAN上にソフトウェアでストレージを構築する」というので、

* わかりづらい

です。ハード的には

* サーバ上のSSDと、バックアップ的に使うNAS

なので、 安そうだと思ったんだけど定価は結構高い.. むぅ。

Datrium はCent OS/KVMでも動くらしい。独自のNFS server/clientを*ローカル*に建てて、そこに接続する方式。
ls で見えるので安心。でも、

* 分散ファイルシステムとして安定してるの?
* KVMのmigrationでの待ち合わせはどうするの?

の辺りがなぁ。データノードへの書き込みを待たないのが特徴らしく、サーバノード間での通信もあるらしく...

* 割と闇

ま、ちゃんと動いているなら文句ないんですけどね。あと、やっぱりCPUは結構食うらしい。最近はサーバ強力だから気にしない的な。

いっそ、

* ZFS cluster (RSF-1?)

で組んじゃうのが良いのかなぁ。

Thursday 15 November 2018

東大見学

情報基盤センタを見せてもらいました。琉大とは大学の規模が違うわけですが、

  まぁ、基本は同じ

ということで。iMac が並んでいるのがかっこいい。ネットは駒場から一旦本郷にいって、そこからIDSなどを経由してSINETにでるそうです。

IDSは snort と同じことしかしてくれないのに高いってのが持論なんだけど。

うちは学生にMBP買わせちゃってるので、もうデスクトップは入れないですけどね。

発電機はうらやましいと思いました。

まぁでも、こっちも中山雅也先生とか田中哲朗先生とかだったので、同窓会みたいな感じでもありました。

安藤さんありがとうございました。WAF入れた方がいいとかは考えておきます。

(しかし、ここ数日のイベントが全部朝からなので、疲れが溜まってるな...)

Tuesday 13 November 2018

ボヘンミアンラプソディー

観てきました。世代的にはどストライクなので、まぁ、観に行くでしょう。

批評家たちは酷評だったらしいけど、世代がピンポイントだからそんなもの。自分たちの世代の記録映画みたいなものだから。

フレディーはあんまり似てない。でも、ブライアンがくりそつ。

  Queen のコンサートは3rdが出た直後の武道館一回だけ

です。あー、良かったです。当時いろいろ聞いたクイーンの話とは少しずつ食い違うけど、それもいいかな。

北谷は爆音上映らしい。

91年のイギリスから戻る時がフレディの追悼コンサートの日で、飛行機の中でラジオで少し聞けました。

Innuendo がすごく良いアルバムだったのだが、歌詞の内容がなとか思っていて、あれだったのでショックだったな。

あの年はアシモフもなくなった。ミンスキーがネットニュースに追悼文を投げる、そんな年でした。

Monday 12 November 2018

アニーリングマシン

産総研-理研 第4回 量子技術イノベーションコアWorkshop
https://unit.aist.go.jp/rpd-eleman/rp-eleman/aist-riken_ws/place.html

どうも量子計算なはずだったけど、ネタ切れで物性系が大半にみたいな感じらしいです。

物性系は果てないからな〜 久しぶりに電子雲とかバンドとかそんな話を聞きました。

で、院の同窓生だった小池さんに見せてもらったのが

  CMOS論理回路とOPアンプで構成した2次元イジングマシン

マルチバイブレーターのメタステーブルを臨界状態に使った相転移マシンでアニーリングをやってるそうです。

将来的にはジョセフソン素子でやろうとか三次元でやろうとかあるらしいんですが、

  このマシンは市販のCMOSゲートとオペアンプ

なので極めて秋葉原っぽい〜 「遅いからLEDの点滅が見えるのでデモに向いている」確かに〜

アニーンリング部分はどうなってるのと聞いたら、そこは既にいろいろ研究されたものがあるんだってさ。

相転移した先が局所的最小な場合があるので、何回かやりなおす必要があるらしい。量子計算っぽい。

Sunday 11 November 2018

高校の同窓会

まめに準備してくれる人たちには頭が下がります。ドキュメンタリー映画を作ってきてくれた人も。良いできたった。

うちの世代はネットはぎりぎり上限ぐらいなんですが、MLでだいたい動いているみたいだけど、

  僕が送ったメールは届いてない

らしい。そういえば、Base64なしの直接UTF8で送りつけているので、Outlook とかでは読めないことがあるのだった。

Facebook に移行しているから困らないんですが全員ではないらしい。「友達申請がやまほどくるので怖くなってやめた」あ、そうですか。

来れなかった人、来なかった人にも思いをはせて、割とすぐに抜けてきました。最近は院長さまが多いみたい。そういう学校だったからなぁ。

当時の担任の先生も何人か来てくれて90歳の丈夫さを見れて素晴らしかったです。

男子校だから女性がいないのはしかたない。

Friday 9 November 2018

発掘話

東京は仕事もあるんですが、同窓会があるので、

  運動会の記録映画をなんとかしようかと。

なぜか紫組のが手元にある。音はないんですけどね。なにせ音無し8mm filmの時代のだから。いや、音あったはずなんだけどな〜

自分の橙組のはVHSのとか、Video CDにしたのとかあるんですが、もう少しましにできないのか? というわけで、かなり昔に、

  DV と DAT に記録して、さらにBD-REに落としたもの

ってのがあります。なのだが、

  音と絵は別

しかも、DVに落とす時に少し編集かけたらしく、音があってない。そういえば、

  もう少し歳取ったら iMovie で編集しよう

とか思っていたような... まぁ、十分に歳取ったからなぁ。というわけで、

  BD-REからm2tsとwavを発掘

そして、iMovie で編集してみました。昔の作業に比べる楽なんだけど、

  少し音声部分のデータた足りんな

適当に入れてごまかすか。ついでに、

  NGシーンが1時間分くらいあるみたい

なので、同窓会のお土産ぐらいにはなるはずです。本編の方はレコードの音入れちゃったのでだめなんだけど、音のない紫のとNGシーンのは、Youtubeに上げる予定です。

本編は著作権処理があるのか。面倒だけどなんとかなると思います。

iMovie に取り込む時に、動画と音声は細かく切り刻んでおかないとだめぽいな。まぁ、でも手抜きな感じで。

Thursday 8 November 2018

GCC debug 中

今までの Test プログラムは通ってるんだけど、新しいことをやると通らない... まぁ、良くある話なんですけどね。

間接 goto の間接の部分が複雑なだけなんだけど、

  stack pointer よりも小さいアドレスに局所変数が取られてる...

だいた動くが、たまに落ちる。singal とかかな。最適化かればなくなるはずなんだけど。いや、

  思い当たる所がありありです

が、今日はコード生成部分を調べてしまったので的外れだったみたい。

LLVM側も同じ感じなようなので、GCCが終わったらLLVMだな。毎年恒例ですね。

Wednesday 7 November 2018

Ingress Prime

βでもなんでもなかったので、ちょっとだけ様子見。この手のものは

  改良で良くなることはない

わけですが、Ingress も、まぁ、そんなもので。でも、

  運転しながらやられないようにした説

まぁ、そうかな。最初は「鍵が取れない〜」とかやってたんですが、

  グリフハックから、いつもの通り More できる

というのがわかったので、それは乗り切りました。が、まぁ、いろいろできが...

  Item が捨てづらい。捨てたあと一つの上のメニューに戻れ。
  メッセージが今見てるポータルの真上に。じゃまなんだよ。
  ポータルが近いとアイテム拾えない病が再発。

しかし、致命的なのが、

  リンクが遅い。CFができたのが文字だけで画面から確認できない。

いや、CFとかリンクって失敗することがあるかなぁ。通りすがりに作るのは難しくなったかも。まぁ、わざとだろうな。

この手の「見えないものを操作する感覚」は、想像力でplayしてるので余計なアニメーションとかはあまりインパクトないかも。

眼鏡でみたいかなとは思うんですけどね。でも、

  画面に常に所持アイテム数(いっぱいかどうか)が表示される
  画面を Intel map に近くできる

のはうれしいかも。Intel map と言っても狭いんですけどね。

Monday 5 November 2018

バスのタイミングの良い日

今日は那覇の松山公園で補給してから大学へ。県庁北口で目の前で98番に行かれてしまったんですが、

  まぁ、ゆいレールで追いつく可能性がほのかに

で、ゆいレールで古島までいったんですが、もちろん、間に合わず。しかし、

  やんばる急行バスが!

こいつは琉大前に停まるので、結局、置いてかれたバスよりも早く着きました。

帰りも8:25を乗り過ごしたんですが、

  中商業までタクルか

で中商業のバス停に来たら、うちの前に来る奴がすぐ来て良かったです。

Sunday 4 November 2018

parallel debug

自分で改造した MoarVM と元のMoarVMが同じように動くようにすれば良いわけですが、まぁ、いろいろバグる。

なので、実行したbyte codeの番号を gdb で表示するようにして、perl script 比較!

なんですが、最初に書いたのは「いいや、それぞれ配列に全部読み込んで...」とかやっていたんですが、

今度のテストプログラムは log が22万行になるらしく。じゃぁ、順々に読まないとダメだね〜

  while( $line !~ /= (\d+)/) { $line = <$fh>; }

とか書くわけですが、これだと抜ける時に not equal なので match が取れない。あぁ、まぁ、そうだよね。

じゃぁ、do while! いや、それ Perl にないし。じゃぁ、loop いや、そういう使い方じゃなくて...

結局、

  while( ! ($line =~ /= (\d+)/)) { $line = <$fh>; }

あぁ、疲れた〜

ちなみに違いは最初の20行目でした。そんなもん。

まだバグは取れてないみたい。がんばれ〜

Saturday 3 November 2018

Moar VM

Perl6 のRakudo実装の独自バイトコードマシンです。

CbCの例題としていじってるんですけどね。CbCは自前のコンパイラなので、そっちの方との相性が... しかも、

  macOSのMojaveにするとGCCがコンパイルできなくなるという問題があるらしく...

でも、取りあえず簡単な例題は動いたらしい。test もほとんどが通っているんですが、

  self build できない

まぁ、結構、大きいからなぁ。このレベルになると debug 結構大変。

gcc で生成したコードはlldbではソースコードデバッグできないとか。

最初の一歩という感じです。でも、担当しているB4は、そういうことがやりたかったのだと思うので、良いんじゃないかな。

Friday 2 November 2018

AWSなミーティング

次期システムな話ですね。今は、サクラインターネット使っているわけなんですが...

  GPUとか毎年アップデートするとかできないからクラウドが良いんじゃないの?

ってはあるかな。で、AWSの人に来てもらっていろいろ話を聞きました。が、

  AWS educate

ってのあるので、それで「だいたい無料(年$100分)ですむ」みたいな話が... でも、それだと

  次期システムに仕様で入れる意味がない

それで良いんですか? 大学事務全体をクラウドにするとか、そういう話と違うからな〜

取りあえず申し込んでみたんですが、Login できない...

  先生、申し込んだ後、審査があります

なんか勝手に作った大学名で申し込むとかがあるらしく。なるほど。さらに、

  SITNETとAWSを直結する方法がある

だけど、BGPを設定する必要があるらしい。それも

  別にお金がかかるわけではない

ので、おそらくうちの総情センタにpingして学情に頼んで設定とか、そんな感じらしいです。

と言うわけなので、いろいろ教えてもらって良かったです。が、そのAWS educateとSINETの話が進むのにはどれくらいかかるんだろう?

たぶん、

  さくらの方もなんか面白い話があるんじゃないかな〜

なのでさくらの社長を沖縄に呼び出すといいことあるんじゃないかなと考えてます。

Thursday 1 November 2018

11月の予定

11/10-19 東京の予定です。高校の同窓会とか、システム更新関係の打合せとか。

システム更新で参考になる大学どっかないかな〜

11/23 情報工学科一期生同窓会 これは沖縄

11/23-25 コンパイラ読み会 今回は Haskell と Agda です。321教室取らないと。

参加自由です。ネット配信するかどうかは...