て日々

2020年4月

目次へ

ついこのあいだ、桜が咲いたとかどうたら言ってたと思ったら、早いもので、もう4月も末になって、こんどはツツジのシーズンがやってきた。

きょうもパソコンに向かってチマチマと作業。必要に迫られて JavaScript と Python で小さなプログラムを作る。Python を扱った直後に JavaScript を書くと、文末のセミコロンを忘れてしまいがちだ。

夜になってから明日以降のために料理をする。といっても大したものではない。焼き肉のタレに漬けておいた手羽元を蓋をしたフライパンで蒸し焼きにするだけだ。それでも15分ほどフライパンを火にかけてキッチンに旨そうな匂いがたちこめると、ちょっと嬉しい気分になる。残念なのは作った食い物を誰かと一緒に食う機会がないことだが。

外は快晴で風は爽やか。ウィルスの件さえなければ絶好の行楽日和であるが、なんとも仕方がない。せめて少しだけ日光を浴びようと、昼食後に散歩に行く。上着を着て出たら暑いくらいだった。

きょうもデータサイエンスの教材のための作業。6年前に家で預かっていたネコの写真を画像データの例として使用。午前中に作ったものをボツにして、午後にイチからやり直したせいで、A4用紙1ページ分のPDFを作るのに夕方までかかった。

在宅勤務になってから好天の日が多い気がするね。家で少し勉強し、午後にはビデオ会議。

きょうもTeamsで教材づくりのための打ち合わせ。午後、銀行に行くために少し外出。あとは NumPy についての本を読んだり、Tinker Board をいじったり。

2年前に買った当初、Tinker Board S の16GBしかない内蔵eMMCドライブに面白がって TeX Live やら何やらてんこ盛りにしたわりに、その後しばらく、全然使っていなかった。今回、気紛れの素人考えで Debian の dist-upgrade を仕掛けたら、ドライブの容量不足のせいか何か、アップグレード失敗して途中で止まってしまう。これではシステムが使用不能だ。それでまあ、どうせならちょっと遊んでやれと、Tinker OS Debian から Armbian に、Armbian から Tinker OS Android にと、OSをとっかえひっかえしていじってみた。そしたら、Android から Tinker OS Debianに戻した時点で起動しなくなって、こりゃいかんぶっ壊してしまったかと焦ったけれど、壊れたのは Tinker Board 本体ではなく micro SD カードのほうだった。

きょうは一日じゅう家で過ごした。臨時の休肝日。

午後、受講生からメールで質問が来たので説明を手書きし、写真に撮って添付ファイルにして返事を送る。こういうときには、iPhoneに入れたマイクロソフトのOffice Lensというソフトが役に立つ。紙面をカメラで撮影すると境界を検出して台形補正や露出の調整を自動でやってくれるのだ。家にはスキャナがないので、これはとてもありがたい。無料だし、Windows版やAndroid版もあるようなので、皆も一度使ってみておくれ。

天気はいいが、緊急事態宣言下ではサックスの練習に行くのは気がひける。少し散歩に出かけた。

少し寝坊した。洗濯をしてから、午前中に教材づくりのためのビデオ会議。昨日のWebアプリから変更してデスクトップアプリを使ったので、快適さはだいぶ増した。午後には遠隔授業用ウェブページの更新。

講義ノートに関連して、先日《学部生向けの講義でも「何がうれしいかというと」を使っていくスタイル》と原稿の画像キャプチャつきでツイートしたら、960人に「いいね」をもらい、180回以上リツイートされ、フォロワーが40人ほど増えた。だが、「何がうれしいかというと」は、昨今の学術発表ではひとつの常套句にすぎない。あのツイートの何がどうヒットしたのかわからず、ちょっと気味が悪い。

昨日の受診でお医者さまに「散歩くらい行きなさいね」と言われたが、在宅勤務と思うと、なかなか陽の高いうちは外へ出る気にならない。それでも夕方には近所のスーパーに買い出しに行った。

在宅勤務3日目。第5回の講義ノートPDFを作成。連続関数列の一様収束極限がまた連続関数になることの証明。Tikzで図を入れる作業もするので、久々にサブディスプレイを接続して2画面で作業。それに、初めてビデオ会議ということをした。プラットフォームはMicrosoft Teamsだ。うちのパソコンはDebianだからという理由でMicrosoft365のWebアプリを利用したが、あとで調べたらLinux用デスクトップアプリ(DEBもRPMも)が公開されていた。ありがたいことだ。

夕方はいつもの医者に行っていつもの薬を出してもらった。

