筑波大学編入体験記

namachan10777.hatenablog.com

筑波大学編入し、春学期がほぼ終わったのでここで体験記を書いていく。 その前に

f:id:namachan10777:20200809160200j:plain
点数黙示録カイジ

意外と取れてた。自分の自己採だとどうやっても240が上限だと思ったのだけど、この点数を見る限り多分魔法の力が働いたんだと思う。

入学まで手続き

まず試験後の関門は事務手続きにある。 今年のような例外的なスケジュールだと話は別だが、筑波大学東北大学の併願を行うような場合は書類提出がギリギリになるのでなるべく早く書類を書かないと後々困る。 ただやることはそこまで多くはないし、大抵の場合は高専と往復するだけで必要な書類は揃うのであまり難しくはない。

入学後手続き

宿舎入居とか大変そう(今年はスケジュールが狂っていますが)。とにかく入居に加えて履修、単位変換、奨学金と手続き祭りになるので狂う。 高専から卒業証明書と成績証明書をもらう際に5組くらい一気に申請しておくと狂いにくくなる。余ったら捨てればええ。 単位変換は編入の先輩に見ていただき、次に担任の教員のチェックを受けて事務に提出する運びとなるが、 この担任の教員のチェックが人によって結構変わる。 自分はほぼノーチェックで通ったが、中には非常に厳しく何度も突き返される場合がある。 単位変換は事務の作業なのでここでの担任の評価は(多分)単位変換とは関係しないので、本来の事務の基準より厳しい担任を引かないように祈りましょう。 このときにあとひとつでも情報に関連する単位を取っておけばと後悔するので、高専の講義はしっかり取っておいたほうが良い。 自分は後悔しました。

つくば市について

自転車か車がないと生きていけない典型的な地方です。地方ではあるが、地方特有の異常にデカイショッピングモールが1駅先にあるので自転車があれば生活はそこまで困らない。 東京都民などは「街が死んでいる」などと評するが、多分四国出身者などからすると住みやすい街だと思う。

筑波大学について

筑波大学では学類によらず他学類の講義を自由に取れる。(多分)全ての学類で自由単扱いなので8単位以上取っても卒業要件には関係ないが、 面白そうな講義を自由に取れるという利点はかなり大きい。 総合大学でかつキャンパスが(事実上)単一であることの利点であると思う。2外もおよそ他大で2外として取りうるものは履修可能であるし、人文の講義としてラテン語サンスクリットアッカド語なんてのもある。

高専と比べると講義のレベルも高いものが多く(高くないものもある)、かなり充実感はあると思う。 実験の内容を見ても、学生も教員も多い分だけハードなテーマの物が多くある。 ちなみに編入生が優秀というのは本当のようで、自分はいろいろあってBを生やしまわっているが周りの編入生はGPA4位を取っている。こわすぎ。 今年は土曜にも講義が入ったのもあるが、何かしら時間を食う労働をやっていると簡単にスケジュールが崩壊するので奨学金と(可能であれば)仕送りで食いつないだ方が良い。 アルバイトを親等から要求される場合があると思いますが、頑張ってモラトリアムしましょう。

NixOSをデスクトップで運用する

使い始めて数週間経ったので、NixOSiが何者かなどは置いておいて、今の所の運用について。 システムの部分については/etc/nixos/configuration.nix/etc/nixos/hardware-configuration.nixに書く。 これに関してはインストール時にテンプレートが置かれているので特に苦労も無いと思う。 ハードウェア毎に設定をまとめたものが公開されているのでThinkpadの設定も一発で使える。 Archだと自分でWiki読んで設定するべきところがNixOSだとテンプレートをちょっと改変するだけで使えるのは(NixOSのチームによって十分サポートされていることについては)楽。 最新の定義使いたいときは/etc/nixpkgs/とかにクローンしておいてnixos-rebuild switch -I nixpkgs=/etc/nixpkgs/とすればいい。 github.com

