月を見上げています

アウトプットのために定期的に書くようにしよう(自戒)

2025年の移動とその所感

2025年は初めて私用の旅行で航空機移動を多用した年になった。実際のところ大学生になってから初めての航空機利用は去年の徳島行きだったし、(精々東海道線の範囲内とはいえ)遠出をするようになったのも去年の夏頃からだったので、実質的に遠出+旅行という趣味を見つけ出したのが今年からということになる。この歳にもなってそういった趣味にハマるのはあまりないことであるとも思うので、折角だし年末の機会に現状の所感を、空港を軸にした移動の思い出としてダンプしておくことにする。

"使った"の基準はその空港から離陸した・その空港に着陸した、とする。順番は特に決めていないが、概ね利用時の時系列順か規模順になりそう。

国内

羽田空港 (HND/RJTT)

言わずと知れた、日本で最も大規模で利用者数も多い空港。関東圏の巨大空港だとここと成田が存在するが、JALの国内線はほとんど全て羽田に発着するので、国内旅行は基本ここが始点・終点だった。[居住地]からのアクセスはあまり良くない(電車で2時間かからないくらい)が、一度東京付近まで出てしまえば交通手段は複数存在するのでそれほど不便を感じたことはない。基本的には京急のほうが安いので品川で乗り換えて京急ばかり使っていた。

使ったことがない人向けに説明すると、羽田はターミナルが3つあり、第1ターミナルがJAL、第2ターミナルがANA、第3ターミナルが国際線全般という振り分けをされている(例外もある)。なのでほとんど第1ターミナルを使っていて、駅で降りてから保安検査場に行くまでの流れは大体覚えてしまった。JALの保安検査場は混雑具合が偏ったりするので適宜ディスプレイを参考にしたりして空いているところに行くと良い。ただ意外とターミナルのビル自体は広くて、5階に滑走路を見渡せる配置のスタバがあったのは最近まで知らなかった。惜しむらくは展望デッキが屋外なことで、春秋とかはいいのだけど夏場は直射日光に灼かれて本当に暑い。その点第2ターミナルは屋内の展望デッキがあって羨ましいと思う。その代わりに滑走路を挟んで第3ターミナルがあるから、いろんな会社の飛行機が見られて良いんだけど。

あと、授業で見学会をやってくれて、制限エリア(誘導路とか)に降ろしてもらっていろんな設備の見学をしたりした。普段では見られない距離・アングルで航空機の着陸が見れて楽しかったし、そもそもこんな機会でもなければここには入れない。

16L/34RのILS越しに滑走路を見ているところ。奥には降りてきている飛行機が見える

岡山空港 (OKJ/RJOB)

ザ・地方空港という感じ。入っているお店も少なめ(新潟空港よりは多い気がする)。標高が高めのところにあるらしく、今年初めて雪を見た覚えがあってやや感慨深い。

岡山空港でターミナルを出たら雪があったところ。[居住地]はめったに雪が降らないので、今年初目撃となった

山の中にあるので市街地へのアクセスはやや悪く、岡山市街地や観光地の倉敷へはバスで30-40分程度かかる。双方から直行のバスが出ているので、岡山駅に着いてから電車で移動して、倉敷からのバスで帰るということもできる。余談だけど岡山の地理に疎すぎて、津山に行こうとしたら遠すぎてびっくりした(結局行かなかった)。

初めて飛行機を自分で取って行った所で、卒業間近の先輩と行ったりとか、初めて飛行機の遅延に遭遇したりとか、そういう意味でも色々と思い出が多い。

新千歳空港 (CTS/RJCC)

言わずと知れた日本の北の玄関口。羽田から新潟への直行便がないので、乗り継ぎと観光を兼ねて行った。よく聞く話だけど羽田-新千歳の路線はドル箱らしくて、実際自分もA350-900の便を狙って取った。この機種はJALにとっては最新機種で、席のディスプレイで飛行中に前を見ることができる。このとき以外にも確か福岡行きもA350に乗っていて、新しいだけあってかなり快適だった。

アクセスとしては、空港から直行の電車があるのは良いんだけど(それでも40分かかる)、その値段が片道2000円もするので唸ってしまう。しかも空港発はいいけど、札幌駅から空港に向かう便は30分に1本程度しかない。もしかして過疎路線の赤字をここで回収しようとしている?乗り継ぎが怖かったので2時間程度の滞在しかできず、正直割高に感じるが評判の町並みや雪景色は綺麗だった。

国際線も多く就航しているだけあって空港ビルもかなり大きく、お土産を買う所も多い。早々に保安検査を抜けてしまったのを今更になって少し後悔している。時間があったらまた行きたいし、今度は泊まりで北海道観光をしたい。

