1400字制限

最近の記事のほとんどが1400字を超えているのでタイトル無視も甚だしいが1400字「以下」に制限するとは言っていない

HHKB の清掃

普段使っているキーボードは PFUHappy Hacking Keyboard の無刻印モデルである。

Happy Hacking Keyboard Professional2 Type-S 白/無刻印(英語配列) PD-KB400WNS

Happy Hacking Keyboard Professional2 Type-S 白/無刻印(英語配列) PD-KB400WNS

 

 無刻印モデルを使っているのは、単純に刻印というものが美しくないからである。僕はなぜ外のメーカーが無刻印を出さないのか理解できない。鍵盤に「ドレミ」と書かれたピアノを誰が買うだろうか? 小学生向けの練習用ならともかく。毎日使うものであればそのくらいの美意識はあっていい。

 

というわけで本機を5年ほど使ってきたのだが、いかに美しい無刻印であっても5年分のホコリと手垢が溜まると汚い。掃除をする。

まず Amazonキートップを外すための器具を買う。 435円で「あわせ買い対象商品」なので、送料無料にするためには合計2000円以上注文する必要がある。適当に本でも買うと良い。

 

翌日届く。さっそくキーを外す。とりあえず左端の ESC〜Shift キーを外してみる。

f:id:yubais:20190403221724j:plain

 うわっ、髪の毛が出てきた。めげずに作業を続ける。

 

 

 

 

f:id:yubais:20190403221931j:plain

全部外れた。無刻印なのでキートップが入れ替わっても問題ない気がするが、なんとなく悪影響が出そうなので順番は保存しておく。この段階で注意するべきことはスペースキーに金属のバネがついている事で、清掃作業中にこの部品を紛失する危険性がある。

(しそうになった) 

 

 

 

f:id:yubais:20190403222131j:plain

まずこの基盤を掃除する。精密機器なので水拭きは避けて無水エタノールを使う。と思ったが自宅にあったのは消毒用の80%エタノールだった。20%ほど水が含まれている。まあいいや。キー間の細い溝にエタノールで濡らした綿棒を突っ込んでいく。すごい勢いで綿棒が真っ黒になった。

 

 

 

f:id:yubais:20190403222500j:plain

あとはキートップを1個1個ていねいにキムワイプで拭いて、手垢とホコリを落としていく。80%とはいえエタノールなのですぐ乾く。キーを順番にぽこぽこ嵌め込んでいく作業は実に楽しい。「無限プチプチ」があるのだから「無限HHKBキートップはめ」があってもよい。

 

 

 

f:id:yubais:20190403222918j:plain

Before - After はご覧の通りである。劇的に美しくなったが、凝視するとまだ薄っすらと手垢がついている。メラミンスポンジとか使えばもっと綺麗になるのだろうか。それは来年のお楽しみということにする。

 

 

 

キーボードが美しくなったのでこれで明日から美しい原稿が書けるに違いあるまい。

科学に国境はないが科学者には任期がある

大学をやめた。これはいわゆる退職エントリである。天皇陛下も来月退位なさるわけだし、明治天皇崩御にあわせて「殉死」をとげた乃木大将のごとく我々も職を辞して「殉職」をするべきである。と思ったけど殉職も死ぬやつだからダメだな。なんて言うんだこの場合。

のっけから日本語力の不足を露呈してしまったが、僕は小説家である。2016年に『横浜駅SF』という小説をWeb投稿したらバズって書籍化して、そのあと『重力アルケミック』とか『未来職安』という単行本を出した。今年も長編新作が出る予定。あと漫画原作者として『オートマン』というのを連載して2巻がもうすぐ出る。小説雑誌に短編もいくつか出してる。Web出身作家としてはまあまあ上手くいっている部類だと思う。

で、「本業は研究職です」ということをあちこちで言っていたが、ご存知のとおり今どき大学の研究職は多くが任期付き(契約社員のようなもの)であり、今回その任期が切れたので退職した。新しいポストを探す実績も気力もなかった。すると残ってるのは小説家だけなので、専業作家になった。

