巫女の日

本日3月5日は「巫女の日」でありまして、本当は何かしら絵を上げたかったのですが、やっぱり無理というかんじになってきたので諦めてかわりにブログ記事を綴りたいと思います。

巫女の日への思い

中学一年生の時『我が家のお稲荷さま。』のコウちゃんにえもいわれぬ感情を抱き、そこからいろいろあって巫女さんという概念へのしょうけい*1、或いは恋とでもいうものをもつに至った私であり、爾来、巫女さん関連のサイトをたまに覗いてはそこに漂う二十世紀インターネットの情熱と香りを楽しんできました。

その中にあったのが「巫女の日」でありまして、人々が思い思いに巫女さんの絵をあげているのをみていると、楽しそうだなぁ、いつかはこんなことがしたいなぁという思いが毎年湧いてくるのでした。

大学生になり何か新しいことをするぞと思い立って長年の悲願であったお絵かきに手を出してみたはいいものの、さして努力することもなく……という状況であります。

巫女の日に絵を上げる」というのは絵を描こうと考えたときからの一つの目標だったわけですが、結局今年もだめでした。
来年こそは上げるぞ!!!

敗因

時間がなかったことです(いつも言ってる気がしますね……)。
というのも巫女の日のことを思い出したのが3月2日だったのです。
そしてそれは山形県某所の旅館でのこと。京都に帰ってきたのは3月4日朝。それから2日。
2日ずっと取り組んでいれば仕上がった可能性は十分ありますが、わたしはいつもながら怠惰なので結局今日5日の21時まで手を付けませんでした。
21時に目覚めて小品ながらできる限りやろうという気分で着手したはいいものの、線画まで描いたところであまりに残念な感じだったので諦めた次第です。下手なだけならいいのですが、雑さが自分でもよくわかってしまうのはちょっと厳しいですね。

来年は春休みに突入するあたりには始動させていきたいですね……

山形のこと

先ほど山形県某所の旅館にいたと書きましたが、それは自動車免許をとるための合宿に行っていたからです。16日間、長かったです。明日京都の免許センターで学科試験を受けて免許を取ってきます。

マニュアル車を選択したこともありまた不器用なのでいろいろ厳しかったのですが、サークルの人たちと8人でいったので、楽しいこともたくさんありました*2

その他良かったこととして、(マニュアル車を選択したからか)時間割に「午前はなくて午後のみの日」「朝一番だけあってそのあとはない日」などがあったために山形県の各所を観光できたことがあります。山形の観光地というとあまり知りませんでしたが、インターネットで調べて行ってみたところ想定以上によいものでした。

いかにも貴族的でやけに豪華な文翔館、階段が凍結していてひたすら危ないけれど上からの眺めは最高だった山寺。
この二つはぜひともお勧めしたいところです。

大学のこと

もう二回生も終わり、学部生も折り返しに入ります。
そして理学部生には一大イベントである系登録があるのです。

系は数学系か物理系かで揺れていましたが、物理系で落ち着きました。
問題は課題演習をまだ決めていないことです。系登録と課題演習登録は3月7日~10日。早く決めねばなりません。

……「3回生になったらちゃんと物理をすることになる」という話を先輩から聞きます。つよくなりたいですね。

その他読んでいる本

免許合宿に持っていった次の3冊を紹介しておきます*3

1984

honto.jp
有名なディストピア小説。「ニュースピーク」云々はWikipediaなどで知っていたのですが、読んでみると「うへー」といった感じでした。権力への考察が面白いです。ずっしり心に沁みてくる本です。

北一輝――国家と進化

honto.jp
読みかけ。北一輝にはその文章と今の日本ではあまり表に出てこないような考えから惹かれてきましたが、長大な「国体論及び純正社会主義」を読むことは未だできておらず、その思想がどんなものかという全体像のようなものはわかっていませんでした。
この本は政治思想史の専門家が北一輝の思想を読み解き、様々な思想家と比較しながら論じていくものです。
北一輝が批判した明治時代の憲法学者たち、社会進化論のスペンサー、そしてプラトン北一輝社会主義マルクスでなくプラトンに依るという)やニーチェ田辺元などなど、たくさんの思想家との比較が出てきて面白いです。
北一輝の解説書ではありますが、もっと大きく「国家とは何か」という根本的な問題についての様々な理論を紹介しているの本であり、「私が求めていた本はこれだ」という感想です。

