2017年11月6日

弊研究室では、毎年冬ゼミと称した合宿がある。学会の練習の意味も込めて、研究概要締切、原稿投稿締切が設定され、学生 (主に M1, B4) は指導教員の OK をもらってから自身で登録する。当日は、プレゼンに加えて長めの質疑応答の時間が取られ、弊研究室で博士号を取得したOBも容赦なく質疑をするので、学生にとっては厳しめのイベントである。

 

例年、概要や原稿の登録は研究室自前の Web システムから行うのだが、このシステムは非常に温かみのある運用がされていた。HTML に埋め込まれた PHP でユーザ認証、投稿機能を行っており、それはいいのだが、冬ゼミのプログラムの作成や締切の設定は完全な手積みであり、管理者がサーバ上で作業を行っていた。また、バックアップのために、更新された index.html は手動ローテートされており、index.html, index2.html, ... と並ぶ。これが更に 2016, 2015, ... と並んでいる。

昨年この現状を知ったときはすぐにでも新しいシステムを構築したいと考えたが、当時は自分が投稿する立場だったので、余裕がなかった。今年は、運営する立場となったので、このシステムを刷新することにした。需要は全くないと思うけど一応公開しておいた。

github.com

 

将来のことも考えて (?) Rails を使った。管理者側の Web UI も実装して、サーバに入る必要がなくなった。通常ユーザの機能はすぐに終わったが管理画面は意外と面倒であることが分かった。管理者が簡単にプログラムを作成できるように Vue.js を使ってみたけど、やはり jQuery を使うよりは実装速度が落ちるしなにより Rails 側の API も面倒だった。まあとりあえず目標期限までに動く状態になったのでよしとする。

 

 

ところで、Amebaなうというサービスが今日終了した。

ameblo.jp

某声優のつぶやきを見るためだけに利用させていただいていたが、実際に終わってしまうとさらに声優が発信する情報が減ってしまいそうで悲しい。

2017年7月2日

声優はアメーバブログを使ってブログを書く。 これはまだいいが、アメーバなうというツイッターみたいな良くないサービスを使う声優もいる。 僕はアメーバプラットフォームにはアクセスしたくないので、アメーバコンテンツの更新をツイッターに垂れ流す クローラーを Rundeck on EC2 で動かしていた。 最近バイトで Lambda を使っているのもあって、 思い立ってこれを CloudWatch, Lambda, DynamoDB でサーバーレスクローラー化した。 無料枠でいい感じにできている。 github.com

ところで小澤亜李がニコ生で記者会見をやったらしかったのでタイムシフトで見ているが、完全に茶番だったので良かった。

live.nicovideo.jp

実はこの元気のでるラジオ、1回か2回しか聞いたことが無い。 たまたま聞いた時、リスナーが小澤亜李と電話するみたいなコーナーがあってオイオイオイオイみたいになった覚えがある。 確かに好きな声優と電話したら元気はでると思う。

プロジェクト名古屋といえば、昔夜行バスで名古屋に行ってなんか高そうなホテルで行われたイベントに参加したことを思い出した。 プロジェクト名古屋は名古屋が遠すぎるのもあって疎遠になっている、というか声優と疎遠になっている気がする、でもリステージには真剣です。

ニコ生のほうに話を戻すと、おざなりが展開されていて、記者まりあちゃんかわいいすぎて無限にニヤニヤしてしまった。 なんでこんな話を書いているかというと、ジャーナルのリプライレターを書くために研究室に来てはみたが全然やる気がでないからである。

大学編入の成績について

僕は高専から大学に編入した人間です。これはもしかすると常識で僕が知らなかっただけかもしれないけど、編入したりして単位「認定」になるとその単位の成績は60点の扱いになる、というのは全国共通の事項らしく、今日知りました。

僕の所属する大学の院の試験は、大学の単位の平均点が高ければ筆記試験が免除となり面接試験のみというシステムです。僕は編入してからの大学の単位の成績としては平均93点ぐらいだったけど、院試を筆記免除では合格できなかったという事実を修士2年にてたった今納得することができました。本当にありがとうございました。

 

201706262152 学部の研究室配属について追記:

東工大情報工学科においては、学部3年次に研究室配属のイベントがあります。このイベントでは、学科長直々に、編入生の成績については3年次以降だけを考慮します、とのアナウンスがありました。そのため、学部の研究室配属では無双状態でした。

 