専業作家というと「ペン1本で食っていくという野望を叶えた人」と思われがちだが、経緯を考えると僕はそんな立派なものではない。「できちゃった結婚」的なものなので「なっちゃった作家」とでも言うべきか。「なろう作家」の派生形だ。(僕が投稿したのはカクヨムだが)

そういうわけなので別に「これから一生作家業で食っていくぞウオオオ」といった覚悟はまるでない。貯金は結構あるし仕事もしばらくは続きそうだけど、いずれネタが切れそうな気がするし、僕より先に出版社の体力が切れる気もするし、現代人の倫理に反する小説を書いて業界を干されるかもしれないし、政変がおきて中国なみの言論統制国家になるかもしれないし、単純に小説という行為に飽きるかもしれない。不安はカボチャより種が多いので、原稿のかたわら他の食い扶持を考えるつもりである。

ただ研究職でずっと食って行きたかったわけでもない。もし小説家業がなかったとしても、10年後くらいには研究をやめていた気がする。「なんか疲れた」とか言って。僕は根本的にそういう人間である。

つまり仕事をしたくないのである。人間が食っていくために労働をしなければならないというのは明らかに憲法で定められた基本的人権の侵害であるし、2019年にもなってこの問題を技術的に解決できないというのは科学者の怠慢というほかない。しかし自分がまさにその怠慢な科学者そのものだったので非難できた立場はない。

考えるのがめんどくさくなったので、とりあえず2つある仕事を1つにしてみた。たまった積読を消化しながら、ゆっくり人生について考えようと思う。まあ積読は読むと増えるんだけど。

それでは皆さん、良いエイプリルフールを。

カラオケに対する所感

仕事(オートマン17話原作。この話までが単行本2巻に載る)が終わったので、メンタル回復のためにちゃんとした休日を1日とる。「スパイダーマン」のアニメ映画を見る。2時間映画としては登場人物が多すぎる気がするが、映像表現は流石といったかんじ。映画館のそばのカフェで三島由紀夫『青の時代』を読む。読み終わったのでカラオケに行く。以下、カラオケに対する所感。

 

ワンドリンクではなくドリンクバーだった。素晴らしい。複数人ならともかくひとりで歌ってる途中に店員が飲み物を持って来るのは正直嫌だ。「なっちゃん」を飲む。柑橘類の本来の味を侮辱するような過剰な甘さが心地よい。

液晶画面のほかにプロジェクターがあった。スクリーンとの距離が極めて近い短焦点だ。いらないのでOFFにした。

とりあえずマイクも伴奏も音量が大きすぎて耳が痛くなる。爆音は映画館だけで満足だ。下げる。

ひとりで来てもマイクは2本。デンモク2台ある。テーブルに2台並べれば肩が開くので人間工学的に良い。カラオケが久々すぎてフルカラーかつ指でスワイプできるデンモクに驚く。

歌手検索で「スピッツ」を入れると200曲くらい出てくる。草野マサムネは自分が作った曲をそらで幾つ言えるんだろうか。五十音順に歌いやすそうなやつを入れていく。

うっかり原曲キーではない音程で歌いそうになる。なんで違うキーがデフォルトになってるんだ。原曲を尊重しろ。一般的な人類の音域を考慮するな。

デンモクに「リモコン」というボタンがあって、音量やキーの調整をここで行うのだが、冷静に考えるとデンモク自体がリモコンである。「まだデンモクが無かった時代のリモコンに備わっていた機能」のことをリモコンと呼んでいるらしい。こういう歴史的経緯による不合理性というのは仕事以外で遭遇する分には情緒があって良い。仕事で遭遇したら殴りたくなる。

カラオケの宿命的な問題だが、イントロが無い曲は歌い出しが難しい。今回使った機種(機種名忘れた)では移動ドの音が最初に何度か鳴る。最初の音ではなく移動ドである理由がよくわからない。

採点機能があるのでずっとONにしていたけど、何を歌ってもだいたい同じ点が出るので再現性は高い。「音程」「リズム」が高得点だが「表現力」が低い。機械ごときにおれの歌唱表現を評価されるのが気に入らない。ときどき「心に染み入る歌声です」といったコメントが出てくるんだがお前心あんのかよ。