国家は一つの実体のある有機体であり、それが主権をもつ。その構成員たる人間は「進化」により国家と個の善の一致する「神類」へとなる。――北一輝の思想の要約はこんなものかなと思いますが、まだ読み終えていないので詳しい話はいずれ。

重点解説ハミルトン力学可積分系とKAM理論を中心に

honto.jp
山本解析力学のような内容を数学の側からやっていくとこうなるのかなという感じの本です。
後ろの方を眺めると面白そうだなーと思うのですが、まだそこに辿り着けていません。

おわりに

がんばるぞい!

*1:「しょうけい」と読むほうが好きなのです。響きがきれいだと思います。女性を「にょしょう」と読むのも好きです。

*2:一人でいっていたら恐らく心が折れてました

*3:これに加えランダウ場古典も持って行ったのですが、わざわざ語るまでもないほど有名な本なので割愛します

エラーの先にあるもの

この記事はKMC お絵かき Advent Calendar 2016 の6日目の記事です。
www.adventar.org

前日の記事はnonamea774さん……のはずですが、今のところ投稿されていません。


……本日は12月28日であり、これはアドベントカレンダー6日目の記事です。つまり、3週間ほど遅刻しています。遅刻とかいう範囲をはるかに超えていますね。ええ、まったくもう。アンツィオ高校もびっくりですよね。
すみませんでした!!


ということで本題ですが、私の描いたものはhttp://mars.kmc.gr.jp/~suzusime/saikounoe.pngです!

………
……

削除したわけではありません。この404エラーページこそが今回作ったものになります。

解説