新潟空港 (KIJ/RJSN)

ザ・地方空港(2)。このエントリに書いている空港の中では唯一到着だけの利用で、本当に印象がない。今Wikipediaを見たら赤字がすごいって書いてあったけど、並んでいるのが那覇とか福岡なのでそこまで大したものではないんだろうと思う。そういえばお正月の羽田の事故は海上保安庁側の目的地が新潟空港だったし、実際防災方面では活用されているんだと思う。

福岡空港 (FUK/RJFF)

言わずと知れた九州の玄関口。この空港について特筆すべきはそのアクセスの良さで、福岡空港駅から博多駅までは地下鉄で5分、繁華街に行くなら天神駅まで10分で、凄まじい利便性を誇っている。実際太宰府天満宮に行くにも2回乗り換えでそのまま行くことができて、すごく楽だった。所要時間1時間というのは広島空港ならようやく広島駅に辿り着くくらいの時間なので、突発日帰り旅行にはぴったりである。

飛梅はその奥の建物が補修中で、ちょっと寂しそうだった

空港そのものもお店がそれなりにあって便利だし(とはいえ近いので食事は天神あたりで済ませるのが良いかも)、日本で指折りの過密空港だけあって展望デッキにいると次々に飛行機が降りてきて飽きない。787に乗りたくてJALの最終便を取った結果夕暮れの中を列をなして降下してくる飛行機が見れて、一種幻想的な景色だった。ちょっと遅延したのも相まって[居住地]への終電ギリギリになってしまって焦ったのはまた別の話。

完全に余談だけど、行きの飛行機で隣の席のぐずっている赤ちゃんに構い倒していたら、授乳で席を立ったタイミングでCAさんから感謝の言葉をいただいたのを未だに覚えている。赤ちゃんが泣くのを気にせず公共交通を使える世の中であってほしいな。

広島空港 (HIJ/RJOA)

それなりに利用者数も多いしそこまで地方空港というイメージはなくて、むしろ広島に行くとなると新幹線よりは飛行機という印象があったんだけど最近友達と話したら違うらしい。正直行った後でも空港自体への印象がめちゃくちゃ薄くて、アシアナ航空のILS破損事故の記憶しかない。そういえば山の中にあってアプローチが難しい空港だった気がする。帰る前にアナ雪か何かのラッピング機体が降りてきて(まさに乗って帰る機体だった)、それ目当ての人が結構いたのを今思い出した。

広島というと厳島神社があるけど、空港自体が山の中なのでアクセスは本当に悪い。まず広島駅まで高速バスで1時間かかるし、そこから電車と船を乗り継いで更に1時間くらい必要。かなり時間に余裕はあったはずだったのに、滞在時間はそれほどなかったし帰りに広島駅でご飯を食べる時間もなかった。広島駅の評判のいいご飯屋さんはそれなりに並ぶので、それ込みで予定を立てないと破綻する。

移動時間に文句をつけてはいるけど、厳島神社は興味深い場所だった。正直神社仏閣にそれほど興味はないので本体はそれほどでもないが(失礼)、渡し船のようなフェリーには初めて乗ったし、それがJRによって運営されているというのがどこかシュールに思えた。あと、瀬戸内特有なのかはわからないが、波の低い海と明るい色の砂浜、そこから急峻に立ち上がる地形という風景がどこか異国情緒があった(日本なんだけど)。

1. フェリー乗り場から。対岸が近くて、まるで泳いでいけそうに思えてしまう
2. 日差しの強い日で、明るい色の砂浜が特に映えていた

けどやっぱり移動時間はどうにもならない(ごめんなさい)。

全く広島空港には関係なくて羽田の話なんだけど、行きの737に乗る時にいわゆる沖止めで、バスに乗って移動したのが面白かった。当然だけどボーディングブリッジのない場所にぽつんと飛行機がいる。普段は感じられないサイズ感で対面することになって不思議な感覚だった。

那覇空港 (OKA/ROAH)

言わずと知れた日本の南の玄関口(言うほど玄関かは謎)。空港としての規模も大きく、国際線ターミナルが国内線と同じくらい充実しているのは観光地としての土地柄を感じる。窓ガラスが熱線カットガラスだったり建材の材質が本土(沖縄の知り合いは内地と言っている)では見ない白っぽいものだったりと、降りた瞬間から別の文化圏を感じさせてくれてかなり良いと思っている。市街へのアクセスがゆいレールで直ぐなのは素晴らしいんだけど、海岸だったり美ら海水族館だったりと観光地に行くには車があったほうが便利だと思う。

美ら海水族館の大水槽

