Thursday, 19 January 2017

JavaFX Gantt Chart

なんか、そういうの学生に課題で出したんですが、自分でやってみようかなと。Java FXのexampleを見れば簡単なはずなんですが...

BarChart

というのはある。あるんだけど、Year は理解できるのだが、Series? どうも、Series に年毎のデータを入れると棒グラフにしてくれるらしい。

なんですが、もっと自由にデータを入れたいんだけど。しばらく、いじって、どうにもできそうにないので、ググったら、

  既に Bubble Chart から Gantt Chart を作った人がいた
http://stackoverflow.com/questions/27975898/gantt-chart-from-scratch

おお。それを使うか。なんですが、

cpu が逆順にならんでしまう

え、なんで。逆順にadd()すれば良いんだろうと思ったが、それでも順序は変わらない。

調べてみると、

XYChart.Series という FXCollections は ObservableListで、それは SortedList

え? 任意の順序にデータを入れられないのか。そういうモデルに制約を入れるようなことされちゃうと汎用性がなくなるんだけど。しかも、どのタイミングで sort されるのかがわからない。setData() しても、あとで順序を変えられてしまう... ひどい。

結局、Series に入れるデータの名前で sort されているみたいなので、それを適当に決めてやれば良いらしい。それと Y軸に表示されるラベルとは*関係ない*。え、そうなの。まぁ、いいか、表示できたから。

ssh://yomitan.ie.u-ryukyu.ac.jp//net/home/hg/teacher/kono/os/OSQueue

というわけで、Java FXの XYChart は割とクソでした。Tk だと、この辺は極めて自由で、表示したグラフをマウスで操作するとかも簡単なんですけどね。sort されてる状況だと任意に動かすのは無理だな。

あと、どうも、Java 1.2とかの時代って「とりあえずObject型で扱って、instanceOf で切り分ける」みたいなプログラミングだったのだけど、Java FXは、それを引き継いでるみたいだな。そういうのどうなの?

Tuesday, 17 January 2017

Photos.app

なんか、また、DB変えたのか... と思ったら、

Database/apdb/Library.apdb

ってのが、

database/photos.db

ってのに名前が変わっただけらしい。いや、なんか細かく変わっているみたい。編集を加えた場合の扱いとかくそだったからなぁ。でも、まぁ、いい少しぐらい間違っててもいいや。

これだけなら、まぁ、まだいいんだけど、

Photos.app を終了しても、sqlite3 の lock がかかったまま

え、なんだそれ。なんかの daemon が握っているのか。前はさすがに、app を終了すれば lock は外れていたんですが。

といっても、その .db 自体をコピーしてしまえば、sqlite3 で開けることはできるし、そうしていたので、あまり影響はないらしい。

検索したりするのは Google Photos にしてしまったので、Photos は local な保存用という感じですね。

いや、もちろん、iCloud の値段が劇的に下がるなら、iCloud base にしても良いんですが。

50 GB:¥130
200 GB:¥400
1 TB:¥1300
2 TB:¥2500

月額じゃなくて年額で、それなら考えても良いかな。

Monday, 16 January 2017

センター試験

なんか、いきなりマークシートを解いた問題から塗っていく人が大半。ということは、そういう指導がされているってことか。もっと見直せとは思いますけど。センター試験は満点を目指す試験だから...

国語は先祖返りみたいな古くさい問題。科学文明を論理もなく批判する大衆という一元的なとらえ方ってどうなのという文章。理系を目指している学生は読んでうんざりだったろうな。漢文にレ点を打たせるとか、まだやってるのか。漢詩は日本語的な文脈ではなくて、四声とか中国語の文法とかと一緒に教えるべきものなんじゃないのかなぁ。私小説的な随筆とか、ほんわか系の古文とかも、

大学に来る学生は論理的な文章の理解と作成ができて欲しい

という要求からはかけ離れていてがっかりでした。作家を目指しているわけじゃないんだからさぁ...

英語と数学は量は多いんだけど、ちょっと易しすぎるんじゃないかなあ。

ラノベレベルの英語ではなく大学の1年次は英語の教科書で勉強する準備ができている

とか、

因数分解とか三角関数の加法定理の技術ではなく、微積分と線形代数の重要性を理解している

とかではないのかな。 スキージャンプの分布図から情報を読み取る問題とかは良かった。

物理は、

静的な力の釣り合いばかりで、エネルギーや運動量保存が出てこない

それだと解析力学に繋がらないんですが... いやエネルギーの単位を問う問題とかあったな。なんだそれ。

というわけなので、とってもずれを感じました。まぁ、センター試験だから難しいのはダメってことなんだろうけど...

Wednesday, 11 January 2017

英語で授業

なんか、そんなのがあるらしくて。授業一コマだけですが、やってきました。まぁ、そもそも留学生向けの大学院の授業とかもあるので、大学院だと英語の授業は普通。でも、

日本人が日本人に英語で授業して面白いのか?

まぁ、なんか練習にはなるか。英語の質疑応答とかをもっと入れればよかったかも。

もっとも、自分の学部時代に歴史が嫌いな奴なのにユダヤ文学とか超つまらないのを読まされてつらかったので、そういうのよりは良いかも。ラバイがどうとかどうでもいいです...

学部時代から博士にいこうと思っていたし、博士論文は英語で書くものと思っていたので(実は東大でも日本語の工学博士論文はありだったのだが)、英語は結構勉強しました。

SFのペーパーバック。最初は短編集から。ルグィンとかは文学よリで難しすぎる。クラークとかハインラインとかアシモフとか。挫折したものも。ベアのQueen of Anglesだな。邦訳も読みましたが、まぁ、難しい。邦訳が出てないシリーズものとかを読めるのはうれしい。BaxterのManifold trilogyとか。