Webページを見るとき、我々(のブラウザ)はサーバーに対して「このページを見せてください!」という要求を送ります(HTTPリクエスト)。これに対してサーバーが応答し、状況に応じて様々な返答をします。そして、状況の種類ごとにつけられた3桁の番号も伴に返します(HTTPステータスコード*1

通常の、ページが閲覧可能な状態の時はそのページの内容を返してくれます。このときのステータスコードは "200 OK" です。
もしサーバーに大量のアクセスが来ていてサイトが表示できないならば "503 Service Unavailable" を返し、エラーページが表示されます。
そして、サーバー上に要求したファイルが存在していないという場合のステータスコードがおなじみの "404 Not Found" です。

エラーが発生した場合、通常はサーバーのソフトウェア(apacheなど)やブラウザによるエラーページが表示されるのですが、このときに表示されるエラーページは設定で変更することができます。それが今回の404エラーページというわけです。

設定は .htaccess を用いて行いました。".htaccess"という名前のファイルをサーバーに置き、

ErrorDocument 404 /~suzusime/errorpages/404.html

と記述するだけでです。これによって、この .htaccess のおかれたディレクトリ以下で発生したエラーについて、ここで指定したエラーページが表示されるようになります。

思い

なんでこんなものを作ったのか、それには遠い昔からの思いが関係しています――

……というほどではないのですが、実はある意味これは悲願であったりするのです。

というのも、中学生だったか高校生だったかの昔、あるサイト*2で、こういうふうに女の子の絵が配された404エラーページをみて深い感動を覚えたのです。
それだけといえばそれだけなのですが、インターネットの無機質なエラーメッセージに慣れきっていた身には、「こんなこともできるんだ…!」とびっくりしたのです。まともにサイトを運営しているわけでもないのに、エラーページを作りたくなりました。これをしたいがためだけに、自宅サーバーを立てようといろいろ調べていたこともありました*3。その思いをようやく遂げることができたわけです。

インターネット。
全世界を繫ぐ壮大なネットワークです。
インターネットを通じ人々と手紙を送りあい、あるいは情報を、思いを発信することができます。

私が子供のころ、2000年代のインターネットは趣味の人の場という印象が強い素朴なものでした。
一方、今では人々が利益を上げるために競い合う、商業の場へと雰囲気を変えている気がします。

私は素朴なインターネットが好きです。不器用な中の温かみとでもいうのか、そういったものが好きです。
数GBの動画ファイルをYoutubeに上げられる時代ですが、私はこの100KBに満たない絵がほんわかさせる力を信じたいのです。

……「紛争地にゆゆ式のDVDをばら撒いたら戦争がなくなる!」みたいな冗談をみたことがありますが、案外そんなものじゃないかなぁと思うのです。

みなさんもエラーページをかわいくしてみませんか?
簡単なのでぜひやりましょう!


なお、もうすこし大きい画像を pixiv においておきました。
www.pixiv.net




KMCM

さて、ここまでアドベントカレンダーが遅れたことの理由のひとつにKMCの部誌を編集していたことがあります(言い訳でしかない)。
というわけで部誌を宣伝します。

www.kmc.gr.jp

KMC(京大マイコンクラブ)は明日12月29日コミックマーケット91に出展します。
そこで私が編集した部誌「独習KMC vol.10」も頒布されます。記念すべき第10号です。今回も盛りだくさんの内容です。今回はいつものLaTeXではなく、がんばってInDesign組版してみました。
コミケ1日目に行かれる方は、ぜひKMCのブース(西ほ40-b)にお立ち寄りください!

また、KMCではインターネットや巫女さんに興味がある部員を募集しています。詳しくは
www.kmc.gr.jp
をご覧ください。

明日(12月7日だった)の記事はryau07君の
ryau07.hatenablog.com
です。
……早苗さんがすきです。

また、KMC全体のアドベントカレンダーもあります。そちらもぜひご覧ください。
www.adventar.org

それでは良いお年を!

*1:このあたりのサーバーの応答の様子は netcat コマンドなどでサーバーにリクエストを投げてみると雰囲気がわかって面白いと思います。

*2:隠す必要もなさそうですから書いておきますと、http://amatsukami.jp/です。残念ながら今は変わってしまっていますが、当時は「天津神」の文字が添えられた良い雰囲気の絵のついた404エラーページがありました。

*3:今思えば .htaccess をおくだけなのでよくあるレンタルサーバーでもできたのですが。

後期がそろそろ半ばを越えて/学生自治の話/二重登録の話

二ケ月弱あった夏休みはどこかえ消えてゆき、かわりに大学の憂鬱を置いてゆきました。と書き始めた記事の下書きがずっと残っていたのでいたので書き足して公開します。

少なくとも私は望んで大学に来て望んで物理学を学んでいるわけでありまして、その学習の手段として提供されている*1講義を受けるのは良いことでこそあれ、悪いことではないはずですが、一体どういうわけであるか大学に毎日通って講義を受けるのに愁いを感じてしまうのです*2
履修登録をしないで夏休みを4ケ月延長!」とか冗談を言ってみたりはするものの、まあ私にそんなことをできる勇気があるわけもなく、今までの3半期のようにいささか多すぎる講義の履修登録をして、忙しい、つらいとかいいつつ半期をなんとかのりきるというようなことになるのだと思います。実際今になって振り返ると、行かなくなった授業も多く、少なくとも今までの四半期の中では一番時間を取れている気はします。
一年くらい休学したい気もするわけですが、事実上の留年のようなことになるとなると大学に行く気がなくなって中退するようなことになりそうだなとは思うわけです*3
理想形は「卒業要件を満たした状態で卒業請求をせずに大学に留まる」でしょうかね。いまのところ京大理学部では卒業の条件(4年間在学すること、系登録してから2年間経過すること、所定単位を取得すること)を満たしたうえで卒業の申請(学士試験合格認定申請)をしない限りは卒業できないので、卒業申請を敢えて出さなければ大学に留まることができるはずです。単位は全部取っているはずですから、休学すれば学費も払わなくて良いはずです。理想的なモラトリアムですね。院試に全落ちでもしない限りやらないとは思いますが。


そういえば最近以前日本女子大の「休学費」についてのブログが話題になっていました*4。読んで最初に思ったのは「大学当局に嘆願書を出して、それが認められなかったらそこでお終いなのか……」という感想でした。そこで唐突に終わってしまってなんか拍子抜けしてしまいました。当局に要求するなら、もし受け入れられなければ説明会の開催を要求したりだとか、立て看板をだしたりビラを撒いたりして広告するとか、そんな光景を日常的にみているからでしょう。個人的に嘆願したのならともかく、学生自治会の決議を得た自治会としての要求がそんな簡単に諦められてしまうのは不思議だという感覚がありました。
去年私が入学してからだけでも、吉田寮の入寮停止通告、総合人間学部仮承認団体の廃止という2つの大学当局の決定が学生の諸団体による抗議によって撤回されているのをみています。是非はともかく、それくらいの力は学生にあると思っています。

……最近の(とはいっても昔を知りませんから昔からかもしれません)京都大学当局のやり方はかなり強引だなと感じています。たとえば上に挙げた「総合人間学部仮承認団体の廃止」は、かつて教養部公認団体であったサークルが教養部の廃止のあときちんと全学公認団体に引き継がれていない中途半端な状態であったのを是正するという名目のようでしたが、かなり露骨な政治系サークル*5潰しでした。そのなかでかつてあるサークルと結んだ「確約書」をよくわからない理由で握りつぶしたらしく、それが事実ならばそうとう好き勝手やっているなと思うわけです。相手が何であれ、嘘をついたり約束をたがえたりするのは良くないという感覚があります。
そういうことがあったにして基本的には他人事ですから、当局がおかしいと思うから頑張ってほしいと心の中では思っていても、とくになにかすることはありませんでした。一回生へのTOEFLの強制受験に対する不満なんかもありましたが、主にそれを主張していたのが過激派たるところの「同学会」*6だったので大っぴらに応援しづらいところもありました。

一度だけ、自分から大学に文句をいいたくなったのは、二重登録の廃止が通知されたときです。昨年度まで理学部では理学部科目の二重登録*7ができましたが、今年からはそれができなくなりました。それがわかったのは、昨年末に教務窓口に張られた、次年度から履修登録が教務情報システムKULASIS上で行うように変更される旨を書いたプリントのしたのほうにあった小さな脚注によってでした。
今まで二重登録ができたことが異常だというはなしはありますが、それについてはいま京大基礎物理学研究所にいらっしゃる佐々木節さんの文を引用しておきます*8

 先ほど触れたように,当時の京大教養部には学生運動の余波が色濃く残っており,まだまだ正常に授業や試験が行われる状況には程遠かった.しかし,理学部キャンパスの方は比較的落ち着いていた.さて,その当時の京大理学部では,3,4回生向けの理学部専門科目を1回生から履修することができるだけではなく,講義の時間帯が重複していても何の問題もなく単位の取得が可能であった.しかも,単位認定は,学生が各講義の担当教官から成績を記入した「履修カード」をもらい,それを各自が自分の履修記録表に貼り付けたものを教務掛に提出する,というシステムであった.すなわち,万一単位を落としてもその落第記録は残らないわけである.あるいは「可」の成績がついた科目は,翌年度に再度履修して「良」や「優」などのよりよい成績を取れたら,「可」の履修カードを捨ててよりよい成績を記録に残す,という裏技(?)も可能であった.つまり,授業が難しくて単位を落とすのではないか,という不安をあまり感じることなく,安心して履修ができたわけである.そこで,さすがに1回生からの履修はしなかったが,2回生になると,背伸びをして専門科目をいくつも履修したものである.
 現在はコンピュータによって履修が管理される時代になっており,このようなことはもう不可能なのかもしれないが,思い起こすとこの当時のシステムは,私のようにグータラで,しかし学問に対する憧れだけは強い学生にとっては,真にありがたかった.失敗を恐れずに,面白そうと思った科目はすべてまずは履修してみる,ということが可能だったからである.

私はまさにこの「グータラで,しかし学問に対する憧れだけは強い学生」ですから、とてもありがたかったのです。去年は後期にひとつだけ、2回生向けの統計力学Aの授業と1回生向けの物理学基礎論Bの授業を二重登録していました。最初のほうは統計力学の授業にでていて、途中でついていけなくなって諦め、後半は物理学基礎論Bの授業にでてそちらの試験を受けて単位をとりました。もし二重登録の制度がなければ最初から統計力学の授業に出ようとは思わなかったでしょう。

それが突然廃止されるとなったのです。私はいてもたってもいられなくなり、噂を聞いたその日に理学部教務掛に行って話をきき、それが撤回されるようなことはないか、などと聞きました。今は担当者がいないから話が聞きたいならまた後日来てくれ、などといわれてしまいました。
その後、いろいろ考えたのですがやはり、そのまま諦めてしまいました。
こういった制度を残すことは来年入学してくる後輩への責務ではないか、そんなことを思ったりもしたのですが、やはり一人で話を聞いたり文句を言いに行ったりするのは怖かったのです。

この時に初めて自治会の大切さが身に沁みてわかりました。「私が理学部自治会とつながりがあればなぁ」と思いました*9。個人として行くのと自治会の決議を経て自治会の代表者として行くのではこちらの安心感も相手の対応も違うでありましょう。
寮と当局の「団交」などでは学生は顔をマスクなどで隠して、本名も伏せて発言しているといいます。それ以前の私はこういう話を聞いても大げさだなと思うくらいでしたが、実際に一度交渉してみようかと考えてその気持ちがよくわかりました。
はっきりいって怖いです。普段からいろいろとお世話になっている教務の方々やもしくは教授などにそういう人として顔を覚えられてしまうのを考えると、かなり気まずいです。
団交という形式にしろこういう顔を隠す方式にしろおそらく労働運動に由来しているのだと思いますが、当事者になってみてはじめてわかる偉大さでした。


さて、その後私はいろいろあっていくつかの「学生自治」の場に立ち会うことになりました。それで知ったことは、「自治は面倒くさいし大変」ということです。また、大学に入る前に漠然と想像していたような綺麗なものではないということです。
大学の自治とかいっても、結局は小さな政治です。お金の絡んだ話だとか本音と建前の使い分けだとか既得権益の確保だとか恫喝だとかそういった汚いものもたくさんありました。そして、「民主的」であるためにはたくさんの会議を開くなどしなくてはならず面倒です。

けれど、それでも自治を行おうとするのは、それに切実な理由があるからでしょう。私も理学徒ですから「政治などには関わるものか」と思っていたのですが、気づけばいつのまにか参加することになっていました。それは自分のあるいは周囲の人の利益を守るためです。仙人ででもなければ政治に関わらずいることは不可能であることに気づきました*10

自治が面倒くさいのは当然です。面倒だからと「上」にすべての決定権を委ねることもできます。近年は政治への関心が薄く、地方自治体選挙は言わずもがな国政選挙ですら投票率が低くなっています。この豊かな社会の中で政治の切実な必要さを感じなくなった人々は着々と「委任」の方向へ傾いていっています。

もしかすると「委任」の方が良い結果を導くのかもしれません。が、この大学で未だなお各所に「自治」のしくみが残っているのは、やはり権力への懐疑が根強いからでありましょう。私としては、この大学にくらいはこういった香りが残っていてほしいなと思うのです*11

*1:学費を以てその権利を買っているのですが。

*2:このブログでも幾度となく言っている気がします。

*3:大学入試で浪人しているし、そのことはほとんど気になっていないことから杞憂という気もする。

*4:http://www.manazooooo.com/entry/2016/10/09/171855

*5:哲学研究会とピースナビ。私は右翼を自称しているので彼らの意見とは相いれないけれど、そういう団体が存在しても良いと思っています。たとえば学園祭からは毎年追放決議がだされている原理研統一教会の宗教サークル)なんかも全学公認団体だったりするわけで、公認団体なんて自由に認定すればいいのになと。

