OALD7をEPWING化

やはり串刺し検索したいのでEPWING化する。必要なものは以下の通り。

  1. 現時点でEPWING化できるのはOALD7が最新である。ブックオフで購入。
  2. fpwmakeできる環境。今回はUbuntuを使用した。
  3. Kazuhiro Ito さん作 oald7-fpw 変換スクリプト。ダウンロードしてホームディレクトリに解凍すれば良い。

必要なソフトウェアの導入

sudo apt-get install imagemagick freepwing perlmagick lame sox libcompress-raw-zlib-perl

データの準備

本家のページに書いてある通りにコピーすれば良い。より詳しくはこちらここも参考になる。

fpwmakeの実行

*.confなど一切変更しなくても良い。

fpwmake
fpwmake gaiji-table
fpwmake package
OALD7をEPWINGに変換中
OALD7をEPWINGに変換中
 

PandAで課題未提出の学生を0点にし、かつ提出した学生の採点をする方法

PandAの課題ツールには「提出した学生のみ採点する」という、かゆい所に手が届く機能がある。では、「提出した学生のみ採点し、未提出の学生は0点にする」にはどうするか?

  1. 一旦全学生の成績を「0」にする

    採点せずに「0」を全学生に割り当てる
    採点せずに「0」を全学生に割り当てる
  2. 各課題を採点する際に「Navigate between students with submissions only」のチェックをONにして(再)採点する。

    Navigate between students with submissions only にチェックを入れる
    Navigate between students with submissions only にチェックを入れる
  3. オフラインで採点したい場合は「すべてダウンロード」の成績ファイルを利用すれば良い。デフォルトで「提出した学生のみ」となっているので好都合である。

    「未提出の学生を含める」のチェックを入れなければ、提出した学生の関係ファイルがアーカイブされる
    「未提出の学生を含める」のチェックを入れなければ、提出した学生の関係ファイルがアーカイブされる
 

イタリア語辞書をEPWINGで

今さらEPWINGって感じだが、串刺し検索が魅力で使用している。10月からの生活に備え、イタリア語の辞書を作成した。

方法はここの通りであるが、元情報のここも有用である。

 

Windows10 Anniversary Update 「このPCにプロジェクション」を試す

私のクラスタでは Windows10 Anniversary Update で Ubuntu バイナリが動作するというニュースでもちきりであるが、個人的にはもっと重要な機能追加があった。それは「このPCにプロジェクション」つまり Miracast Reciever のネイティブサポートである。必要なものは Miracast をサポートしている Windows10 Anniversary Update が動作するPC2台以上で、手順は以下の通りである。

  1. 受信側のPCの「設定」、もしくは次の「接続」で「このPCにプロジェクション」を開く(検索すればよい)。もっとも緩い設定にして試すことにする。

    例によってここにたどりつくのは簡単ではないため設定から検索するとスムーズである。
    例によってここにたどりつくのは簡単ではないため設定から検索するとスムーズである。
  2. 送信側のPCで「接続」をクリックすると自動的に検索されるはずであるが、私の場合は「検索」ボタンを押さなければ受信側のPCを見つけられなかった。

    検索しなければならない時もあるが、通常のMiracast接続と特に変わらない。
    検索しなければならない時もあるが、通常のMiracast接続と特に変わらない。
  3. ハードウェアによっては、受信側のマウスとキーボード「も」使用できるようだ。

    ThinkPad 13 --> ThinkPad 10 では、両方のマウスとキーボードが使えたが逆はできなかった。
    ThinkPad 13 –> ThinkPad 10 では、両方のマウスとキーボードが使えたが逆はできなかった。

これでAndroid TabletによるMiracast受信は不要になる。「このPCにプロジェクション」が可能なPCを2台持っていれば、(ヒンジ付き)拡張ディスプレイが手に入るというメリットがあることになる。

 

KULASIS と PandA の名簿のソート順を一致させるには