201706262206 さらに追記:

僕の次の年からの編入生は、教育改革の影響で、筆記免除の試験で合格しやすい状況にあるようです。これから院試に望む編入生に幸あれ。

2017年6月20日

HTTPS の時代なので、itkq.jpHTTPS にした。 AWS で全部やった。

  • AWS Certificate Manager で証明書発行
    • メールを受け取る必要があったので SES でドメイン登録と S3 へ転送のルール作成
  • CloudFront で新規 Distribution 作成
    • origin: “itkq.github.io”
    • path: “/itkq.jp”
    • policy: Redirect HTTP to HTTPS
    • 発行した証明書をセット
  • Route 53 で A (ALIAS) レコードを追加して CloudFront に向ける

Route 53 の設定でリソースレコードとかがよく分かっていないことが分かったので DNS & BIND を図書館で借りて読んでいる。 逆引きの仕組み知らなくて、改めて知ってこんな感じだったのか、という気持ち。

2017年6月

下記エントリで書いたように、最近は Linux やネットワークについて学んでいる。

itkq.hatenablog.com

具体的には、まず Unix の歴史や位置づけについてまとめた (Unix の歴史と思想, Unix 以外のオペレーティングシステム)。 その後 Linuxシステムプログラミング を読んだ。プロセスやメモリ関連の基本は理解していたつもりだったが、 システムプログラミング上で必要だが知らなかったこと (fork() するとファイルディスクリプタは引き継がれる、とか) を知った。 まとめとして、ファイル I/O について書いた (Linux におけるファイル I/O の基礎)。

これまでに得た知識を基に、実践的なネットワーク内容として、HTTP/1.0 サーバを C で書いてみることにした。 RFC1945 をまず読んでから、Macbook に入れた Ubuntu でおよそ5年ぶりぐらいに C を書いた。 可能な限り man を読んだ。man 7 はかなり役に立つことを知った。 前に読んだ Working with TCP Sockets1 を参考にして prefork を実装した。 しかし文字列操作などで消耗して、学びたかった本質ではなくなっているように感じたため、HTTP/0.9 ぐらいの実装で一旦終わりにした。

github.com

今後は HTTP/0.9 から HTTP/2 まで、どのように変遷してきたかを、RFC を読みながらまとめる予定だったが、 いいタイミングで Real World HTTP が出たので、購入して読んでいる。 まさに学びたかった内容が体系的に整理されており、参考になる部分が多い。

ところで、最近は Go 言語に興味がある。 正確には Go 1.6 ぐらいから興味はあって、Go で Web アプリケーションを書いたこともあったのだが、今回はシステムプログラミングという文脈である。 Go はその特徴から、現代でシステムプログラミングを学ぶいい教材と言われている[要出典]。 色々良し悪しはあると思うが、インフラレイヤーにおける Go 製のアプリケーションが増えていることから、今後まともに読み書きできるようになっておいて損はないと思うし、 Rust はまず学習が大変だと思った。

今は下記の特集を読んでいる。素直に面白い。 ascii.jp

今度は Go でなんか書くか読むかしようと思う。


  1. この本は英語で書かれており、Ruby を使って TCP ソケットを学ぶという内容だが、取っ掛かりとしてはわかりやすく、興味を持てるのでいい本だと思う。

Arch Linux を捨てて Ubuntu を入れた

数日前に Arch Linux を捨てて Ubuntu 16.04 LTS を入れた。

元々 Linux を Macbookpro に入れたかったのは、Linux プログラミングをちょっとやりたかったのと、 別にもう macOS じゃなくてもいいかなという気持ちがあったからである。 Arch Linux にしたのは、やっぱり余計なものが入ってないからいいのと なんとなくカッコイイのが良かった。Wiki は情報豊富だし、Macbook に Arch Linux を入れてる記事も 多くて助かった。しかし、自分でなかなか解決できない問題もあった。具体的には、全体的な発熱と サスペンド(ハイバネート)しない問題である。

前者については、起動直後は CPU が 50~60度で、 i3wm を起動してブラウザを開くと 70度ぐらいになっていた。CPUスケーリングやファン制御デーモン、 省電力設定を色々やったけどあまり改善しなかった。無理やりファン回転数を上げれば温度は下がったけど 騒音と電力的に良くなかった。