*6:主に中核派のひとたち。

*7:同じ曜日・時限のコマに複数の授業を履修登録すること。ハーマイオニー

*8:数理科学編集部編「物理の道しるべ」(サイエンス社) 112ページより

*9:本当は理学部自治会評議会は誰でも参加できるわけですが、いかんせんよく知らない組織なので躊躇ってしまったのです。

*10:地方自治は民主主義の学校」という言葉がありますが、こうやって「自治」が政治の意味に気づかせてくれるということではないかなと思います

*11:東京大学にはそんなものは期待できませんから。京都大学は絶対に「ミニ東大」に堕してはほしくないものです。

海潮音

春日霞みて、葦蘆のさゞめくが如、笑みわたれ。
磯浜かけて風騒ぎ波おとなふがごと、泣けよ。

上田敏海潮音』(新潮文庫)所収 ジァン・モレアス「賦」より


憂鬱なとき、詩のことばが染みわたることがありますよね。
詩全体の内容は頭に入ってこなくとも、その一句だけが心に響く、なんてこと。

それだけです。
映画ガルパンに触発されて買ったこの本ですが、良いですよ。安いし。象徴詩はだいたいよくわかりませんが。

四国!

今度はけいおん風……?

アニオタ的教養しか無いのでこういうことを書きがちですが、漢籍を引用した古人も変わりますまい。