自分は国際通りで食べてしまったけど、A&Wの店舗もあるらしい。展望台は屋外なので夏場だと暑くて10分くらいで退散した覚えがある。ただ空港ビルの4階あたりに屋内から滑走路方向を見られるデッキのような場所があって、そこなら涼しいとは言わないまでも十分生きていけるので、長時間の観察がお好みならそこがいいと思う。

JTAの可愛いラッピング

直行便が取れなかった石垣からの帰りにも寄った。いつ行っても国内線ロビーに外国人観光客の方が多い。羽田の国内線だともっと少なく感じるから、日本に観光で来てる人達が立ち寄って……ということが多いんだと思う。飛行機を待っている間にフランス・アメリカの人と話したんだけど、そのうちアメリカの人が(大統領のことが)恥ずかしくてどこ出身か言えない、と言っていたのが失礼だけど面白かった。

女満別空港 (MMB/RJCM)

地方空港(3)。9月頭に避暑に行って、目論見通り涼しかった。風は涼しいのに日差しだけ暑いという秋みたいに爽やかな気候で、許されるなら一週間くらい居たかった。ただ空港周辺は本当に何もない。コンビニすらまばらで、本物の地方空港という感じがする(失礼)。女満別駅というものがあったので(あと網走に行くには時間的制約が厳しかったので)バスでそこまで向かってみたけど、本当になにもない(2)。電車は二両編成のディーゼルカーが数十分〜数時間に一本来ているらしくて、下手に乗ってしまうと空港に戻れなくなる。

牧歌的に線路の上を渡る方式。改札は車両内にある

駅の向こうには網走湖がある。キャンプ場もあって良さそう。車で旅行しているとちょうどいいんだろうな。

網走湖、らしい

折り返しで帰りの便になる機材が遅れていて、到着を展望デッキで待っていたら日没になってしまった。日が沈むと涼しいと言うよりも寒いというレベルになる。パーカーを持っていって良かった。

女満別市街はなにもないので、交通手段を十分に調べたうえで網走まで出る旅程を組んだほうがいいと思う。少なくとも網走には監獄がある。

石垣空港 (ISG/ROIG)

ずっと行きたかった石垣に9月中旬にようやく行けた。羽田発の石垣行き(JAL)はこのエントリを書いている時点では6:30発と14:35時台発の二便しかなく、かつ14:35発では日帰りの場合滞在時間が1時間程度しか取れない。6:30発は[居住地]から公共交通利用ではどう逆立ちしても間に合わないので、別件で東京に泊まる用事があり空席もあったタイミングでの強行となった。

実際に訪れてみると島全体として想像していた通りの離島という感じで、かなり興奮した。アプローチ中の飛行機から石垣島全体が見える!着陸して直ぐに帰りの飛行機の座席指定をして、島が見える方向の窓際にした。これが大正解だったので、石垣空港を使う人は島が見える方角の窓際席をおすすめしたい(事前に指定していると1/2の確率になってしまうけど……)。

離陸時に島が見える様子 ちなみに非常口席だった

島自体の人口だったり面積はそれこそ離島の規模ではあるけど、国際線が就航していることもあってか施設は綺麗だし、チェーン店や飲食店も入っていてかなり賑わっていた。9月だったので夏休み需要だったのかも。

海も山も写真より近く見える

展望台は他の空港ビルから1-2階分高いところにあるので、一周見渡して海すら見渡すことができる。2時間しかいられなかったので空港外はわからない……。

空港名の碑も立派

この規模の離島になると最早公共交通には頼れなくてレンタカー移動が前提だなということも実感させられたので、ずっとサボっていた免許取得を再開しようと思わせてくれた恩もある。実はこれ以前に種子島行きを交通手段の無さから断念していたのもあったので、より一層という感じだった。

海外

シカゴ・オヘア国際空港 (ORD/KORD)

言わずと知れた超巨大空港。滑走路はなんと8本あり、羽田空港の倍強い[要出典]。空港内を鉄道が走っていて、よほど変な間違いをしない限りは間違ったターミナルに降ろされてしまってもリカバリはできると思う。保安検査通過後もその広さをまざまざと見せつけてきて、ゲートの番号を知っていても迷ってしまう。なんと言うか、フラクタルな海星みたいな構造をしていて、伸びた腕の先に航空機が停まっている。滑走路が平行に4本存在したりするので、パラレルアプローチで降りてくる飛行機の照明が空に点々と浮かんでいて綺麗だった。

薄明の中を降りていくのも降りてくるのも綺麗

飲食店はそれなりにあるんだけど、お土産屋さんが全く存在しない。有名らしいポップコーン屋さんくらい。羽田なんて掃いて捨てるほどあるのに、このへん文化の違いを実感する。あと全体的にちょっと薄汚れている。