W.V.O.Quine の From a Logical Point of View 。吉田夏彦先生のところで読みました。論文集というかエッセイ集というかそんなもの。これ、邦訳もあるのだが、訳を読んでもさっぱりわからないというシロモノ。結構、苦労しながら読んだ記憶が。でも、卒業する頃にはするする読めるように。そんなものだよね。吉田先生に「なんだ、君たち、こんなものもわからないのか」と言われたのが記憶に残ってます。

DiracのQuantum Mechanics。これも邦訳があるんですが、訳を読んでもさっぱりわからない。まぁ、数式も結構面倒くさいんですが、最初の方は割とやさしい。朝永振一郎の方も読んだのですが、ディラックの方がアプリオリに確率ベースの力学を導入するので僕にはわかりやすかった。英語で読んだ方が良い本ですね。

Z80のマニュアル。ザイログシンタックスのアセンブラのマニュアルですね。これは繰り返し読んだな。やさしい英語。あとで邦訳も出た。そういえばCP/M 80のBIOSマニュアルとかも英語だった。CP/MはOSが何か知らない頃に読んだので「BIOS呼び出せばなんでもできるから、他のものはいらない」とか思っていた感じが。そういえば、BASICで他社のCP/Mのファイルを読むプログラムとか書いていたような。

大学院に行ったら、元岡田中研はCACM/JACM/BYTEが全部研究室の図書室にあるという素晴らしい研究室で、日々、図書室に埋もれてました。なんだが、先輩の博士課程の学生に渡されたのは、StandfordのD論。これらが読みやすくて面白かった。

他にも Database とか Mathematical logicとか、まあ、大学院時代は英語の輪読を良くやりました。学部時代は日本語の本の読書会を良くやってたな。

大学にマンナ先生が来た時に英語で質問したら、同期の学生が英語はなせるんですねと少し驚いたのが、むしろ驚き。

英語の先生に講義してもらうのが英語の勉強になるんじゃないか?

やっぱり使う機会がないと。英語の本に慣れないとね。

Sunday, 8 January 2017

プロシン2日目

自分たちの発表は朝一。Jungle DBの話だけど、まあ、あんまり伝わってない感じ。いろいろ反省。

発表で図がでないという技を出してました。

プロジェクタにHDMIがない
ノートPCを入れ替えてファイルを転送
HTMLスライドが参照している図が絶対パス
図が全滅

という流れだったようです。あらまあ。

新屋が前回の発表でも賞をもらったので良かったです。卒業生が活躍するのは素晴らしい。

結論としては、温泉はすばらしい。

Saturday, 7 January 2017

Raspbian on QEMU and fuse-ext2

実機でのLLVM compileはlinkがメモリを要求するので256MBでは無理ならしい。なので、QEMU上でメモリ増やしてやればよいんじゃないかと。

qemu 自体は brew install qemu で簡単。で、raspberrypi のkernelとboot imageを取ってくればよい。

そのあとは、結局、

http://www.linux-mitterteich.de/fileadmin/datafile/papers/2013/qemu_raspiemu_lug_18_sep_2013.pdf

これがわかりやすいみたい。initの代わりに sh を指定して、いくつかファイルを修正して boot と。

結論から言うと、だめでした。Emergeny shell mode まではいくが、systemd の load module でこけてしまう。

さらに、

raspbian のメモリ256MBは hard coded で変えられない
https://bugs.launchpad.net/ubuntu/+source/rootstock/+bug/570588

らしい。つまり、この方向で LLVM をコンパイルすることはできないらしいです。

なので、残った方法はcross compile だな。

上の方法を試す前に、fuse で boot image を OS X で mount するってのもやりました。brew で fuse-ext2 はないので、自分で作る必要があるのだが、結構、複雑。

http://apple.stackexchange.com/questions/226981/how-do-i-install-fuse-ext2-to-use-with-osxfuse

ここかな。結論的には、

CFLAGS="-idirafter/usr/local/Cellar/e2fsprogs/1.42.13/include -idirafter/usr/local/include/osxfuse/" LDFLAGS="-L/usr/local/lib -L/usr/local/Cellar/e2fsp rogs/1.42.13/lib" ./configure --sbindir=/usr/local/sbin\n

で config できるみたいです。

fuse-ext2 -o force boot.img /mnt

すれば良いのかと思うとそうはいかなくて、いちど boot.img を DiskUtility で開けます。そうすると、vfat な boot partition が開きます。partitoin 2は、

% diskutil list
/dev/disk2 (disk image):
#: TYPE NAME SIZE IDENTIFIER
0: FDisk_partition_scheme +4.4 GB disk2
1: Windows_FAT_32 boot 66.1 MB disk2s1
2: Linux 4.3 GB disk2s2

ここにあるので、

# fuse-ext2 -o force /dev/disk2s2 /mnt

で mount できます。これで書き換え可能になります。SD card でも可能なはず。

ここまで、できたので、これを cross compileの環境に使えるはずだな。

Friday, 6 January 2017

プロシン58

今年も伊東の同じ場所です。そういう方が幹事さんが楽。宿の方も助かるし。

踊り子号に乗るつもりだったんですが、新宿ではなく横浜乗り換えだったのに、間違えて池袋で埼京線に乗ってしまって新宿で降ろされてしまいました。そこで、湘南ライナーに乗り換えられるはずだったんですが、降ろされたのが大宮行きのホームで、湘南ライナーの乗り場を探しているうちに乗り過ごしました。なので、こだま号で行く羽目に。

踊り子号は自販機では買えないっぽくて、熱海でも踊り子号の指定券を買う方法が良くわからない。どうも改札の外に出るとか書いてあるが、まぁ、いいかで、結局、熱海から普通で。

伊東は結構青いな。ingress的に。