18きっぷの残り一日分の消費でどこに行くかを悩んだ末、日帰りで四国(といっても讃岐だけ)に行って参りました。

雑に写真を貼っていこうと思うので、重くなることを忌避しない方は続きをお読みください。

続きを読む

飯田線に乗った。

なんかのんのんびよりのサブタイみたいでよくないですか???

……はい。
旅行記事です。ほんとうは夏の間に由良に行ったり大洗に行ったり印刷博物館に行ったりもしていたのですが*1、それについては書く機会を失っていましたね。


しばらく実家にいたのですが、実家にいるとそれなりに健康的な生活が送れるのはいいとしても、進捗がほとんど生まれなくてあれなので京都に戻ってきました。

で、例の如く18きっぷを使うわけですが、今回は飯田線に乗るという趣向にしました。

どうせ飯田線に乗るのなら、一本で乗り通したいですよね、というわけで、頑張って朝5時過ぎに家をでて中央線を西し、上諏訪の駅に降りたちます。
諏訪には御柱祭の見物に訪れていたので、4ヶ月ぶりといったところです*2

とはいえ、そんなに時間は無かったので、諏訪の街に出るようなことはできませんでした。
ちょうど駅の中に足湯があったので入ってみようと思いました。中央線も高尾から2時間半ほどずっと同じ電車に座っていて既に疲れ気味だったのです。
f:id:suzusime:20160907040125j:plain