採点機能が「しゃくり」とか「コブシ」とかいったものを機械的に判定してカウントする。「フォール」の意味がよくわからない。多けりゃいいという訳でもない気がするがそのへんを機械がどう考えているのかは知らん。

1時間もするとだんだんマイクを持つ手が重くなってくる。なんでカラオケにはマイクスタンドが無いんだ。タンバリンは要らんからマイクスタンドを置け。あとテーブルがでかすぎて邪魔。

90分で680円だったのだが、歌い足りないので1時間延長。700円を追徴課税される。いったん出て入り直したほうが安いのではないか。店員が部屋に請求しに来るので上述したドリンクバーの利点が帳消しになってしまう。これは時間設定を見誤った僕の責任だ。久々なので仕方ない。

背景映像のパターンが少ないので「あっこのジーンズ白Tシャツ男さっきも見たな」となる。僕の友人は鉄オタが多いので線路が出るとすぐに駅名を特定したがるが今回はひとりなのでそういう事はない。

シングル曲の幾つかは本人映像(つまりMV)が出るので、ジーンズ白Tシャツで匿名的な役者を見飽きてきたらそちらを歌う。

www.youtube.com

バスの揺れ方で人生の意味が解かった日曜日

歌詞が最高だ。最近人生の意味がよくわからないのはバスに乗ってないせいだ。日曜日でないからかもしれない。

古い曲なのでMVも4:3であり、現代の16:9の画面では両脇がだいぶ余る。こういう時代感もとても良い。しかしMVが本人でも音が生音とは限らず、スピッツの動画からスピッツでない音が出てくるので妙な気分になる。

150分経った時点でまだ10曲くらい予約していたのだが再延長すると自己制御能力がないアホだと思われそうなのですごすご帰る。スピッツしか歌ってない。

 

 

後から調べてみると「デンモク」は登録商標であり機種ごとに違う名称があるらしいが、そんなことは消費者であるおれは知らん。ゲーム機は全部ファミコンであり携帯音楽プレイヤーは全部ウォークマンでありトイレで水を噴射するやつはウォシュレットである。

学校制服について:名前のない少数派を尊重する方法は自由しかない

職場におけるパンプス着用強制の反対運動が起きているらしい。僕はパンプスとハイヒールの違いが分からないほど無知だが、服装強制を撤廃することは大いに賛成だ。履きたい人間は履けばいいが、そうでない人間にまで強制することはない。

日本の中学高校を卒業したのであれば、服装や頭髪の規定を受けた人は多いと思う。なにやら世の中には、下着の色を強制したり、地毛が茶髪の生徒を黒く染めさせるところもあるらしい。

ところが、こういう仕打ちを理不尽に感じる人も、学校制服の存在には概ね肯定的だ。僕はこれが不思議でならない。下着の色を指定する教師(学校)が変態であるのならば、上着の色も同様に変態なのではないだろうか? 見える部分を指定するほうが変態度が高い気がするのだが。

Twitter でもしばしば書いているが、僕は学校制服というものを嫌悪している。これは僕の個人的な経験にもとづく。

 

僕が通っていたのは田舎の公立中学で、いわゆる学ランが制服に指定されていた。僕はもともと首が太いほうなので、襟ホックを閉めると呼吸がかなり苦しい。袖口に飾りボタンがついていて、これが筆記のとき邪魔になる。衣替えの時期が決まっているので、5月末まで長袖を着せられる(教室に冷房はまだなかった)。勉学を妨害するデザインとしか思えないような服だった。

何より嫌だったのは、校名のついた制服を着ることで学校への所属意識を強制させられることだった。僕はこの中学がまったく好きではなかった。教師は服装指導しかしないし、生徒は煙草を吸ったり教師の車に火をつけたりして、NHKの「荒れた公教育の実態」みたいな番組で紹介されるようなところだった。

というわけで、入学式の宿題で作文を出せと言われたとき「学校制服は廃止するべき」ということを書いた。特に何も言われなかった。その後も「服装指導に時間を取りすぎて授業がおろそかになっている」という文章を何度か提出したのだが何も反応されなかった。