LXDEのxdg-openコマンド(WindowsコマンドプロンプトのstartコマンドやmacOSのopenコマンドに相当するもの)がバグっていてURLを開けず、それで何度となく困っていたので、思いたって調べてみたら、こちらのブログ記事に解決策が書いてあった。なんともタイムリーなことに今日の新しいエントリーであるようだ。ありがたいことだ。このxdg-openのバグのために、たとえばZoomのアプリも使いものにならなかったのだ。これでずいぶんと助かった。

職場がMicrosoft365を導入しているおかげで、メールで送られてきたExcelのファイルに数値を書き込んで返送するくらいのことは自宅のDebianパソコンでもできる。便利な時代になったものだ。第4回の講義ノートPDFを作った。今度のテーマは関数列の一様収束だが、難しい定理の証明は第5回にやることにして今回は定義と例だけ。

在宅勤務1日目。メールやSNSで連絡を取りあいながらパソコンで作業する。講義ノートを読んだ学生さんから間違いの指摘があったと演習担当の加藤さんから連絡が入った。ちゃんと読まれているらしい。ありがたいことだ。

これからしばらく一日中家にこもることになる。寝たり起きたりの時間をちゃんと守り、食事の手を抜かないように気をつけよう。

明日から遠隔授業限定で開講することになっているのだが、同時に、教職員も原則として在宅勤務とすることが決まってもいる。遠隔で講義するのも大変だが、なによりゼミをどうするかで困ってしまう。と思っているちょうどそのときに、院生nCoくんからLINEで「どうしましょうね」と相談が来た。それで、大学院のゼミは事前にノートをファイル共有したうえで、オンラインのチャットを利用してやることにする。それがうまくいったら、同様の方法が学部の卒業研究ゼミでできるかどうか試さねばならぬ。

職場のウェブの更新は学内LAN経由に限定されている。今後に備えてちょいと更新しておかねばならんので、明日でもいいようなものだが午前中は大学に行く。

午後は昨日の続きで『いちばんやさしいGit&GitHubの教本』の後半を読みつつ実習。GitHubの基本的な使い方はこれでわかったわけだけど、すぐさま何かに使うというわけではない。

しばしGitHubを探索してみて思うに、いろいろなオープンソースプロジェクトがあるものだ。昨年5月25日の日記で言及したflypitchプロジェクトは連続体仮説の独立性のフォーマルな証明を書きくだすという試みだし、VexFlow はウェブブラウザ上で楽譜を綺麗に表示するためのJavaScriptライブラリだそうだ。

晴れたり曇ったり降ったり。だいぶ前に買ったけど腕を通さずにいた新しいカーディガンをきょう初めて着た。このごろ土曜日はぼんやりと過ごすことが多い。きょうもそうだったが、まったく何もしなかったわけでもなくて、『いちばんやさしいGit&GitHubの教本』(インプレス2018年)の前半を読んで実習した。後半のGitHub利用の実習は明日にする。

こういう時だから仕方がないとも言えるけど、このごろ日記が天気の話題+パソコンの話題というワンパターンに陥っていて、自分でもつまらない。どうしたもんだろうね。

給料日なので銀行に行きATMでいろいろの資金の移動。

くもり空。夜から雨の予報。先日倅が泊まりに来たとき、2日続けて雨だったもので、うちにある2本の傘を倅が2本ともあちらの家に持っていってしまった。まあ、通勤用リュックには折り畳み傘があり、職場に置き傘はあるが、もう1本買い足しておいても、まさかバチは当たるまい。コンビニに行ったついでに黒いコウモリ傘を買った。そしたら、夜になってから、倅が塾の帰りに傘を1本返しに来た。

VS CodeのLaTeX Workshopの件。コマンドの自動実行やオートクリーンなどの強力なツールがなくても、LaTeX文書のシンタクス・ハイライティングができれば自分にとってはそれで十分なので、より機能の制限されたLaTeX Language Supportという機能拡張を代わりに使うことにした。

少なくとも第1クォーターのうちは、授業はすべて遠隔式でやることになった。第2クォーター以降は未定だけれど、たぶん前期まるまる遠隔授業になるだろう。そんなわけで、第3回目の講義ノートPDF版を作る。テーマは一様連続性。

このごろ評判のVisual Studio Codeというテキストエディタを入れてみた。LaTeX WorkshopというLaTeX用の機能拡張も導入したが、デフォルトの設定では日本語が通らない。日本語向けにpLaTeXで使うように設定できるのかどうか。ちゃんと使うには、どのみち説明書を読み込まねばならないので、きょうの取り急ぎの仕事には使えなかった。ずっと使っている medit から VS Code に乗り換える可能性はあるが、すぐには結論が出せない。