Vimの設定やシェルの設定ファイルの管理にはhome-managerを使うと便利。 $XDG_CONFIG_HOME/nixpkgs/home.nixにコンフィグを書いて管理する。 github.com

ここに設定を置いていますが、多分他の方の設定ファイルを参考にしたほうが良いです。

辛さ

  • ldすら普通の位置に無い(それはそう)ので、ldが普通の位置にあることを仮定しているソフトウェアは動かない(それはそう)。Rustのcrossとか動かないです。
  • fcitxがgtk上で動かない。GTK_IM_MODULE_FILE辺りの設定の問題らしい。issueで報告あるので自分の環境だけではないっぽい。 alacritty上で書いてクリップボードにコピーしているけどこれは直したい。ただIMはそもそもうまく動かないものなのでNixOS特有の辛さではない。
  • pkg-configもそのままでは動かない。なので外部のライブラリに依存するRustのクレートとかビルドできない。$PKG_CONFIG_HOMEを手動で設定すれば動きます。

RustのcrossはNixOSで動かない

以上です。だと味気ないので原因を簡単に。 crossとはdockerコマンドをラップしてRustでのクロスコンパイルを簡単に実現できるツールなのだけど、 現行のcrossの実装ではライブラリ、ツールチェーンをホストの環境からイメージ内にマウントすることで実現しているのだが、これが問題になる。

ご存知のようにNixOSではldすらハッシュ付きで/nix/store/xxxxxx-みたいなパスに配置されており、 NixOSのrustupでもツールチェーンのインストール時にバイナリパッチで利用するldを書き換えてインストールするようにしてある。 なので存在しないldを読みに行こうとしてsh: 1: cargo: not foundなんて言われることになる。

幸いdocker in dockerはサポートされてあるのでdocker in dockerで使いましょう。 ホスト環境に依存しないdockerイメージにしてくれれば楽なんだけど……

netlifyでトップとしてindex.xhtmlを置く

github.ioはデフォルトでindex.xhtmlがあればトップページと解釈してくれるのですが、netlifyはそうなりません。 _redirecsを置いて//index.xhtmlに飛ばせば解決できます*1。書き換え(rewrite)なのでステータスコードは200です。

/ /index.xhtml 200

STMマイコンが動かない時に疑うこと

ショートっぽい

  • ショートしていないか
  • VCAPとVddが繋がっていないか

    書き込めない

  • VREFに電圧は印加されているか
  • 電源ラインは荒れ狂ってないか
  • SWDIO/SWCLKは正しく接続されているか
  • マイコンの向きは正しいか(左下の小さい円が1番ピンのマーク)

    書き込めたけど動かない

  • クロック設定は正しいか
  • NRSTはHIGHになっているか
  • CubeMXでSequence configurationはしたか( Toolsタブから開いてDisable Auto Refresh……とEnable Auto Refresh……をポチポチ切り替える)

今日まで

卒研発表が終わった。 私の研究は来年度にも引き継がれるのでドキュメント作成は残っているし、中止になった学会もオンラインでオーラル発表を出来るらしいのでまだ完全に終わったわけではないけれど、学会予稿に始まり3月までに文章だけで殆ど500コミットとかになっていたので一息ついた感覚がある。 後は頼まれたソフトウェアを1つ書いて業務を1つやればいいので大分タスクが片付いてきた。それ以上にスケジュールが無くなるほうが速いのが悩みどころではある。

パラサイトを観てきた。TLの話題的にちょっとタイムリーだったかも。 後はSHIROBAKOとMID SUMMERを観たい。メイドインアビスは原作を知っているので最悪観れなくても良い。 SHIROBAKOは絶対観たい。23話ガチ泣き勢としてはね。

心配していた筑波大学の入学手続きも無事出来ていたようで、今日宿舎入居の書類が届いた。 周りが余りに宿舎を避けるのでマリッジブルーみたいになっていたけどなんだかんだで期待してきている。 来年のこの時期には宿舎から出るのを心待ちにしているかもしれないけど。