仕方がないので「この学校の授業には意味がないので宿題をやりません」ということを宣言して実行した。おかげで通知表はだいぶ悪くなり、「内申書に悪影響があるからちゃんと宿題をやりなさい」てなことを言われた。なるほど中学というのはこうやって生徒を支配するのだな、と思ったが無視した。

今から考えてみると「勝手に私服を着てくる」というボイコットのやり方があった気がするが、そういうことはなぜか思いつかなかった。荒れてる中学だから目立ちたくなかったのかもしれない。

結局内申書にどういう事を書かれたのかは分からないが、志望校には無事に合格した。高校には制服がなかったが、生徒の半分ほどが学ランやブレザーを勝手に着てきていた。こういう選択の自由こそが僕の求めていたものだったのだ。おかげで高校三年間は概ね楽しく過ごした。

 

さて、最近よく「ジェンダーレス制服」というものが話題になる。これまで男女別だった制服を、個々人で選択可能にしたものらしい。素晴らしいことだ。しかし、世の中の多様性というものはジェンダー以外にも幅広いし、中には男女どちらの制服にも違和感を持つ人もいるだろう。単純に僕のように制服の不合理性や所属意識に耐えられない生徒がいるかもしれない。それならば、いっそ制服を廃止したほうが「多様性の配慮」という観点からすると合理的ではないだろうか?

といったことを Twitter に書き込むと、

「制服は生徒の所得格差を隠せるからいいんですよ」

といったコメントがたくさん書かれる。なるほど、僕が中学時代にあの理不尽な仕打ちを受けたのは「格差を隠すため」なのか。僕は何万円もする不合理な学生服を捨ててユニクロしまむらの2000円のシャツを着て行きたかっただけなので、経済格差などまったく関係ないはずだが。

「制服を苦痛に感じる生徒」というのは名前のついていない少数派だ。こういう名前のない少数派は他にもいっぱいいるだろう。そういう人間はジェンダーや経済の多様性に比べて配慮に値しないのだろうか?

僕が中学生のころはトランスジェンダーという言葉を知らなかったし、これからも新しい少数派概念がどんどん出てくることだろう。そういう「まだ名前のない少数派」を事前に想定して特別の配慮をすることは難しい。だから余計な規定を作らずに放っておいてほしい。服装を自由にすると見た目が不統一になり「荒れている」と映るかもしれないが、その背後で名前のない少数派が救われているかもしれない。

 

1対1ゲームとランキングの決め方についての小考

トーナメントで準決勝に残ったやつを「ベスト4」というけど、あれって主に組み合わせの問題であって実力順のベスト4じゃないよな〜というのが昔からずっと気になっていた。FIFAランキングとかどうやって決めてんだろと思って調べたら「試合に勝つと3点、引き分けなら1点、ただしPKなら2点で……」とか細かく決まっていていまいち一般性がなさそう。というわけで、

「1対1で戦うゲームの戦績をもとに、各プレイヤーの実力ランキングを決めるアルゴリズム

を考えることにする。多分もう定番のがあるんだろうけど、最近読書ばかりで能動的に頭動かしてない気がするので自分で考える。

手っ取り早いモデルとして、各プレイヤーに1変数の実力があると仮定して、実力差 d に対し (1+tanh(d))/2 の確率で勝利することにする。実力差が3もあればほぼ勝負は揺るがない。

f:id:yubais:20190206172004p:plain

各プレイヤーの実力値は0〜5の乱数にする。名前は日本人の名字ランキングからとってくる。ABC……とか振るよりも覚えやすい。

f:id:yubais:20190206171716p:plain

各プレイヤーの実力値

ずいぶん極端なツートップ体制になってしまったが別にいい。

あとはこの8人にトーナメント戦を100回(700試合)やらせる。当然ながら優勝はほぼ佐藤か渡辺で、1〜2回くらいは高橋が優勝する。とはいえ重要なのは優勝者ではなく戦績。