後者は、具体的には数秒 CPU がストップした後数秒ですぐに復帰してしまう問題だった。 /proc/acpi/wakeup で余計な復帰要因を消したけどダメで、dmesg をみてもよくわからん状態だった。 Arch Linux に詳しい後輩によるとたぶんスワップの設定がおかしかったらしい。

こんな感じで、元々の目的を忘れて環境構築にふけっていたわけだけど、色々やっていたらある日 OS が起動 しなくなってしまった。EFI Bootable USB で chroot すれば復旧はできたかもしれないけど、面倒になって 勢いで Ubuntu をバーンとやったというのが経緯である。Arch Linux が上級者向けというのがよくわかった。

Ubuntu にした理由は、まず標準のおもてなしがあって楽なところと、 Web サービスの本番環境にも使われるメジャーな OS なので、詳しくなっておいても損はないと思ったところが ある。下記事を参考にしながら、k0kubun/dotfiles をクローンしてドーンとやったらターミナル周辺がいい感じになったので 助かった。

k0kubun.hatenablog.com

今のところ大きな問題は発生していない。しかし、外部ディスプレイの扱いが面倒なのと 外部キーボードを付けたときのリマップがうまくいっていないので早急になんとかしたい。

パリに行った

昨年10月頃に出した原稿が今年1月頃にアクセプトされて、5月に開催された学会に行ってきた。 場所はパリ。

パリへ行く

そもそも海外に行ったことが無かったので結構心配だった。 一方で大して調べずに空港へ行ったら、トラベレックスで両替できるのが JCB のカードだけで、JCB のカードを家に忘れたので有り金をすべて両替する羽目になった。

機内では、開幕よっしゃいくぞと思って白ワインを頼んだら結構派手目に服にこぼされてしまい、服を着替えさせられるという事件があった。出鼻をくじかれてしまい、以降行きの機内では酒を飲まなかった。

入国審査は余裕だった。 部屋の写真は撮り忘れたけど結構いい感じの部屋だった。

パリ

シャルル・ド・ゴール空港はなんか異様だった。f:id:itkq:20170520003447j:plain

街並みはヨーロッパと言う感じで綺麗だったが道とかは汚く、はっきりいって臭いがひどかった。特に地下鉄構内。 駅はかっこいい。f:id:itkq:20170520173629j:plain 夜は時計が光ってた。f:id:itkq:20170525230300j:plain

これは夜の8時の写真だけど、このくらい明るい。f:id:itkq:20170523194251j:plain

学会

これが学会の様子です。f:id:itkq:20170522105800j:plain これはレセプションの様子です。f:id:itkq:20170521182446j:plain

美術館

ルーブル美術館オルセー美術館、近代美術館の3大美術館に行った。 ルーブル美術館は異常に広かったけど、建物自体の雰囲気とか装飾の迫力が凄くて一番印象に残っている。 f:id:itkq:20170525165502j:plainf:id:itkq:20170524152626j:plainf:id:itkq:20170520153241j:plain

画像です。95%ぐらいの飯はうまかった。昼からワインを飲めるのがいい。 f:id:itkq:20170520133302j:plainf:id:itkq:20170520135415j:plainf:id:itkq:20170520143013j:plainf:id:itkq:20170520202701j:plainf:id:itkq:20170520203603j:plainf:id:itkq:20170520222528j:plainf:id:itkq:20170521091750j:plainf:id:itkq:20170521143930j:plainf:id:itkq:20170521145931j:plainf:id:itkq:20170524121535j:plainf:id:itkq:20170524125304j:plainf:id:itkq:20170524134207j:plainf:id:itkq:20170524204306j:plainf:id:itkq:20170524205203j:plainf:id:itkq:20170524212142j:plainf:id:itkq:20170524212504j:plainf:id:itkq:20170524234928j:plainf:id:itkq:20170525122353j:plainf:id:itkq:20170525124105j:plainf:id:itkq:20170525200719j:plain f:id:itkq:20170525203223j:plainf:id:itkq:20170525214018j:plain

パリから帰る

日本⇔パリは直行便で11時間かかるが、行きも帰りも時差ボケが発生しなくて良かった。 パリでは英語は通じたけどまだまだだなと思うところもあった。その結果英語に対するモチベーションが上がって今は海外ドラマを英語字幕で見ている。