あとでわかったことだが、いつもの薬を昨日飲み忘れていた。そのせいかどうか、未明にホラーな夢を見て目がさめた。きっとうなされていたはずだ。怖い夢をみて夜中に一人の部屋で目覚めるというのは心細いものだ。寝ているうちに知人からLINEで数学の質問のメッセージが入っていたので、それに返事を書いて気をとりなおすことができた。そういえば先月の10日の朝にもこんなことがあった。どうしたもんだろうか。

朝になってみれば、うす曇りだが暖かく、のどかな日和である。午後に仕事の打合せがあった。

昨日から取りくんでいるPyQt5のチュートリアルはひととおり読み終えた。これから自分で何か書いて勉強しようとなると、適切なリファレンスが必要なんだが、PyQt5の製造元の公式ドキュメントはまだぜんぜん未完成である。ことによると、C++での開発を念頭に置いて書かれたQtフレームワークの公式ドキュメントをPythonに読み替える必要があるのかもしれない。しかし俺はC++は扱ったことがない。困ったな。

予報どおり快晴だ。シャワーを浴び、洗濯をする。

10時すぎに楽器店から電話があり、県庁からの外出自粛の呼び掛けに応じて、また音楽教室を休講にするという。最短で2週間。この時期だからまあ仕方ないけどな。

昨日買った本の記述に従って、Qt Creatorというのをインストールしてみたが、ずっとTeXとHTMLばかり扱ってきたせいか、どうもこのGUI構築ツールというやつが苦手である。そもそも、いまのところアプリケーションのデザインが頭の中にあるわけじゃないから、GUIから入ろうとすると、すぐに何をやっているのかわからなくなるのだ。MacでCocoaフレームワークの使い方を自習していたときも途中でいやになったし、ActionScriptは書くがFlashの編集ツールを扱えない、なんてこともあった。

だからというわけでもないが、PySide2はおいといてPyQt5をやる。 さしあたり、PythonBasic.org というWebサイトにあるチュートリアルをさらっている。まあ、PyQt5でもQMLのコードとの連携はできるというから、Qt Creatorをインストールしたのも無駄にはなるまい。将来なにか大がかりなソフトウェアを作るなんてことになったら、改めてGUI構築ツールの世話になることにしよう。

考えてみれば、四半世紀前には、国際カンファレンスの参加者名簿を管理するプログラム(というかスタック)をHyperCardで作ったりしていたのだから、俺だってGUI構築ツールを使ったプログラミングがまるでできないというわけではないはずなんだな。さっきは「何をやっているのかわからない」と言ったけど、それは実はもっと根本的なところで「するべきことがわからない」あるいは「作るべきものが何かわかっていない」ということなのだろう。

まだ雨が止まない。おまけにずいぶん寒い。

DebianパソコンにsimpleaudioというPythonモジュールをインストールした。これがあればPythonスクリプトで合成したPCMデータを音声として再生できるのだ。私物のDebianパソコンをいま3台使っているので、それぞれで、基本中の基本、「440Hzのサイン波を1秒間」という、音声界の Hello World みたいな音を鳴らしてみた。まったく同じ音源なのに、機材によって出てくる音がまるで違うのが面白い。

それから浅野一雄『PythonでGUIを作ろう—はじめてのQt for Python』(NextPublishing)という本のKindle版を買ってPySide2というパッケージを試す。夜中に作業し「何か表示されているウィンドウを開く」という、これまたHello World的なところまで、どうにか到達した。

夜になって雨が止み、今度は強い風が吹きはじめた。なんだかひどい天気だが、予報では明日は晴れるそうだ。

一日じゅう雨。午後には倅を連れて書店に行った。

午前中、洗濯をしてから、県立図書館に行く。午後は倅の飯の面倒をみつつ、『HTML5+WebAudio APIによるオーディオデータプロセッシング』(遠藤理平・竹中恭介・藤原脩 共著、カットシステム2015年)などを読んで過ごす。

きょうも一日大学で作業。隣の中学校も休業中で、キャンパスはとても静か。学生のいない大学なんてつまらんものだ。早く事態が収拾しないかな。

月曜日に稼動した巨大基数公理botの自作スクリプトを手直し。直近のいくつかのツイートを覚えておいて、重複を避けるようにした。ログを見たら、5日たらずの間に17回も「重複したツイート」エラーを出していたのだ。

夜、だいぶ遅くなってから倅が泊まりに来た。

昨年秋にひと苦労して出願した科研費が採択内定したとの報せが届いた。ありがたいことだ。きょう交付申請手続きをした。しかし科研費をもらうなんてもう何年ぶりだろうな。

4月8日。体温正常。気になる症状なし。午前中、教材づくりのためOg2さんと相談。午後、YGさんがウェブサーバにアクセス制限つきエリアを作る相談に来る。あと、短時間だが、学生さんが進路の相談に来た。