が、タオルなどを持っていないことに気付きました。手を少しひたして「あったかいなぁ」といって終わりました。

飯田線の電車は、乗ってきた中央線の電車がついたときにはもう止まっていました。

f:id:suzusime:20160907041347j:plain

上諏訪9時19分発、豊橋16時16分着の電車です。約7時間ですね。

快適な313系の車両とはいえ、やはりずっと座っているとお尻が痛くなりました(自明)。

飯田あたりまでのうち半分くらいは寝てしまっていました。
f:id:suzusime:20160907041946j:plain
この飯田市街の写真は、「あっ、河岸段丘かな」とか思って撮ったものなのですが、まったく自信がございません。

天竜峡駅を越えると、車窓はいかにも「天竜峡」といった風情になります。
f:id:suzusime:20160907042114j:plain

電車でGo!山陰本線保津峡のあたりを思い出していました。
惜しむらくは左側に座ってしまったことですね。基本的に天竜川は右側(西側)に見え続けていました。

あとは、トンネルに恐らく豊橋からの通し番号が振られていて、あと何個トンネルを越えれば平地に出るのかが分かるのは結構面白かったですね。百個以上だったのが恐ろしかったですが。
もともとは私鉄として開業したということですが、よくこんなところに鉄道を通したな、と思いました。

