• 作成:

UNIX, アルゴリズムとデータ構造2, 東京大学のスライドのタイトルが文字化けで膣になっていました

UNIX

responの番号って毎週新しく発行されるのかなー?と思って「先生今週のresponの番号はなんですか?」と聞いてみたら「今作る」と返されました.

旧講義名「UNIXオペレーティングシステム」の方に間違えて登録した人が数人居たみたいで確認していました.

responを開いたら 「本日の授業の感想」 が出てきたので 「講義の最後に提出するということでしょうか?」 と質問してみたら「暇な時に書いといて」 ということです. しかし感想は最後にしか書けないのでは…

課題の説明をしながら引き続きWikipediaを「パソコン少年ゆうちゃんが編集している」とdisっててウケます. 是非編集をして直して欲しいなあって思います.

レポート1が選択1選択2課題3になっていたので課題3は必須なのかと思って質問したら課題3は選択3の単なるtypoでした.

レポート2が「GNU/Linuxシステムのインストール」だったので「もう既にインストールしてここで動いているんですけど再インストールする必要はありますか」と聞いてみたところ, 「その場合再インストールは必要ない」ということでした. しかし使っているのがGentoo Linuxなのでインストール手順を2ページほどに抑えられるか疑問ですが頑張って要約します.

レポート3で先生が, 誰もやらないので私に「選択2のSSD向けのキャッシュ機構のbcacheをやってほしい」ということを言ってきたので, bcacheをやることになります. しかし, これ, HDDがメインの環境に向けてSSDでキャッシュをするという仕組みなので, SSDしか搭載してないラップトップはもちろん, デスクトップでも基本的にSSDでブートしてHDDを補助的に使っているということなので, 実際に活用することは難しそうです. bcacheがFSに依存しない理由を論じればいいわけなので, 実際に試さずにソースコードや仕様を見て述べるだけでも良いのかもしれません. 確認すれば良かった. まあ早めに作って早めに提出すれば確認になるか.

関係ないけれど何故私はwriteboostの開発者のあきらさんにブロックされてしまったのでしょうか. 飯テロのせいでしょうかね? 単に昼食の時間に昼食の写真をTwitterにアップロードしていただけなのですが.

「日本に比べて世界ではLinux Mintが人気」という話があったので, あれ? 自分の感覚では世界に比べて日本では世界に比べてMintは人気だと思ってたんですが… ということなので調べてようと思いましたが, DistroWatchは国ごとの統計を提供していないようなので調べるのが無理でした.

Linux Mintは昔使ってたし, 周りにも結構使っている人が多いんですが, 結構GUI(cinnamon)周りがバギーで, 通知が壊れたりするのでやめて, Gnome Shellを経由して結局xmonadを使っています.

SELinuxはGentooもAWS EC2サーバに使ってるUbuntuもデフォルト無効なので, 使ったことが一切無いんですよね.

選択課題がテーマ持ち込みありなんですが, 何かUNIXに関係する良い題材は無いでしょうか. Linux向けのデバイスドライバがない機材を1つ持ってるのでそれを開発できれば一番良いんですが, 流石にソフトウェアデコーダーを使うテレビチューナーのデバイスドライバを書くのは時間的に難しい.

本番環境のスキーマ変更マイグレーションをやりました

ビルドしなおして一瞬だけサービスを止めてpsql -fでSQLを流し込んだだけ. 何事もなく1分もダウンタイムを作らずにスキーマを変更できてよかった.

Railsから離れてマイグレーションツールが同梱されなくなってマイグレーションが大変になるかなあと思っていた. でも実際マイグレーションしてみるとRailsのよくわからないDSLを書いてよくわからないrakeコマンドを叩いてマイグレーションするよりSQL書いたほうがわかりやすいですね. Active Recordはインデックスを付けるのが面倒くさいしnot nullにするのも面倒くさいしその点は素直にYesodのPersistentの方が有能と言えます.

まあ, not nullはHaskellのMaybeなし値の厳格さとの引き換えなのですが…

はてなブックマークの一括フォロー返しのスクリプトを書けなかった

はてなブックマークのお気に入りの一括でフォロー返しが困難だったので

document.querySelectorAll(".fan .follow-link").forEach(b => { b.click(); document.querySelector("#some-follow-add .send-button .btn").click(); });

などと書いて解決しようとしたがうまく行きませんでした. 何故? ロードを待たないといけなかったりするのかな. Twitterでフォローしている人をフォローする画面だとこういうのを書いてうまく行った気がするんですが.

真面目にやれば解決できそうな気もしますが, 冷静になってみてみるとそんなに数が無かったのでスクリプトを書くのを諦めてポチポチクリックしました.

アルゴリズムとデータ構造2

NEW GAME!の話をしている. 私は労働が苦手なので厳しい.

今年のアルゴリズムとデータ構造1ではグループワークがあったのか… それで挫折した人が居たとか. 自分もグループワーク苦手なので2では無くてよかった.

2分木, 平衡にしないと要素へのアクセスがO(n)O(n)になってしまう. 平衡にしてO(logn)O(log n)にする. AVLなどがあります.

AVL木なら単純なので自分にも簡単に実装できるなと思ってたら多分木であるB木の話をするらしい.

実を言うとB木のことはなんとなくしかわかってなかったのでうれしい.

insert時の入る場所が無い場合に恨が増えるという話がよくわからなかったので副情報としてググる.

ググってみたらなんかとんでもないタイトルのPDFが東京大学から出てきました.

「膣(2) 「膣∽┬

% pdfinfo 8-search-tree.pdf
Title:          「膣(2)  「膣∽┬
Subject:
Keywords:
Author:         井畿ユ
Creator:        LaTeX with Beamer class version 3.10
Producer:       xdvipdfmx (0.7.8)
CreationDate:   Sat Jun 29 23:16:32 2013 JST
Tagged:         no
UserProperties: no
Suspects:       no
Form:           none
JavaScript:     no
Pages:          50
Encrypted:      no
Page size:      362.83 x 272.13 pts
Page rot:       0
File size:      448412 bytes
Optimized:      no
PDF version:    1.5

コンピュータアルゴリズム第2: 講義案内にあるスライドみたいですね. 探索 (2) — 探索木「膣(2) 「膣∽┬に文字化けしているようですね. 他のスライドを見ると整列 ・ 探索ライブラリ翫紙「膣≪ゃに文字化けしていることがわかりました. どうも文字化けの仕方を見るにEUC-JPが絡んでそうな気がするんですけど, nkfでEUC-JPを指定してもISO-2022-JPを指定しても膣にはならない. ∝刈 (2) ∝刈になるんですよね. xdvipdfmxを使っているようですが, どういう処理をしたら膣になるんだろう… TeXはXeTeXとLuaTeXぐらいしか使ったことがないので初めからUnicodeを使ってきた私はあまりそのあたりの知識を持っていません.

% echo "田浦健次朗"|nkf --ic=EUC-JP
井畿ユ♤

なのでEUC-JPが絡んでそうなのは明らかなのですが.

とりあえずスライドの持ち主らしき先生のメールアドレスがわかったので, そちらに文字化けの報告をしました. ただの文字化けならいちいち報告などしませんでしたが, 流石に膣は連絡をした方が良いだろうという判断です. アダルトサイト判定に関わってしまうかもしれませんし.

insertの話は普通に演習時間に先生に質問して解決しました.