…というような行動記録(というより人との接触の記録)を念のためにつけておくように、というお達しが学長名義でやってきた。当方、日記をつける習慣はすでにあるからよいのだけど、なんだかいやな流れだな。

いや、そんなことを言っている場合ではない。東京大学理学部生物学科の学科長挨拶によると、普段の行動を100とするとき、いまは全員がそれを40にまで制限しないと、コロナウィルスの感染の爆発的拡大から医療崩壊につながる(入院が必要な患者の数のピークが医療機関のキャパを超える)恐れがあるとのシミュレーション結果が出ているという。しかも、それをたった1%の人が本気にせず普段どおりの行動をとれば、他の人がいくら自粛していても、医療崩壊につながる感染拡大は防げないという。なかなか厳しい予測だ。これについては東京大学大学院理学系研究科ヒトゲノム多様性研究室の大橋順先生の「新型コロナウイルス感染症の流行予測と対策〜いま、我々にできること」というスライド(PDFファイル)をリンクしておくので見てほしい。

午前中、プログラミング。午後、会議。夜、久々にピアノレッスン。2月までショパンのワルツ《告別》を練習してきて、本番直前に出番がなくなった。さらにその後レッスンが1か月お休みとなった。それで、すっかり目標喪失していたけれど、これではいかんと思って、ここ数日はドビュッシーの《夢》の楽譜をひっぱり出してきて、ちょっとずつさらっていた。そんなことを先生と話すうちに、基礎的な訓練のためにソナチネをやってはどうかということにもなった。ブルグミュラーもある。目標喪失してる場合じゃない。がんばりましょう。

昨日の日記に書いた巨大基数公理BOTの件は、自作したスクリプトを研究室のLinuxパソコン上でcronに登録して定期的に起動する設定にして解決した。PythonのTwitterモジュールが役にたった。

この「てなさく世界」をホストしてもらっているレンタルサーバにはPython3.xがないので仕方がないが、職場のウェブサーバに次にCGIか何かを組込むときはPerlやRubyではなくPythonを使うことにしたい。なにしろ、オンライン授業の必要性が急にクローズアップされている昨今、そういう需要も出てきそうなのだ。とはいえ、いまの時代にCGIでもないだろ、と言われそうでもある。

朝はずいぶん寝坊した。午後には堀端へテナーを吹きに行った。きょうも天気がよく、満開の桜の下で散歩の足を止める人たちがちょくちょくいた。

うかつなことに、いままで気付かずにいたのだが、昨年夏にMAKEBOTがサービス終了になって、その軒先を借りていた巨大基数公理BOTが半年以上沈黙していた。発言内容のテキストファイルは手元にあるので、定期的にツイートするプログラムを新しく書いて、どこかのマシンで走らせることにする。

天気がよい。午後、堀端へサックスを吹きに行った。アルトを持って行ったが、OB会の演奏会も延期になって当面は出番がない。テナーにも息を入れてやらねばならんので、明日また天気がよければ、ここなり石手川なりにテナーを吹きに出ることにしよう。

家で第2回の講義ノートを作っていたが、午後もだいぶ遅くなってから、きょう締切の書類がいくつかあることを思い出して慌てて大学へ行く。みなさん、いつもすみません。

授業開始見送りはさしあたり2週間だけど、その後に対面授業が開始できる目処が立っているわけじゃないし、公開用PDF版講義ノートはこのあと第3回第4回とずっと準備しておいたほうがよさそうな雲行きである。まあ、準備しておけば、対面授業が始まったら始まったで無駄にならないのでいいんだけど。

昨日とは打って変わって気持ちのよい晴天。

午前中、昨日作ったスライドPDFを公開するためのウェブページのセットアップ。ただし公開は、第2回の講義ノートができるまで控えて、来週にする。午後は昨日できなかった大学院ゼミ。加群の射影分解についてのひとつの補題の証明。

Pythonに MIDO というモジュールがあることを知った。MIDIまわりのあれこれを抽象度が高く扱いやすいオブジェクトとして提供してくれるのでありがたい。自宅で試してみたところ、Debianパソコンとローランドのデジタルピアノの間でちゃんとメッセージのやりとりができた。デジタルピアノをMIDI音源として古いMIDIファイルを再生することもできたし、FluidSynthなるソフトウェアシンセの使い方もわかった。いろいろ嬉しかった一方で、過去に作ったMIDIファイルを久しぶりに再生して、つくりの未熟さを思い知りもした。

一日じゅう小雨が降って肌寒い。

前期に担当する「解析学I」の第1回講義の公開用スライドを作った。普通ならスライドではなく黒板を使って授業するのだが、事情が事情である。一日じゅう自宅でその作業をしていたのだが、午後に大学院のゼミをやる約束をしていたのをすっかり忘れていた。ごめんなさいごめんなさい。