愛知県の平地になってからは、下校する高校生達が乗ってきて、朝からの時間の経過が感じられました。自分はただ座って窓の外を眺めていただけなのに、高校生が授業をはじめ、終わるだけの時間が過ぎていたのです。

車中の七時間、寝ていた時間と写真を少し撮った時間以外は、ほとんどぼーっとしていました*3
鞄の中には何冊かの本が入っていたのですが、時刻表以外を開くことはありませんでした。

電車の中で、ふと、「これが贅沢だな」という気がしました。
何も生産性のない時間を長時間とれるのです。
これぞ大学生の富、そうではないかと。

……たとえば新幹線の指定席で行くとしましょう。
たしかに席には必ず座れる。目的地にも早く着ける。
でも、割り振られた席に必ず座らないといけない。途中で適当に場所を動いたり、適当に気が向いた駅で降りて遊ぶなんてことは難しい。
そしてその上移動の時間を惜しむように車中で仕事をするビジネスマンなどというのは、どうも悲しい。
そんなことを思っていました。

話は飛ぶようですが、大学改革の話なんかで違和感をもつのは、そのあたりにあるのかな、と。
「教育力」とか言って、授業への出席を義務化したり、評価を厳密にしたり。
大学なんて図書館と出席自由の講義を提供してくれればいいので、あとは全部放っておいてくれと思う訳ですが*4、どうも世間の風潮がそれを許さないようで。
新幹線の指定席に押し込めるような、そんな社会に向かっているのかな、と思ったのです。

それが効率的なのかも知れませんが、どうも納得できないのは、鈍行で碌に予定も立てずに行く旅を好むような者だからなのでしょうか。
そんなことを考えるのも、なにもせずにぼーっと過ごしているからなのかも知れません。

閑話休題
豊橋に着いてしまえばもうこっちのものですよね。
快速米原行に乗って、米原で新快速に乗り換えればすぐ京都です。
下宿に帰って、大変なことになっていないことに安堵し、キラメキJAPAN*5で晩ご飯を食べ、KMC部室に吸い込まれて超人ロックをして帰りました。
こんな時間に日記を書いているのは、超人ロックのせいです、はい。

――以上。

*1:それ以外はほとんど何もしていない。

*2:そういえば、諏訪の市街の道路にはまだ御柱祭の飾りがあるのが車窓から見えました。まだ終わっていないのでしょうか

*3:正確にはその前の中央線の二時間程度も同じようにしていました。

*4:京大くらいはそうしてくれると思っていた。

*5:台湾まぜそばのお店。

はんこ画像生成botのソースコードを公開します

サークルのslackで動かしているはんこをつくるbotです。

f:id:suzusime:20160803164833p:plain

こんな感じに受け取った文字列をはんこ画像にして返します。

たまにこのブログ上でも登場していたのですが、折角なのでソースを公開しておきます。
gist.github.com

全体は2つのrubyスクリプトで構成されています。
はんこ画像を生成するmakehanko.rbとslackと通信して文字列を受け取ったりはんこ画像を投稿したりするhanyu_hanko.rbです。
つまり、makehanko.rbだけで独立したはんこ画像生成機として使うことができます。

makehanko.rbの使い方

画像に文字をいれるためにrmagickというライブラリ(gem)に依存しています。
これはimagemagickというツールをrubyから扱うためのラッパーのようなものなので、まずimagemagickのインストールが必要です。
私が動かしている環境(debian 8)ではaptitudeでわりとさらっとできた気がしますが、環境によってはこれが結構面倒だったような気がします。

次にrmagickというgemを入れるのですが、私はbundlerという支援ソフトを使っています。
bundlerの使い方は適当に調べて下さい。

最後に、同じ階層にfontsというディレクトリを作って、ここにipaexm_tate.ttfを突っ込んで……と言おうと思ったのですが、このフォント(IPAex明朝を縦書き字形に変更したフォントです)、フォント名からIPAを消していないのでライセンス上公開できないんですよね……
作り方は
旧字フォントをつくった - すずしめにっき
で触れているので、興味のあるかたは作ってみて下さい。
作るのが面倒というかたは、適当なフリーフォントをfonts/hoge.ttfにいれてhoge.ttfを使うようにコードを修正して下さい。
(気が向いたら再配布できるように名称を変えたフォントをアップロードします……)