{'佐藤': 39, '鈴木': 1}
{'佐藤': 51, '高橋': 2}
{'佐藤': 19, '田中': 0}
{'佐藤': 27, '伊藤': 0}
{'佐藤': 58, '渡辺': 38}
{'佐藤': 16, '山本': 0}
{'佐藤': 23, '中村': 0}
{'鈴木': 4, '高橋': 21}
{'鈴木': 19, '田中': 1}
{'鈴木': 16, '伊藤': 0}
{'鈴木': 0, '渡辺': 37}
{'鈴木': 13, '山本': 0}
{'鈴木': 20, '中村': 2}
{'高橋': 19, '田中': 2}
{'高橋': 18, '伊藤': 1}
{'高橋': 2, '渡辺': 41}
{'高橋': 16, '山本': 0}
{'高橋': 20, '中村': 0}
{'田中': 8, '伊藤': 5}
{'田中': 0, '渡辺': 22}
{'田中': 10, '山本': 2}
{'田中': 3, '中村': 14}
{'伊藤': 0, '渡辺': 16}
{'伊藤': 8, '山本': 6}
{'伊藤': 3, '中村': 9}
{'渡辺': 23, '山本': 0}
{'渡辺': 29, '中村': 0}
{'山本': 2, '中村': 14}

こんな具合になる。トーナメントは勝つほど試合数が増えるので佐藤vs渡辺がいちばん対戦数が多く、伊藤vs山本がいちばん少ない……と思ったらもっと少ないのもある。

あとは、この戦績をもとに(もとの実力値をカンニングせずに)「推定実力値」を出して、それをもとに順位を決めることにする。かっこいいアルゴリズムが思いつかなかったので、

  1. まず全員の推定実力値を0と仮定する。
  2. それに基づいて2人の戦績を予測する。
  3. 実際の戦績がより勝っている方の推定実力値を0.01上げて、負けてる方を0.01下げる。
  4. これを100回繰り返す。

という安直極まりない方法でやってみた。能動的に頭を動かすという話はどうなった。

f:id:yubais:20190206173627p:plain

意外ときれいに相関していて、戦績から本来の実力を推測することができた。ただ縦横でスケールが合っていない。同じシグモイド関数を使っているのに、推定実力値は実力差を過大に評価している。

これは試合数が少ないせいで全勝・全敗が発生していることが原因である模様(このアルゴリズムは全勝ならば実力差が無限大であると推定する)。あとでトーナメントの回数を10倍にしたらもっと綺麗な正方形になった。とはいえ今回知りたいのは実力値の絶対値ではなく順位なのでこれで十分だ。

方針がついたので今日はこれで満足。

 

(2019-03-05:時間が経ったので調べてみたら、イロレーティングとかいったものがあるらしい)

白いキャンバスに鎖を描かないという行為

「最近良いニュースを聞かない」とあなたは思っているかもしれないが、そもそも世界に「良いニュース」がそうそうある訳がない。たいていの人間にとって「良さ」とは「平穏」のことであり、そして平穏はニュースではない。「良いニュース」が少ないのは、世界が悪い方向に向かっているからではなく、「良いニュース」という概念に若干の矛盾があるからだ。

もちろん革命を起こして世界を変革することが「良い」と思っているのであれば、世界のどこかで変革の火の手が挙がったことは「良いニュース」だろう。ただ、そういう人は世界にとって少数派だ。人間はおおむね保守的であり、幸福というのは慣れの問題である。もし良い知らせを見たければTVのニュースではなく道端に咲く花でも見ていたほうがいい。TVで開花予報を見るのもいい。

さて、このブログのトップが「首都大学東京女子医科歯科」のまま止まっているのも妙ので何か書こうと思うが、よく考えると僕はブログに書いて主張するべきことを何も持っていない。もちろん僕なりの政治思想というものはあるのだが、それを主張しようと思ったら何をすればいいのかが分からない。

たとえば「自由」を主張してみよう。ニューヨークの自由の女神像にはちぎれた鎖と足枷がついている。鎖は不自由の象徴であるから、ちぎれた鎖は自由の象徴になる。しかし本来の自由とは「鎖の不在」であるはずではないか?ちぎれた鎖をわざわざ描くのは、「不自由であった過去」に束縛されているのではないか?てなことを考えてしまう。