シカゴ市街まで直通しているCTAのBlue Lineが通っていて、アメリカ基準では素晴らしい充実ぶりではあるんだけど(多分)、しばらくホテルの送迎車を探してうろついていた間には誰も駅への通路へ降りていかなかった。怖いぜ。アメリカの鉄道は車を買えない貧困層のものみたいな言説を思い出していたけど、実際にシカゴまで行ってみたところそれほどピンとは来なかった。

空港周辺はホテルもたくさんあって、大抵のホテルは送迎バスを出してくれているので、電車に乗ることを厭わないのであれば泊まる場所としてもいいと思う。空港みたいな需要の多い場所からUber/Lyftに乗ると高いので。自分の泊まったホテルは偶然滑走路4L/22Rの延長線上に存在していて、日夜飛行機が降りてきてうるさいのが半分、おもしれーが半分という状態だった。そこまで考えてホテルを取る人はいないかもしれないけど。

最頻時数分に一本の間隔で降りてくるリージョナルジェット

セントルイスランバート国際空港 (STL/KSTL)

アメリカの地方都市・セントルイスの郊外に位置する空港。郊外というだけあってアクセスは悪く、ダウンタウンまでUberだと20分/30ドルくらい、MetroLinkで45分くらいかかる。このMetroLinkが曲者で、安いのは良いんだけどUnion StationとStadiumの間が何年も前から不通になっていたり(調べても公式情報が出てこない)、時刻表も調べても出てこなかったり、Google Mapsに情報が反映されていなかったりでかなり心配になる。乗っている間はずっと先述のことを考えていた。

MetroLinkのUnion Station駅 朝早いからかもしれないが誰も利用客がいなくて怖い

シカゴ・オヘアから1時間程度のフライトなのでてっきり日本の地方空港レベルを想像していたけど全然違って、ターミナルも2つあるしゲートも30個くらいあるしお店もそれなりに入っているし、もしかしたら福岡空港くらいの規模があるんじゃないかと感じた。想像してたのは広島空港くらいだったのに。アメリカの航空機移動文化を身を以て体感したというところ。

一日早く出発する友達を見送りに空港に行ったらK-9みたいな犬がいて可愛かった。

友人曰く、「9割のアメリカ人より賢い」

まとめ

こうやって一年の行動を書き起こしたことはほとんどなかったので新鮮な試みだった。思い出そうと頑張ってみると芋蔓式に別のことも思い出せたりして楽しかったので、来年もやりたいと思う。

来年は国内だけじゃなく海外も行きたいけど、そこはお財布と相談になりそう。研究もしなければいけないのでね……。

P.S. そういえば北米路線に乗るときは北側の窓側席を強くお勧めする。人生で初めて生で見たオーロラは機内からだった。

機内アナウンスまでして教えてくれたJALさんありがとう

HP製のPCでPCIeの拡張カードを刺したときに発生するメモリエラーの解決法

tl;dr: PCIeのB5、B6ピンを絶縁する

症状

HP製のデスクトップPC/ワークステーションにPCIeカード(Mellanox ConnectX-4)を刺したところ、メモリエラーを示すLEDやビープ音が発生しPOSTしなくなりました。試しにメモリをいくつか抜いてみたところブートしたものの、メモリが1チャネル分無効化されるという症状に遭遇しました。

なお、この症状は少なくとも2機種(Z230 Workstation、ProDesk 600 G3 SFF)で確認しています。

原因と対策

この症状はかなり稀なようで、日本語での言及は調べた限りでは見つかりませんでした。一方で英語圏のフォーラムなどではいくつか報告があり、どうやら一部のPCIeカード、特にNICとの相性で同様の症状が発生しうるようでした。

https://www.reddit.com/r/homelab/comments/yhibvo/hp_prodesk_600_g4_sff_throws_32_beeps_on_boot_if

h30434.www3.hp.com

h30434.www3.hp.com

対処法としてはPCIeのB5、B6ピン(それぞれSMCLK、SMDAT)を絶縁するというものです。どうやらHP製品のSMBusに繋がっている何かしらに不具合があり、特定のデバイスを刺したときにそれが発症するということだと思われます。