準備ができたら、

$ bundle exec ruby makehanko.rb 任意の文字列

で使うことができます。

既知のバグとして円記号(バックスラッシュ)が空白になってしまうことがあります。
どうもrmagickのエスケープ文字の絡みなのですが、よくわかりません。

hanyu_hanko.rbの使い方

このスクリプトがやることは、slackの投稿を監視し、正規表現に合う文字列が投稿されると、そこから抽出した文字列を引数としてmakehanko.rbを起動、生成した画像をgyazoにアップロードしてそのURLをslackに投稿、です。
slackのAPIで画像を直接アップロードすることもできるのですが、ユーザー名・アイコンを変更することができなくてbotらしくならないので、外部サービスにアップロードします。
Gyazoスクリーンショットを共有するための便利サービスですが、APIが公開されていて画像を手軽にアップロードできるのでアップローダー代わりに使っています。
ただ本来のスクショ機能も便利なので最近依存しています。
ちなみに私はNota.Incでバイトをしていないので回し者ではないです。

さて、このスクリプトは"slack"と"gyazo"というgemに依存しているのでまずはそれをbundlerで入れます。
また、環境変数でSlackとGyazoのトークンを指定します。名前はソースを見て下さい(外部に公開しないならばソースを編集して直書きしても構いません)。
それと/home/hoge/と書いているあたりを実際にmakehanko.rbを置いているディレクトリにあわせて修正して下さい。

あとは普通に

$ bundle exec ruby hanyu_hanko.rb

で起動するだけです。
なお、もとのhanyu.rbには他にもいろいろ機能があるのですが、はんこ機能だけ抜き出したのでhanyu_hanko.rbという名前になっています。

これを永続的に動かすためには、もちろん常時起動しているコンピュータが必要になります。
私の場合はサークルのサーバーで動かしていますが、自宅のPCが常時起動している場合や、自宅サーバーがある場合はそれで良いでしょう。
無い場合は、さくらあたりで賃貸サーバーなりVPSを借りるなり、いまどき流行りのAmazonなんとかとかへろく(?)とかと契約すればいいのかもしれません(よくわかりません)。
もしくは京大マイコンクラブに入会すればよいでしょう。

サーバーからログアウトしても動かし続けるためには、tmuxを使うのがお手軽です(tmux上で起動→Ctrl+Dで抜けるだけ)。
私も最初の内はそうしていたのですが、このbotは結構な頻度で落ちるので、落ちる度にいちいち起動するのは面倒でした。
今はnode.jsのforeverというツールを使っています。こいつを使うと落ちても勝手に再起動してくれる(?)ので便利です。
foreverはnode.jsのパッケージなので、

  1. nvmを入れる。
  2. nvmでnode.jsを入れる。
  3. npmでforeverを入れる。

という手順になります。
あとは

$ forever start -c bundle exec ruby hanyu_hanko.rb

です。

その他

f:id:suzusime:20160803180144p:plain
脆弱性には注意しましょう*1

これはSlackのbotとして動かしていますが、Twitterbotなんかも似たような感じで簡単に作れます。
ただ、不特定多数の入力を受け付けるようなものを作るのは怖かったのでSlack botしか作っていません。
正解でしたね……

セキュリティには気をつけて、みなさん楽しいBot生活を!

*1:当時はmakehanko.rbを起動するところを普通にshellを経由して呼び出していたので、バッククオートで囲んだ文字列をわたすと実行可能になっていました。所謂「任意のコマンドが実行可能になる脆弱性」ですね。そもそもシェルでバッククオートを使ったらコマンドを実行した結果を代入できるなんて知らなかったのですね。こんな小規模なプログラムでそんな恐ろしいことになるんだと驚いて、セキュリティの意識が高まる一件でした。ほんとセキュアプログラミングは大事です。