もし僕が画家で「自由を表現しよう」と思ったら、白いキャンバスをそのまま作品と称して「これは自由を描いているのです。自由とはつまり、鎖を描かないことなんです」とか言い出すだろう。ひねくれた前衛芸術愛好家にはウケるかもしれない。彼らは美術館にメガネを置くだけでも称賛するだろうけれど。

 

f:id:yubais:20190130151405p:plain

「自由」(Yuba Isukari, 2019)

しかし何かしらの塩梅で、僕の死後にこの作品が後代に残ってしまったとしよう。「これは鎖の不在を描いたのだ」などという僕の言い訳は忘れられ、「自由」というタイトルだけが残ったとしてみる。鑑賞者はこんなことを言い出すかもしれない。「これは表現規制によって何も描けなくなった世界を描写しているのだ!」と。逆である。そういう事にならないうちに出来れば作品をサクッと忘れてほしい。

「主張する」という行為に関して、僕は万事こんなかんじである。他人に何かを伝達したいと思ったら、「自由は鎖をちぎることで表現するものですよ」といった世間の不自由なルールにある程度擦り寄らねばならない。めんどっちい! 鎖のない白紙を自分の頭の中にもっておけば十分である。

ところで僕はフィクション作家である。あれは何をしているのかと言えば、主張ではなく描写である。そこにあるものを描いているだけである。もちろんSF作品なので現実世界に存在しているわけではないのだが、それは僕の考える「そこにあるもの」と世間の考える「実在のもの」が違うだけである。鎖の不在みたいなものなので深く考えないでほしい。

もし僕の絵に「鎖につながれた犬」の描写があったとしたら、それは「犬の不自由」を表現したのではなく、単にそこに鎖があっただけである。意味は飼い主に聞いてくれ。

 

首都大学東京女子医科歯科

似たような大学名が多いので、Graphviz でこういう図(なんという図なのかは知らない)を作ってみた。首都大学東京のせいでこの有向グラフにはサイクルが存在する。

「東京」とつく大学全部で試してみることにした。

#!/usr/bin/env python3

from more_itertools import chunked
from graphviz import Digraph

# 「東京」を含む大学
univs = """
東京大学
東京有明医療大学
東京医科大学
東京医科歯科大学
東京医療学院大学
東京医療保健大学
東京音楽大学
東京海洋大学
東京学芸大学
東京家政大学
東京家政学院大学
東京経済大学
東京芸術大学
東京工科大学
東京工業大学
東京工芸大学
東京国際大学
東京歯科大学
東京純心大学
東京聖栄大学
東京情報大学
東京女子大学
東京女子医科大学
東京女子体育大学
東京神学大学
東京成徳大学
東京造形大学
東京通信大学
東京電機大学
東京都市大学
東京農業大学
東京農工大学
東京福祉大学
東京富士大学
東京未来大学
東京薬科大学
東京理科大学
首都大学東京
山口東京理科大学
諏訪東京理科大学
"""
univs = univs.strip().split('\n')

# 2文字ごとに区切る
def twogram(name):
    return list(map(lambda x: ''.join(x), chunked(name, 2)))
univs = list(map(twogram, univs))

# 3文字は面倒なので手動
univs.append( ["東京", "基督教", "大学"] )
univs.append( ["東京", "外国語", "大学"] )
univs.append( ["東京", "慈恵会", "医科", "大学"] )

# 区切ったものを格納する集合
word = set( [ e for ilist in univs for e in ilist ] )

# グラフの生成
G = Digraph(format='png', engine='dot')
G.attr('node', shape='circle')
[ G.node(w) for w in word ]

edges = []
for univ in univs:
    edges += [ ( univ[i], univ[i+1] ) for i in range(len(univ)-1) ]
edges = set(edges)

[ G.edge(*e) for e in edges ]

print(G)
G.render(view=True)

ポイントは右端のこの部分で、ここだけ線が二重になっている。これは「東京→大学」と「大学→東京」の両方のエッジが存在するためである。

f:id:yubais:20180805115644p:plain