そんなに難しいことではないが、毎年この時期になると「どうやったっけ」となるのでメモしておく(PandAは教務情報システムとの連携を行っていると言われているので、本来はもっとスムーズになって欲しいのが本音である)。

  1. KULASIS の学生名簿のソート順は学部学科、入学年度、学生番号であると思われる
  2. PandA の成績簿のソート順は学生氏名の昇順である
  3. KULASIS の学生氏名に空白が含まれる場合、その空白は全角である
  4. PandA の学生氏名に空白が含まれる場合、その空白は半角である

ことを踏まえ、以下の手順を踏む。

前提: PandA の「課題」「テスト」などがそれぞれ「成績簿アイテム」として追加されていること(採点が完了している必要はない)

  1. KULASIS から学生名簿をダウンロード(ブックAとする)
  2. ブックAに「ソート用」として新たな列を挿入し1,2,3,…の番号を入力する
  3. ブックAで「学生氏名」の昇順でソート

この時点で、PandA の成績簿からエクスポートされる学生成績一覧と同じ順でソートされていることが期待される

  1. PandA の「成績簿」から Excel エクスポートを実行(ブックBとする)
  2. ブックBの学生氏名の半角空白を全角空白に置換する(=SUBSTITUTE(A1,” “,” ”) などとすればよい)
  3. ブックBのデータ、学生氏名をブックAにコピー
  4. 念のため学生氏名でマッチするかチェック
  5. ブックAのソート順を元に戻す
 

スイスに一年間長期出張することになった

平成28年度 ジョン万プログラムOverC+ 研究者派遣プログラム採択され、10月からの一年間、スイスのルガーノに滞在することとなった。

申請から採択まで、中村センター長、喜多教授をはじめ多数の皆様にご尽力いただいたことに厚く御礼申し上げる。また、出張中には多くの方々にご迷惑をおかけすることになるが、何卒よろしくお取り計らい願いたい。

本ブログでは、採択までの経緯を「ジョン万への道」シリーズで、その後は渡航準備などについてお報せすることになるだろう。


他の記事に合わせ「だ」「である」体に変更したがなかなか難しい。

 

SSH Portforward でLANの中へ

PPTPがフィルタリングで使えない環境でもLANにアクセスするため:

  1. 対象ホストにSSHでアクセスできるようにする。本学の環境ではたとえば23456ポートにするとよい。
  2. フォワードサーバFを用意し、LAN内部の23456ポートをローカルの22222にローカルフォワードする
    ssh -L 22222:10.XXX.XXX.XXX:23456 サーバFのID@サーバFのホスト名
  3. あとはローカルの22222にアクセスすればよい

私の環境では対象ホストがQNAP NASである。sshdのポートを変更するには色々とゴチャゴチャしなければいけないという記事が散見されるが、プロセスを確認してみると、

[~] # ps aux | grep sshd
 4237 admin      3232 S   sshd: admin@pts/0                                         
 4269 admin       284 S   grep sshd 
23663 admin      1160 S   /usr/sbin/sshd -f /etc/config/ssh/sshd_config -p 22222

ということなので、NAS起動時に明示的にポートを指定しており、sshd_config を編集しても無駄のようだ。少々悩んだが Web インターフェースで設定できた。

 

ジョン万への道(完) 採択

京都大学概要、総長からのリコメンドレター、研究担当理事からの経費負担証明書。こんな立派なものをいただき恐縮している。
総長からのリコメンドレターと研究担当理事からの経費負担証明書。こんな立派なものをいただき恐縮している。

7月8日付で採択された旨のメールを7月11日に受信した。ひとまずはホッとした。ここまでをふりかえると、重要なことはただ一つで、「部局内締め切りを守る」ことに尽きる。私のように直接提出すればいいと甘く考えていると、突貫工事の申請書を提出し、完成度の低いその申請書をお忙しい先生方に(強制的に)読ませてしまい、申請書の書き直しという悪循環を招く。自分の時間だけなら良いが、事務方含め、かかわったすべての人達の時間を奪う結果となってしまった。全くもって腑甲斐無い限りである。