Lam Tung Lee, Powering of PCIe Slot, CC BY-SA 4.0 (https://commons.wikimedia.org/wiki/File:Powering_of_PCIe_Slot.png)

従ってこの2ピンを何らかの手段で覆ってやればよいわけです。私はその辺りにあった養生テープを使用しましたが、一般にはカプトンテープの利用が推奨されるでしょう。

養生テープでB5-6ピンを絶縁されたConnectX-4

何度か取り外ししてテープが外れないことを確認したらOKです。メモリを元に戻してもエラーなく起動し、すべてのメモリが認識されていました。

NVMe SSDをVMにパススルーする

NVMe SSDは単にNVMeプロトコルに対応したPCIeデバイスなので、GPUなどと同様にPCI Passthroughの手段を用いてVMにデバイスごとパススルーすることができます。ほとんど手順としては同じなのですが、備忘録代わりに具体的な手順を書いておきます。

今回の作業はホスト側にDebian BookwormベースのProxmox VE 8.3.1を、ゲスト側にDebain 12 (Bookworm)を用いました。が、他のディストリビューション(Arch LinuxFedoraなど)でも殆ど手順は変わらないはずです。

BIOS(UEFI)、カーネルの起動オプションの設定

まずBIOSの設定でVT-d(intel)やAMD-V(AMD)、IOMMUその他を有効にしておきます。今回はなんとなくでAbove 4G decoding(Resizable BAR)も有効にしましたが、これは特段影響しなさそうです。

次に、 /etc/default/grub を編集して GRUB_CMDLINE_LINUX_DEFAULTintel_iommu=on iommu=pt を追加します(前者はAMD環境では不要)。そうしたら update-grub として設定を適用します。

dmesgを見て設定が適用されていることを確認します:

# dmesg | grep -e DMAR -e IOMMU
[    0.527449] pci 0000:00:00.2: AMD-Vi: IOMMU performance counters supported
[    0.529504] perf/amd_iommu: Detected AMD IOMMU #0 (2 banks, 4 counters/bank).

カーネルモジュールの読み込み

必要なカーネルモジュールを起動時に読み込ませるため、 /etc/modules-load.d/ 以下に適当なファイルを作成して以下を追加します(拡張子が.confでないといけないかもしれない(未検証)):

vfio
vfio_iommu_type1
vfio_pci

そうしたら update-initramfs -u -k all でinitramfsを再生成すると起動時に読み込まれるようになるはずです。念の為確認しておきましょう:

# lsmod | grep ^vfio
vfio_pci               16384  1
vfio_pci_core          86016  1 vfio_pci
vfio_iommu_type1       49152  1
vfio                   65536  8 vfio_pci_core,vfio_iommu_type1,vfio_pci

カーネルモジュールの設定

ここがGPUのパススルーと違うところで、対象となるNVMe SSDに対してカーネルのnvmeドライバ ではなく 、vfioドライバにデバイスを初期化させる。そのために、nvme_coreより先にvfioをロードさせます。GPUではシステムに1枚しか刺さなかったり刺しても全部パススルーしたりするので気軽にblacklist nouveauみたいなことができてしまいますが、それをnvmeに対して行うとおそらく別のnvmeデバイスも見えなくなってしまうので少し違う方法を取る必要があります。

まず対象となるSSDのデバイスIDを確認します:

# lspci -nn | grep -i non-volatile
01:00.0 Non-Volatile memory controller [0108]: Phison Electronics Corporation PS5019-E19 PCIe4 NVMe Controller (DRAM-less) [1987:5019] (rev 01)

ここでは 1987:5019 がデバイスIDです。現時点ではnvmeドライバが利用されているはずです。

# lspci -ks 01:00.0
01:00.0 Non-Volatile memory controller: Phison Electronics Corporation PS5019-E19 PCIe4 NVMe Controller (DRAM-less) (rev 01)
    Subsystem: Phison Electronics Corporation PS5019-E19 PCIe4 NVMe Controller (DRAM-less)
    Kernel driver in use: nvme
    Kernel modules: nvme

vfio-pciを代わりに使わせたいので、 /etc/modprobe.d/ 以下に適当にファイルを作成して以下の内容を書き込みます(今回は nvme-passthrough.conf としました)。以下の例ではデバイスIDを 1987:5019 としています(Phison E19のもの)が、手元のデバイスに合わせて書き換えられるべきです。なお、複数のデバイスを指定する場合は ids=xxxx:xxxx,yyyy:yyyy とカンマで区切ります。

options vfio-pci ids=1987:5019
softdep nvme_core pre: vfio-pci

こう書けばPCI(e)のデバイス1987:5019に対してvfio-pciドライバを使用し、softdepでvfio-pciがnvme_coreより先に読み込まれるようになります。これで再起動すれば lsblk などから当該NVMeデバイスが消えていて、 lspci -nnk で出てくるKernel driver in useの項目がvfio-pciになっているはずです。(mkinitramfsの再生成と再起動が必要だったかもしれない)

# lspci -ks 01:00.0
01:00.0 Non-Volatile memory controller: Phison Electronics Corporation PS5019-E19 PCIe4 NVMe Controller (DRAM-less) (rev 01)
    Subsystem: Phison Electronics Corporation PS5019-E19 PCIe4 NVMe Controller (DRAM-less)
    Kernel driver in use: vfio-pci
    Kernel modules: nvme

あとはProxmox側でVMにデバイスをアタッチすればゲストから使えるようになります。

設定に手間を掛けずにシェルを便利にしたい

dotfilesを書いたり管理したりは面倒、かつだいぶ時間がかかります。その手間を嫌ってか、サークルなんかで周りを見ているとデフォルトの見辛くて不便な状態で使っている人をちょくちょく見かけます。

なのでできるだけ手間を掛けずにシェルを便利にするための手順を書きました。

Arch Linux以外のユーザ向け読み替え情報

Arch前提で書きますが、紹介しているプラグインはすべてGitHub上にソースがあるのでgit cloneしてきてsourceのパスをクローンしたディレクトリ/プラグイン名.zshみたいな形にすれば動きます。

Arch Linuxユーザ向けの要約

👇これで3分で終わり!!閉廷!以上!皆解散!

sudo pacman -S zsh zsh-completions grml-zsh-config zsh-syntax-highlighting zsh-autosuggestions
echo 'source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh'  >> ~/.zshrc.local
echo 'source /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh' >> ~/.zshrc.local
echo 'source /usr/share/doc/pkgfile/command-not-found.zsh' >> ~/.zshrc.local
chsh -s $(which zsh) $USER

詳細

zsh

wiki.archlinux.jp

入れましょう。というかこの後の話を全部zsh前提にしてしまいました。

grml-zsh-config

これがあるとないとで大違いです。tab補完の際に2度押しで矢印キーでの選択、cdを打たなくてもパスだけを打ってディレクトリ移動、pgupキーで途中まで打ったコマンドを履歴から補完、などなどアルティメット便利です。

ArchのLive ISOにも入っています。

Arch Linuxユーザならpacman -S grml-zsh-config、そうでないなら

$ cd ~ && wget -O .zshrc https://git.grml.org/f/grml-etc-core/etc/zsh/zshrc

注: 変わっているかもしれないので最新情報はここを見る。上記コマンドは既存の.zshrcを消してしまいますがこの記事を読んでいる人は元々書いていないか、見てわかるので大丈夫でしょう。

シェル変更

そろそろシェルを変えていいと思います。

$ chsh -s $(which zsh) $USER

補完

zsh-completionsを入れます。Ubuntuにも同名でパッケージがあるらしい?正直要るのかよくわかってません。

シンタックスハイライト

zsh-syntax-highlightingを入れます。Arch以外ならこちら:

github.com

インストール後.zshrc.localにsourceを追加します。Archの場合は:

source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh

サジェスト

zsh-autosuggestionsを入れます。Arch以外なら:

github.com

sourceを追加します。

source /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh

コマンドが見つからないときのやつ(Arch)

Ubuntubashに標準であるやつです。

source /usr/share/doc/pkgfile/command-not-found.zsh

参考URL: pkgfile - ArchWiki

プロンプト

(おそらく)grmlのおかげでプリセットのプロンプトがあります。promptと打つとヘルプが出てくるので詳細は割愛しますが、prompt fireなどと打って気に入れば.zshrc.localにそのコマンドそのままを追記しましょう。

オプション: powerlevel10k

プロンプトのセクションで飽き足りない人向けです。ArchならAURにあります:

$ paru -S --devel zsh-theme-powerlevel10k-git

sourceを追加して、

source /usr/share/zsh-theme-powerlevel10k/powerlevel10k.zsh-theme

そうしたらexec zshでウイザードが起動します。詳しい話はGitHubを見てください:

github.com

ヨシ!

ゆかりさん色プロンプト
いい感じになっているのではないでしょうか。

令和5年度(2023年度) 筑波大学情報学群情報科学類 編入受験記

表題の通り筑波大学情報学群情報科学類の編入試験に合格しました。受験の際には検討・出願・受験のいずれの段階でも先輩方のブログ等に大きく助けられましたので、自分もまた志願する方々の助けの一つになればと受験記を残しておきます。

結果

前述の通り合格しました。

動機

 現役で前期筑波に落ち後期新潟大学に受かったのが3年ほど前、筑波を諦めきれず浪人しましたが持ち前の飽きっぽさと怠け癖で全く勉強をせず、親も当然そんな有様では2年目を許すはずもなく、ひとまず何もしなくても受かりそうな会津大学に入学しました。 未練というか心残りのような気持ちがなかったと言えば嘘にはなりますが、入学当初はちゃんと4年間通って、コンピューターに関する知識を更に吸収して卒業するつもりでいました。

 その決意をへし折ってくれたのが授業内容でした。余りぐちぐち言うのもなんですが、会津大学に在学している1年と半年ほどの授業の中では、アルゴリズムとデータ構造I以外のコンピューター系の授業はすべて薄味すぎて、全く「何かを学んだ」という感覚がありませんでした。コンピューター系の授業はどれも独学したほうが数倍効率が良いものか、あるいは既に知っている知識を教えてくれるようなものでした。

 年に(確か)二度ほど行われる学生教員意見交換会では先輩方や同級生たちがこのような不満を学校側にぶつけるものの、学生からの要望に対する大学側からの回答はおおよそ「検討している」「難しい」と要約されるようなものでした。学生による授業アンケートもありますが、意見が反映されているとはとても思えませんでした。そんなこんなで少なくとも在学中に改善されることはないと考え、脱出する方向に舵を切ることにしました。

 ただし、念の為書いておきたいのですがすべてが役に立たない授業というわけではありません。全くの初心者に対する授業としては役に立つものもありましたし、前述のアルゴリズムとデータ構造Iなどはとてもためになりました。

スペック

会津大学コンピューター理工学部 GPA だいたい3.6/4.0くらい

数学力

 浪人時に受けた共通テストは数学I/A, II/B合わせて100点行くか行かないかくらいのクソザコナメクジでした。会津大のB方式では数学は最低点だったらしいです。

英語力

 大学一年の夏に受けたTOEIC IP(紙のやつ)で865でした。

プログラミング力

 Atcoderでは灰コーダー(389)です。特にプロダクトとかも作ったことがありません。

受験勉強

 最初に書きますが、ここに書く勉強方法は反面教師にするか受験の前日に眺めて「こんな勉強量でも受かった人間がいるんだから自分も受かるはず」みたいな使い方をしたほうが良いと思います。

英語

 何もしていません。情報科学類は730で満点という話だったのでよほど失敗しない限りは、(点数が落ちたとしても)満点換算に足りるくらいの点数が取れるだろうと考えて、前日にちゃんと寝て受けたら935でした。

 IPテストの結果は利用できないので注意しましょう。

情報

 何もしていません。試験の3〜4日前くらいに過去問を見て解けるかな…?と焦っていましたがなんとかなりました。

 情報の対策としてはAOJのALDS1が良いのではないかと思います。傾向としてそこまでアルゴリズムに振った問題は出ないようですが、基礎的なデータ構造は非常に有用かと思います。

数学

 3月に先輩から徹底研究過去問特訓を頂いて、その後ずっとモチモチしていたら2ヶ月以上経っていました。

 5月末に募集要項を見直したところ試験を7月終盤と勘違いしていたことに気づき(それでも大して変わらないが)、急いで徹底研究を開いて範囲のページ数を数えたところ150ページほどありました。30日で終わらせるには一日5ページほど進めなければいけない計算です。加えて先人のブログによれば過去問特訓もしたほうがいいと書いてあります。俄に危機感が巻き起こり全休や授業の後を利用して勉強を始めました。

 しかし前述の怠け癖と授業後の疲れによる寝落ちで全く勉強は進みませんでした。6月も1/3が過ぎた頃にまだ20ページも終わっていなかったと思います。やばいやばいと思いGoogle Keepに進捗をメモっていたのですがなぜか6/10と6/14の二行しか書いていません。

 結局線形代数は7月頭になってなんとか一周できたものの、微積分に関しては級数は手を付けられず、他の単元も急いで終わらせたため理解度が怪しい有様でした。

 今考えると、線形代数の対策が間に合い、かつ本番で解けた(後述)のは、会津大学線形代数Iを担当していらっしゃった浅井和人先生の授業と、その資料のおかげと言っても過言ではないと思います。高専のカリキュラムがどのようなものか知らないのでなんとも言えませんが、線形代数の入門を勉強するのであればこれを利用するのが一番だと思います。

 Googleで「k-asai class」と検索すると出てくるのでリンクを貼ってしまいますが、こちらのLinear Algebra I txtとLinear Algebra I classがそれです。(e-verは英語版)

受験前

受験1週間前くらい

 前述の数学の学習が全く追いついていなかったせいで、精神的にめちゃくちゃ病んでいました。勉強時間を確保するためDigital Wellbeingを用いてよく利用するアプリに時間制限をかけていたのですが、寝る直前に病みツイをするためだけに制限を解除するほどでした。試験が近づくほどTwitterの利用時間が伸びていきました。寝る前にスマホを見るので生活リズムもどんどん狂っていきました。

 また勉強が間に合わなすぎて、TOEICの満点が今回から900にならないかな〜などと考えたりもしていました。考える時間があったら勉強したほうが良かったと思います。

 あと移動のための切符を買ったりしました。

受験2〜3日前くらい

 一時的に生活リズムが治っていました。一周したとかではなく、寝る前にスマホを見ることによって疲れが蓄積され爆発したせいです。自分は寝不足になると圧倒的にパフォーマンスが落ちるので、このリズムを維持しようと心がけました。一方で勉強は一日分遅れることになり発狂していました。

 情報の過去問を見てこれ本番で解けるかな、とだいぶ不安になっていました。

前日

 落ちた際のダメージを最小化すべく受験を家族と先輩一人以外に相談していなかったため、公欠等は取っていませんでした。受けないと落単する英語の中間があったのでそれを受けてから30分後の電車で向かうつもりでした。昼10時頃に12:30の目覚ましをかけて布団に入り起床したら13:30でした。人生二度目の落単です。

 焦燥した手で教授に懇願のメールを送り、リュック一つに収まる荷造りをしました。残念ながら受けなかったからといって早い電車があるわけでもなく、トボトボと予定通りの電車に乗り、新幹線に乗り継ぎ、また電車に乗り換え、TXに乗って研究学園駅前のアパホテルに着きました。

 着く時間が遅いので前日の受験会場の下見はできませんでした(歩いて疲れるよりは休息をとる方針です)。翌日にエンカする予定だったnamachanさんにラーメン屋さんを教えてもらい、夕食を摂って早めに床に就きました。

当日

 3時頃に寝苦しくて起きてしまい結局4時間未満しか寝れませんでした。最悪です。それでも起きているのはまずいので、目だけ瞑って何も考えないようにして眠ろうと試みていました。

 結局朝食時間まで寝れず、のそのそと一階に降り多めに朝食を盛り付けて部屋で食べました。だいぶお腹いっぱいになりました。

 TXとバスで試験会場に着くと入室待ちで長めの列ができていてびっくりしました。後から知りましたが倍率は7倍くらいだったそうです。

 試験場に入ってしばらくは、突っ伏して睡眠不足を補おうとしていました。しかし眠気が一向に来ないので諦めて徹底研究をさらい読みしていました。試験時間直前にラムネ(隠語とかではなく、コンビニで80円くらいで売っているアレ)をボリボリとお茶で流し込みました。

試験内容

数学1

 級数の問題であることを確認して後悔と焦りがやってきました。徹底研究の級数の部分は読むだけでもしておけばよかったと思いました。30秒くらい考えて一切方針が立たなかったので、全部終わってから戻ってくることにして白紙のまま数学2に進みました。

数学2

 一瞬ギョッとしましたが普通の行列の問題でした。やるだけだったと思いますが、どこかで基本変形をミスったのか最後の固有値が一つ出ませんでした。8〜9割くらいだとは思いますが、変形をどの段階でミスったのかで大量失点がありえて、終わった後は戦々恐々としていました。

情報1

 問題文が3ページにコードが2ページあり加えていきなりエントロピーの式が出てきてビビりましたが、数学1が解けなかったことから情報を解けなければ落ちる、という危機感で食らいつきました。最初こそびびったものの、しっかり問題文を読んでみれば大したことはなく順に追っていけば解けました。ミスがなければ10割だと思います。

情報2

 また初見の概念が出てきてビビりましたが、(1)〜(4)までは異様に簡単でした。ちゃんと流れに沿って行けば問題ないと思います。(5)のみわからず適当に書きましたが多分間違っていると思います。8割?

試験後

 数学2で1時間かけてゆっくり解いていたので数学1に戻る時間はなく、結局白紙で提出しました。下書き用紙も回収されるのかと思い、名前の書いていないものに記入しようと手を挙げたのですが、回収されませんでした。道理で監督官の先生が挙動不審だったわけです。

 終わった後は、どう甘めに考えても230点も行かず落ちたと思って落ち込んでいました。とりあえず北に向かいnamachanさんと合流してラーメン屋さんに案内していただきました。実はnamachanさんにも編入受験のことは相談していなかったのですが、どんな用事で来たのか尋ねられてヒュっとなりました。落ちたと思っていたので隠さねばと、咄嗟に「研究学園駅の方でイベントがありまして〜」と嘘をつきました(ごめんなさい)(イベントって何?)。

 バスが早め(新宿駅17:00発)だったので、食べ終わった後は歩いてつくば駅に向かいました。道中SFの話などをしていました。つくば駅でTXに乗り、電車とバスで6時間ほどかけて帰りました。

おわりに

 なぜ受かったのかわかりませんがひとまず嬉しいです。入学手続きをミスらないようにしないと……。同時に入学される方、coins21の方々、来年度よりよろしくお願いします。