一方、申請を通じ良かったと感じたこともある。渡航先を国や地域ではなく、あくまで研究内容で選定したことである。在外研究を指向しはじめた当初は英語圏が良いと考えていたが、そういうフィルターは一旦外して受入先を探すことにして正解であった。

これで終わりではない。国際共同研究加速基金(国際共同研究強化)への申請や滞在に必要な手続き、引っ越しの準備など山積みである。もちろん9月いっぱいまでは通常の業務があるので準備に専念できたりはしない。

採択通知から数日後、総長からの推薦状と受入先へのギフトが送られてきた(本学の代表としてよろしくお願いしますという趣旨のことが書いてあり身が引き締まる思いがする)。これらはUSI到着後に直接手渡そうと思っていたのだが、あちらの学長は8月いっぱいで交代するかもしれないとのことで、急ぎEMSで送付することにした。

採択通知を受け取ったことまでで、一旦「ジョン万への道」シリーズとしてはサンセットとしたい。

 

教員と学生の垣根

D棟を学生食堂下から。このあたりに駐車し通学していたこともある。
D棟を学生食堂下から。このあたりに駐車したものだ。

6月23日に、母校である豊橋技術科学大学で特別講義を行ってきた。内容についてはこのエントリの本題ではないので省略するとして、学生気質について色々と思ったことがあるので書き連ねてみる。

自分が学生である時は感じなかったが、TUTの学生と教員の垣根は相対的に低い。講義中にも遠慮なく質問が来るし、きちんと反応がある。もちろんこれは特別講義という一発芸の背景は無視できないが、垣根は低いと感じた。京大はどうか。高いと感じている学生がマジョリティであろう。教員に質問するにはアポを取るのが常識であるし、講義よりも勉強とは自分でやるものという意識があるようだ。もっとも昔に比べ、最近の学生は講義に来るようになったと言われている。

TUTの学生教員の垣根が低いのはなぜか。これはTUT入学者の多数を占める「高専」出身者にその解があると考える。高専はたいてい40名ていどの固定的クラスで授業を受ける(演習を含む)。高専の教員は専門家ではあるが教育に軸足を置いている方が多数派であり、学生からの質問や相談には熱心に対応してくださる(中学卒業後5年間そのような環境で過ごせば身につかないはずがない)。実際私も高専卒業後もしばしば舞鶴高専を訪れ相談に乗ってもらったものである。加えて、TUTが高専出身という、同じようなメンタリティの集団であるからこそ、自分の意見が言いやすいということなのかもしれない(*)。

学生と教員の垣根は低ければ低いほど良いというものではない。京大のように学外の様々な業務を担当せざるを得ない大学においては、それなりの垣根がなければ回っていかないだろう。もしくは、そのように最適化されてきたのかもしれない。京大の学生諸君には、垣根に負けずに教員を積極的に使ってもらいたいものである。


* ある意味学生の多様性は低いと言わざるを得ないが、全国の高専から学生を集めているという多様性がある。

 

C/Migemoのインストール2016

ローマ字でi-searchができるようになる。migemo.elはMELPAに登録されているので必要な作業はバックエンドのC/Migemoだけである。

  1. http://www.kaoriya.net/software/cmigemo/ からバイナリをダウンロードしパスの通った場所(下の例では C:/Program Files/cmigemo/)に展開
  2. MELPAからmigemo.elをダウンロード&インストール
  3. inits/windows-migemo.elを以下のように設定
    (require 'migemo)
    (setq migemo-command "cmigemo")
    (setq migemo-options '("-q" "--emacs" "-i" "\a"))
    
    (setq migemo-dictionary (expand-file-name "C:/Program Files/cmigemo/dict/utf-8/migemo-dict"))
    
    (setq migemo-user-dictionary nil)
    (setq migemo-regex-dictionary nil)
    (setq migemo-coding-system 'utf-8-unix)
    ;(setq migemo-use-pattern-alist t)
    ;(setq migemo-use-frequent-pattern-alist t)
    ;(setq migemo-pattern-alist-length 1000)
    (load-library "migemo")
    (migemo-init)