個人用の日記を非公開はてなブログからObsidianへ移行した

はてなブログは1アカウントで複数ブログを作る事ができる。無料版だと3個までブログが作れる。実はこの機能を使って非公開にしたブログを別に作り、そこへプライベートな内容を含んだ日記を今まで書いていた。

非公開ブログで日記を書く

日記を書くツールとして様々なものがあるなかで、何故その手段を選んだかというと「PC・スマホ両方で書きたい」「日記はブログという形式の方が書くにも読むにも便利そう」「リンクや写真を貼ったらいい感じになって欲しい」といったところだった。

 

実際、出先で電車を待つ間の暇な時間とかにもスマホでぼちぼち書いていたし、時には気まぐれでスマホで撮った写真を載せたり調べ物のリンクを貼ったりもしていた。

 

だが、この方法には大きな問題があって、本家ブログであるこちらに誤爆してしまう事故が何回か起きていた。プライベートな日記ということで年収とか仕事に関する事などかなりパーソナルな内容も書いたりしていたので、誤って公開していたことに気がついて後でヒヤリとすることもあった。

いつかなんとかしようしようと思って月日が立ち、日記を5年くらい書き続けた。そうして昨年12月、何度目かわからない誤爆をやってついに移行を決意した。

日記ツールの検討

移行にあたって今後どこに日記を書くかを検討した。自分が使ったことがあるものや、最近流行りのノート用ツールを含めると大体候補はこの5つ。

Keepは日記よりも更にミニマムな用途、付箋の代わりにしようと思っていたので除外。なんなら今Keepにあるちょっと長い文章とかもどこかに移したい。皆がきっとツイートの下書きでやっているような、買い物リストやほんのちょっとした覚え書きだけにしておきたいと常々考えていた。

DropboxPaperも、今のところ使い方は2種類のみで、勉強用読書ノート(スクショ画像含む)とリンク集(OGP展開を重視)のためだけに使っている。こちらに移すのも悪くはないが、Dropboxは無料アカウントだとアクセスできるデバイスは最大3台だった気がする。

今自分が扱っている情報端末はWindowsデスクトップ、Androidスマホx2、Androidタブレットの4つくらいだが、将来的にはもっと増えるかもしれないし、MacOSiPhoneでのことも考えておきたい。

 

そういうわけでNotionかObsidianかScrapboxのどれかにしようということになった。最近流行りだし。この辺のツールはいつもはてなブックマークで話題になっている印象がある。年末にも話題になった記事があった。

anond.hatelabo.jp

それぞれのツールを軽くググって色々調べてみたが、結構特色が違う。ともかく、今回は非公開な個人的な内容を書き貯めたいということなので、公開や共有と親和性が高いものは除外していく。そう考えるとObsidianが一番良さそうに見えた。とりあえずObsidianでやってみることにする。不満があったり問題が出たりしたら、そのときはNotionかScrapboxへ移行すればいいだろう。

移行の作業

はてなブログに書いてあった日記をエクスポートする。

以前やったことがあったのでそういう機能があるのは覚えていたが、エクスポートした文章データがMovableType形式だったというのを忘れていた。よしなにパースするライブラリが見つからなかったので、仕方がなく自分でPythonスクリプトを殴り書いて1記事につき1 Markdownファイルへ吐き出す処理をした。

これが意外とめんどくさい。いくつか課題があった。

  • 自分がこれまでやってきた日記の運用にブレがあった(主に記事タイトル)
  • MovableType形式は記事本文がHTMLなのでよしなにMarkdown化する必要があるが、改行がだいたいうまくかない
  • 本文へ自動で入れられたはてなキーワードのリンクが入ってる

HTMLからMarkdown化するのにはmarkdownifyが便利だった。

github.com

Obsidian準備

Obsidianの方はGoogleDriveにVaultを置き、Vault内のディレクトリ構成を整えた。大体ObsidianのAndroid連携についてググるとこの方法がヒットする。Syncも検討したが、今まで無料ではてなブログに書いてた日記を移行したら$8/monthかかる、というのはちょっと踏ん切りがつかなかった。


ディレクトリ構成は整えるとは言っても今のところ大雑把に5つしか用意していない。

  • Asset:画像ファイルなどの置き場
  • Diary:日記置き場、新規ファイルは"Diary/YYYY/MM/YYYY-MM-DD" に作られる
  • Document:ある程度構成が固まった文書の置き場
  • Inbox:日記以外のファイルを作る時はまずここにできる
  • Template:文章のテンプレ置き場

ドキュメントアプリの好みによってはディレクトリ構造が嫌だという人もいて、そういう人には大体Scrapboxが人気なのだが自分はディレクトリを整えるのはそこまで嫌いじゃない。ただ、Obsidianも本来はディレクトリよりはリンクやタグによる構造化を主体としているはずなのでどうやっていくか、まだまだ試行錯誤していこうと思う。

 

また、プラグインも入れてみた。とりあえずAuto Card LinkCalendarFolderIndex など。最初、Emacsキーバインドがないか探してEditor Commands Remapも試したが、なんかそこまでキッチリEmacs化できなかったのでやめた。VSCの方はEmacs拡張をいれてるが、Obsidianでは普通に書こう。

 

Obsidianは他にも色々機能があるのでCANVASとかタグ付けとかグラフビューとか試していきたい。

 

TRPGシャドウラン第5版のGMをやった

成り行き

2020年夏頃から大学の友人にTRPGへ誘われ、オンラインボイスセッションにてD&Dとサタスペをやっていた。また、最近SFにハマってたのもあって、年末に発売されたCyberpunk2077にどっぷり浸かっていた。その流れもあって、サイバーパンクモノののTRPGがないか探していた。

流石にCyberpunk 2.0.2.0は絶版になっていて手に入らないが、シャドウランというサイバーパンクとD&Dを混ぜたようなTRPGがあることを知った。即座にルルブとシナリオブックをAmazonで購入して、一回やってみようということになった。12/29で、ちょうど仕事納め日だった。 勢いは大事。

構想を練る

翌日にルルブが届くまでにまずネット上で情報収集をした。ニコニコ動画でリプレイ動画をみたり、初心者向けnoteを読んだりBoothで有志のPDFを購入したり。そこで実はシャドウラン第5版はルールが複雑で大変なTRPGであることに気づく。前述のTRPG仲間とやろうと思っていたのだが、これは導入を丁寧にやらないとダメだなと考えた。

 

そこでまずは初心者向けの警句に従い、初回導入時に扱うルールを絞ることにした。丁度クイックスタートルール(QSR)なるものが公式から出ており、それが有志によって翻訳されていたのでそれを最初のセッションで扱うことにした。キャラメイクと成長をすっ飛ばしてルールのややこしい戦闘にのみ絞る。初心者向け記事では魔法とマトリックスは初回では扱わないほうがいいと言われていたが、QSRでは扱っていたためここはどうするかかなり悩んだ。

とりあえず大雑把な流れとしてQSRで戦闘を覚えてもらい、次にもう少しルールを追加したサンプルシナリオをやってみるという2本立てにすることになった。今回はQSRセッションが無事に終了した段階でこの記事を書いている。

準備

準備としてまずQSRで扱う範囲においてルールを短時間で理解してもらうべく、Googleスライドを使って説明スライドを用意した。思いの外力作になってしまい総ページ数が100近いスライドになってしまった。念の為「聞かれたときのために」と、QSR外の説明も作ってあったのだが力を入れすぎた気もする。

f:id:ragi256:20210304014750p:plain

説明用スライド約100枚(ほとんど使わなかった)

力作なら公開したほうがいいのでは?という話も挙がったが、身内用に作ったため画像などに問題があるのでこのままで公開できない。いずれ余力があれば問題のある部分を修正して公開できればと思う。

 

[2021-03-07 追記]

修正が完了したので公開する。スライドにミスや問題があった場合、自分が気づきやすい所で指摘していただけると助かります。

docs.google.com

 

スライドを作るに当たってQSRの翻訳PDFや初心者向け記事を参考にさせてもらった。そこから説明内容を絞り、ルルブを見て原典での記述を確認しつつ要約して、図を加えながらスライドに落とし込んだ。やはり図があると無いとでは違う。

また、この準備期間中に他のシステムでのGM経験者に普段どんな準備をしているのかを聞いたりした。といってもTRPGシステムごとにまちまちなので共通項はあまりなく、とりあえずルールを把握・シナリオを読み込み・TRPG用オンセツールの準備くらいしかなかった。

オンセツールには少し悩まされた。普段オンラインセッションに使うシステムはそれぞれ、D&DはFoundary Virtual Tabletop(VTT)、サタスペはUdonarium(ユドナ)を使っていた。とりあえずユドナでお手軽に始めてみようと色々触りながら準備をしていたのだが、先頭部分のスライドを作り上げたところで「これは無理だな」と気がついた。

ただでさえ能力値と技能値と修正を把握しつつダイスを何度もふる必要があるのに、さらにダメージ値や修正装甲値を織り込んで判定するのが難しい。これでは絶対に進行が停滞してしまう、と悩んでいたところVTTにシャドウラン用MODがあるので利用してみてはどうか?と提案があった。これを一旦試させてもらったのだが、非常に感触が良かった。アイテム表や各種ステータス修正などをキャラクターシートに事前準備さえしておけば、判定時は修正だけ考えれば済む。事前にセットした大量の数値をよしなに判定に組み込んでくれる仕組みのお陰で進行がスムーズになった。

VTTでシャドウランを扱うにあたってシステム用Modを作ってくれた方々と翻訳をしてくださった方には感謝の言葉しかない。

セッション

上記準備を整えてスライドを交えた説明会を挟んだ後、VTT上でQSRセッションを実施した。大体3時間x2回で済んだ。悩んでいた魔法とマトリックスについてだが、魔法はQSRで扱う範囲が狭いのとVTTのお陰で楽ができたため特に縛りはなかった。マトリックスはマスタリング経験不足もあり、うまく扱えなかった。簡易裁定にして雰囲気だけでも味あわせたかったところだったが。無念。

戦闘が思いのほか長引き、全体的にグダってしまった。「QSRだし戦闘を覚える練習だし」と結構ぎりぎりまでPLには戦ってもらったが、敵が最後の二人になった時点で終わらせればよかった。

f:id:ragi256:20210304013718p:plain

セッション中の様子

ちなみにPLのキャラ画像は各自用意してもらったが、NPCの画像はCyberpunk2077から適当にスクショして持ってきた。今はまだできていないが、どうせオンセ用ツールを使うならマップやBGMも雰囲気を盛り上げるものにしていきたい。

 TRPGGMをやってみて

こうして自分の初シャドウラン&初GMをなんとかこなすことができた。ルルブを購入してからもう3ヶ月も経過してしまった。まだまだ理解が足りてないところがあるので、もっとセッションをこなしてスムーズな進行ができるようになりたいと思う。あとできればオリジナルシナリオのセッションなんかもいつかはやってみたい。

あと翻訳もそうだが、VTTのシャドウランMODには気になる点がいくつかあったので余裕があればそちらにPRを出せればと思う。 幸いなことにTypeScriptで書かれていて読めなくはないし、README-DEV.mdがあったので挑戦くらいはしておきたい。どうやら最近開発が活発なようだ。

 

リンク集

参考にさせていただいた情報

まずシャドウラン初心者が最初に見たほうがいい情報まとめページ
ビギニングシャドウラン
一番参考にさせてもらったルール解説記事
シャドウラン5版のルールを解説しよう|暗転丸|note
Boothで売られていた同人誌 
シャドウランに関する人気の同人グッズ12点を通販できる! - BOOTH
ニコニコ動画で公開されていたリプレイ
人気の「シャドウラン5th」動画 34本 - ニコニコ動画

扱わせてもらったツール・翻訳データ

オンラインセッション用ツール

Foundry Virtual Tabletop | Foundry Virtual Tabletop

VTT用Shadowrun第5版 MOD

GitHub - smilligan93/SR5-FoundryVTT: Shadowrun 5th Edition system for FoundryVTT

Shadowrunキャラメイク用ツール(各種データ用辞書データをVTTに入れられる)

GitHub - chummer5a/chummer5a: Character generator for Shadowrun 5th edition

VTT用Shadowrunのシステム側の翻訳

GitHub - BrotherSharper/shadowrun5eja

SFを読んでいる。

先日、ドラえもん映画にハマってると書いたばかりだが、同時に並行してSFにもハマっている。昨年から同僚とランチの際に話題に上げる程度にはSFが好きではあったが、ここにきて火がついた。というのも今年の目標に「アッチェレランドを読むぞ」というのがあったのだが、それを1・2月でガッと読み終えて興奮から醒めていない状態にあるからだ。もう一つ読書の目標として「百年の孤独を飲みながら百年の孤独を読み通す」というのもあるが、それは下半期に回そう。

 

今まで自分が味わってきたSFはそんなに多くないと思う。アニメで攻殻機動隊や楽園追放やPSYCHO-PASSをみるとか、大学で先輩に勧められて伊藤計劃を読むとか、それくらいだったはず。ライトノベルは腐るほど読んできたが、SFに没頭した記憶はない。中学生の頃にたったひとつの冴えたやりかたと世界の中心でアイを叫んだけものを読みかけた記憶が無いでもないが、最後まで読んでなかった。あと夏への扉が実家に転がってて幼い頃に読んだ。

多分それで全部。漫画とかラノベとかはもう覚えてないしキリがない。ともかく純粋SFジャンルに手をだしてこなかったはず。伊藤計劃がせいぜい。

 

そんな自分がどうしてランチでSFトークを定期的にするようになったかというと、ひとつには多分vtuberがある。vtuberに興味のない人向けにvtuberの話をしようとすると、どうしても技術的な話か社会的な話になる。つまりVR・動画配信などのコンピュータサイエンス技術かスキャンダル・ゴシップなどの事件に関するニュースだ。後者は割と真面目に話そうとすると攻殻機動隊とかガッチャマンクラウズなど、社会SFネタに繋げやすい。というわけでランチの度に「最近vtuber界隈でこういう動きがあってさ……」などと喋っていた。

そうしているうち、にわかに三体あたりが盛り上がってきた。三体の前にもあなたの人生の物語がちょっと話題になっていた。そしてなぜか間違えてあなたのための物語を買ってしまい、読むのに苦労した覚えがある。ようやくあなたの人生の物語を読み通したのが2019年7月。間に会社でシルトの梯子がちょっとだけ話題になっていたが、最初の方で普通に挫折してしまった。本で挫折したのは久しぶりで少し挫けそうだった。

 

2020年に入るまではそこまでSFに熱が入ってはいなかった。冒頭にも書いたがやはりアッチェレランドを読んだのが大きい。電子版もなく、中古でしか手に入れることができなかったので、昨年末に注文して正月明けから読み始めていた。思えば今まで何事にもコアなファンになることができなかったので、大抵は「超話題になっていて、絶賛人気沸騰中!」みたいな鉄板作品しか手を付けて来なかった。それが今回は珍しくマニアックなところから手を付け始めた気がする。書評ブログで知ったのは覚えているんだが、なんでその書評にたどり着いたんだったか。おそらくvtuberにハマっていたついでに、「今SF読むんだったらサイバーパンクが読みたいな」と探していたんだと思う。

 

そう、サイバーパンクサイバーパンクを求めていた。2018年からvtuberを追いかけ続けて、自分でもVRゴーグルを買ってVR映像をみたりVRゲームをしたりして、未来に生きてる心地になっていた。

藤子不二雄でも未来に黒電話があると思ってたように、21世紀には宇宙に行ったり車が空を飛ぶと想っていたように、過去の作品は近未来を容易に見誤る。誰にも未来を視ることはできないので当然ではあるが、その未来を生きる自分にとってはやっぱり物足りなさがある。これは金田一少年の事件簿でポケベルが出てきたときにも思った。「イマならではのものが見たい!」というのはそれほど変わった欲求ではないと思う。なのでそれからはずっと「現代のサイバーパンクが見たい!」と延々と言い続けている。vtuberがVA-11 Hall-Aの実況をやってるのが悪い!もっとやれ!Detroit: Become Humanはもういいかな。

 

そんなわけでアッチェレランドを読んだあと、アマプラでSF映画を観つつ次にどのSFを読もうか練っている。丁度良いタイミングで出版された本が数冊あったのでまとめて買ってみた。どれも電子媒体がないのが気になるが、気にしない。

とりあえず21世紀SF1000 part2を指針にして、どういうSFを読みたいか考えている。ちょっと飽きたら2010年代SF傑作選を読みつつも。書評だけの本を読んでて楽しめるのか?と思ったが、こうやって読んでみると非常に楽しい。こういう本がなければ絶対に知ることのできなかった作品が多く、「この本は読みたい本リストにいれておこう」とストックしながら読み進められる。ありがたい。

せっかくなので、SF1000から自分が気になったタイトルを気になり度を併記しつつ抜粋して載せておこうと思う。次にどれを読もうか考える時に便利そうだ。

21世紀SF1000 part2を読んで · GitHub

 

今年はSFをいっぱい読みたい。

 

と、いうのを今年の頭に書いて、そこから数ヶ月放置してしまった。もう8月に入ろうかという頃になって思い出したので吐き出しておく。

実際このあと、「楽園追放Rewired サイバーパンクSF傑作選」「なめらかな世界と、その敵」「息吹」「三体Ⅱ」「紙の動物園」を読んだ。今はちょっと他の本を読んでいる。

ドラえもん映画作品を観ている

飲み会の席で劇場版ドラえもんが話題にあがった。あのシーンがいい、あのタイトルは凄かった、等々。子供の頃に結構みていたつもりでもよく覚えていない事が多い。

例えば魔界大冒険で敵がどこでもドアとタイムマシンを使って追いかけてくることに絶望を覚えたという話はさっぱり覚えていなかった。話を聞くに、気分はさながら進化中に攻撃してきたインフェルモンといったところか。そうだ、確かにドラえもんの未来道具を逆に利用してくる的は覚えがない。大体はあの四次元ポケットから出てきたものに対応しきれず、なすがままにやられていた。
と、いう流れがあって懐かしくなり、劇場版ドラえもんを改めて見返そうという思いが強くなった。過去に自分がどこまできちんと見ていたかも確認する意味もある。
だがこれが結構大変で、なにせ全部で40作品もある。一月以上かけてもまだ半分を超えた程度だ。見返し始めた当初はこんなに長くかかるとは思っていなかった。せっかくなのでなにか見返しながら気づいた感想などをメモしていこうと思う。

 

そもそも、当初は思い返すために見返し始めたのだが最後にきちんと観た映画はロボット王国までだった。そこまではなんとなく知っていた……はずだったが、宇宙開拓史、竜の騎士、アニマル惑星の記憶がなかった。うろ覚えですらないから本当に観ていなかったのかもしれない。宇宙小戦争が一番記憶が強く、よっぽど見直していたのだろうけれど、実際に見返してみるとパラレル西遊記も話が複雑なことに驚いた。
こうやって改めて見返すと、常にのび太スネ夫の自慢で「ドラえも~ん!」と始まるわけではないということに気付かされる。
また、環境問題に配慮していたりいなかったりと回によってメッセージ性が大きく異なることも発見だった。のび太くんは「地球を美しい星にします!」って毎回約束してるんだよなぁ。回を追うに連れそういう主題的な内容をのび太が叫ぶようになってきた。アマプラでずっと観ていたが、途中に新作ドラえもん映画の宣伝が挟むと毎回のび太くんが「大人は絶対に間違わないの!?」と叫んでいる。パラレル西遊記のび太とかは本当にどうしようもない奴なんだが。

 

劇症版ドラえもんにおいてはドラミちゃんがデウス・エクス・マキナの役割をすると何かで聞いていたものの、実際にドラミちゃんがでてきたのはパラレル西遊記と魔界大冒険のみだった。他の作品では名前すらでてきていない。本当のデウス・エクス・マキナは宇宙パトロールだった。なんなら特に困っていないであろう時でも話のオチをつけるためにタイミングよく現れて宇宙犯罪者を引き取ってくれる。

 

あとなんだか見ていて非常に気になってしかたなかったのは、なぜだか古い劇場版ドラえもんでは妙なシーンで急に作画がぬるぬる動き始めることがあるという点だ。どう考えてもそのシーンは重要ではないだろうに作画枚数が密なのかなんなのか、他のシーンとは動きが違う。昔から記憶に残っていたのは日本誕生の冒頭、古代人のククルが沢で魚を捕らえるシーンだ。沢から駆け下りていくククルが異常にぬるぬる動いていくのだが、その前後のシーンと差が大きいので昔から気になって記憶していたシーンになっている。

 

また、劇中で使われる音楽にもある時点から違いが大きくなってきた。途中からやたら武田鉄矢が出てくるというのもまぁそうなのだが、どこかから急にBGMが豪華なオーケストラを使ってたりするようになる。多分、銀河超特急あたりではないか、いやあれはあの回だけ特別だったのか。

 

この文章を書くにあたってシナリオを思い返してみたところ、敵役の立ち位置に気になる点があった。大体は4種類くらいに分類される。時空犯罪者、現地の悪党、宇宙人、そして突然変異体である。時空犯罪者はわかりやすい。大体タイムマシンを持っているし自ら種明かしをしてくれる。現地の悪党と宇宙人は、のび太たち以外の味方勢力にとって宇宙人かどうかで決まる。例えばアニマル惑星は攻めてきた敵はアニマル惑星にとっての宇宙人であるが、宇宙開拓史の敵はコーヤコーヤ星住民にとって宇宙人というほど得体のしれない相手ではなかった。突然変異体というのは宇宙漂流記がわかりやすい。アンゴル・モアは作品中で唯一の例外的生命体だった。また、イレギュラーを起こしたシステムもここにあたるため、海底鬼岩城やブリキの迷宮も突然変異体とみなしている。こういう分け方をしてみると敵の種類もなかなかかぶらないし、なぜ戦うはめになたのか、その敵対理由も様々だ。物によっては悪党ですらないため、普通に和解することもある。竜の騎士が特別なのかと思ったら雲の王国や創世日記もあるため、敵との和解は劇場版ドラえもんにおいてそこまで特別なものではないようだ。今後どうなるかはまだ観てないのでわからないが。
このへんで、いったん現時点で気に入った作品の順位をつけてみようと思う。

三位 宇宙小戦争

やはり思い出補正は強い。多分子供時代に一番観た映画だったと思う。気に入りすぎて武田鉄矢の曲も人前で歌ったことすらある。ドラコルル長官がいかに恐ろしく、かつ魅力的な敵であるかを書いたブログ記事を読んだ記憶もある。よくわからないんだけどドラコルル長官をみるとルパン三世を思い出すんだよな。声優にそんなに関連はないはずなのだが。

二位 ふしぎ風使い

最後の誰かを犠牲にして平和を得る・その際には全員が応援して敵味方なく助力するというシーンは最近の自分の好みの展開で、ちょっと最後のシーンがハマりすぎた。その一言に尽きる。フー子は可愛い。
あとこの作品の2・3作前から感じていたが、作画が変わってきており、ふしぎ風使いではそれが特に顕著になっていた。初っ端のフー子登場でスネ夫があたふたするシーンなどアニメにしては珍しいほどカメラワークが凝っていたように感じた。
一方でなんか少年アニメ臭さが非常に強く、なんかこれはドラえもんというよりポケモン(最初の3作くらいしか観てない)ではないか?という気にもなった。

一位 夢幻三剣士

改めて見直して思ったことは敵の鳥(トリホー)が登場した瞬間からいきなり不気味であるということ。ここだけ作品の雰囲気が違う。魔界大冒険のメデューサもなかなかに怖かったが、実はこのトリホーは強くない。強くないのに序盤にのび太を誘導する時点で不気味であり、驚異を感じさせる。こういったキャラクターが出てくるとやはり魅力的な作品に感じる。あとのび太が白金の剣士になった瞬間のシーンでテーマ曲が流れるのは定番演出ながらもやはり子供時代には印象が強かったのを覚えている。

 

他にも大魔境、鉄人兵団、パラレル西遊記、日本誕生、ブリキの迷宮あたりはそれぞれ一言二言感想があるが、面倒なので省略する。特にブリキの迷宮は悩ましかった。

これで2020年2月現在で全40作品中、24作品を観たことになる。次はワンニャン時空伝から。まだ残りの作品を観終えていないので確かなことは言えないが、おそらく劇場版ドラえもんは初期・中期・後期の3構成に分けられるのではないかと思う。初期と中期の境目はわかりやすく、OPの作りが明確に違う。南海大冒険あたりだと思う。その回から無理やり絶対に入れていた奇妙なCGがなくなった。そのあたりから合わせて作品の脚本の作りも変わってきていると思う。だが、後期がどこからなのかが自分の中でもはっきりしていない。というかまだ全部観終えてないのでこのあとまた確変が起きているのかもしれない。

 

当初は飲み会で藤子不二雄手塚治虫について語っていたのがきっかけだったはずだが、さすがに2000年代になってくると劇場版ドラえもんではその色が全くなくなっている。とはいえ話がコンパクトで難しくないのは共通しているため、適当に何も考えずに観ていても楽しめる。

自分がこれから観ていく作品は、リメイクがあるとはいえどれもこれも初見の作品なのでとても楽しみだ。全部見終わったらまた感想を書きつつ、他の人の記事やらまとめやらもみてみたい。

最近の興味、自作キーボードとか

生存報告くらいしておこうかということで最近vtuberと同じくらいハマっている自作キーボードについて。

 

キーボードのこだわり

はるか昔にFILCO MINILAを改造したことがあったが、キーボードをいじったりするのはそれなりに好きな方。

ragi256.hatenablog.com

 

しかし、世間のErgoDoxブームやLet's Splitブームをよそ目に今まであまり自作キーボードに手を出そうという気はしていなかった。ErgoDoxの親指キーはちょっと気になっていたが、値段もそれなりにするしまぁいいか、みたいな。それよりもむしろTwiddler3のほうが気になっているくらいだった。

Twiddler 3 by Tek Gear

 

それが3月末辺りくらいから急激に自作キーボード欲が湧いてきた。テスターを買ったり自作キーボード同人を購入したり。

 

(ちなみにブログで触れたことはなかったが、このときは自宅ではesrille初期タイプ・職場ではHHKBを使っていた)

 

Dactylを知る

どこで見つけたのかすっかり忘れてしまったが、Dactylキーボードを作っている記事を見かけた。以前からKinesisは触ってみたいなと思っていたのと、それを分割・ケースの3Dリモデル・ファームウェア書き換えなど自作ならではの様々な要素カスタマイズできそうだということが心に留まった。これは作ってみたい。

www.yslibrary.net

medium.com

 

だがビルドログを見たところ、明らかに難易度が高そうだ。はんだごても持っていない初心者にいきなりこれは無理だろう。どうしたものか。手始めに一回は皆が作っていそうな簡単なものから始めることにしよう。

 

Helixチャレンジ

Dactylの練習に何を作ろうかと悩みながらキーボー道の記事などを眺めて情報収集をしていたところ、Kailhのロープロファイルスイッチが気になってきた。通常のCherry軸より薄いのに押し心地は変わらないらしい。

ascii.jp

このロープロファイルスイッチを使ったキーボードを自作できないか、ということですぐに見つかったのがHelix。見つけた当時は売り切れていたがGW前後で販売再開したので即予約した。会社に先人がいたのであると便利な必要キットを尋ねて買っておく。自作キーボード用具が一気に増えた。

 

 

ロープロファイルスイッチを触ってみたかったので注文時には3種頼んだが、実際の配置は赤軸を中心とした。冒頭にあったテスターもいろいろ触った結果、どうやらリニア軸系が好みのようだ。

 

土日に他の方のビルドログを参考にしながら、悪戦苦闘しつつも組み立てあがった。

詳細なビルドログは他の記事を参考にしたほうが速いので、とりあえず詰まったポイントだけ述べておく。

スイッチのはんだはみ出さないようにするのが地味にシビア

一応公式ビルドガイドにも書いてある。が、写真もなく、初心者すぎて「パッド」も「ブリッジ」もわからなず途方にくれていた。

 狭いところは隣のパッドにブリッジしないよう気をつけて下さい。

ビルドログ記事を読んだりして気づいてハンダを付け直したが、わかっていても難しい。はるか昔に授業でやって以来のハンダ付けで結構苦労した。

windows環境でファームウェア書き込み色々とめんどい

ファームウェア書き込みにはGUIqmk_toolboxCUIqmk_firmwareを使う必要がある。端的に言って両方うまくいかなかった。キー配列を書き換えたかったので当然後者を使う必要があるのだが、ビルド自体はうまくいくのにその後の書き込みができない。

仕方なくqmk_toolboxで書き込もうとするもエラーが出て進まない。エラーでググると既出のバグらしく、PRもマージされている。

github.com

だがこのマージ内容は2018年5月時点で最新のリリースに含まれていない。自前でビルドするにはVSが必要になる。そこまでやるのは流石にめんどうくさかったのでAVRDUDESSで書き込むことにした。

 

 

 

というわけで完成。(写真のキートップは仮置きの図)

職場で使っている。新しいキーボードの、それも今までと異なる形状ということで、最初は慣れなかったが段々と慣れて使いやすくなってきた。椅子の肘掛けを使えるのが良い。

いくつかのキーの反応が悪かったり、キー配置が気になったりで持ち帰ってるうちに一回壊れて途方にくれた。片手のキーだけしか反応しなくなってTRRSジャックが逝ったかと色々考えていたが、なんてことはないProMicroを止めるスプリングピンが浮いていた。他にもハンダ付けが甘いのかキートップを外そうとするとスイッチが浮いたりして色々危ういが、普段使っている分には問題なさそうだ。

 

次はDactyl

実はHelix製作前からDactylのパーツを注文していた。

 

海外のショップへ別々に注文する必要があるので注文自体もめんどうくさいし、到着までにかなり時間がかかった。shapewaysdigikey、aliexpressを使った。この辺はきちんとしたビルドログを書くときに正式にまとめる。

 

とりあえず余っていたキースイッチ(実は足りていなかったので買い足した)をはめてDactylがどんなものかを確かめる。キートップも足りてなかった。

既にこの時点で判明したことだが、手前の角(キートップがないあたり)が手にあたって邪魔になる。どうも形状が手に合わないようだ。

さっそくDactyl-ManuFormのケースを注文した。

 

HHKBメンテ

冒頭で少しだけ触れたがHelixをビルドするまで職場ではHHKBを使っていた。このHHKBは友人から中古で安く買い取ったものだが、それだけにキーの反応が少し悪い。左SHIFTが押し込むと返ってこないことがある。

Helixに乗り換えるからいいかと長らく放置していた。ある日、社内slackのキーボードチャンネルで「スムースエイドが余っているから、誰か欲しい人がいたらおすそ分けするよ」というのを見かけた。スムースエイドというのを知らなかったので詳しく話を聞くと、まさに古くなったHHKBのような、反応の悪くなったキーを復活させるための潤滑剤らしい。早速分けてもらって塗る。

HHKBの分解方法を探してもみつからなかった。試した結果、すべてのキートップを外して、さらに基盤と分離させた状態で表側からスイッチの押下部を押し込むと外れた。キースイッチ側(写真でティッシュの上に乗っている部分)とキーボード側の両方に二度塗りをしていく。

 

塗ったばかりなのでまだ打鍵感の違いはわからないが、これで左SHIFTも復活することだろう。

 

次のキーボード

作りかけのDactylと、これから届くDactyl-Manuformを夏休みあたりに作ろうと思う。Helixとちがってこちらはビルドログがまだまだ少ないようなので(できれば)ブログ記事にしたためたい。

ISUCON7予選敗退してきました

クソアニメ同好会 (ragi256, oboenikui, bonprosoft)として参加。最終スコアは20103。

180位だった 

実は昨年も参加していたが、そのときは本当に何も出来ずただひたすらオロオロするだけだったので参加記も書く気になれなかった。今年はちょっと書けると思うので書いてみる。

 

前日まで

研究室時代のメンバーで参加することになったので研究室OBのSlackでisucon用のプライベートチャンネルを用意しておく。チーム名決まるまでが長かった。

大雑把な役割分担として自分とoboenikuiがアプリケーションより、bonprosoftがインフラよりで、ということに。使用言語はPython

10/14, 10/15 

oboenikuiは初参加だったので、当日までのどこかで練習する時間をとっておこうということに。とりあえず一週間前の土日の夜にISUCON5予選問題をやろうという話だったが、まず土曜夜の段階でVagrant立ち上げに予想以上に時間がかかり問題に触ることもなく終わった。練習の前日にvagrant upしとけばよかったと少し後悔した。日曜はログとりやボトルネック調査に費やした。

この時点でだいたいどこをどう直すべきかは二人で把握できていたが、実際に手を動かさずに終わる。

10/16

する予定はなかったが、その後も夜に続きをやることにした。ISUCON5予選WriteUpを読んで上位チームの方針を参考にし、どうすると高スコアが出るのかを学ぶ。このあたりで我々にはredisやmemcachedなどのキャッシュの知識がないとわかる。また、前回の敗因の一つとして、Webサーバーのプロファイリングを怠ったことではないかということで、Werkzeugも試すことに。

10/17

Werkzeugのプロファイラを試す。キャッシュも試したかったが色々時間を費やしてしまい翌日に持ち越し。

10/18

いざキャッシュ。memcachedとredisの違いを調べるところから始まり、とりあえずredisを練習することに。MySQLからテーブルをダンプしてredisに入れ、aofで永続化する流れを試した。

前日

当日は出来る限り一緒に臨んだほうがいいということで本番はoboenikui宅に前日から泊まり込みで参戦。雨の影響か体調を崩す。

当日

最初に自分がSSH回りを設定し、皆がログインしてbonprosoftがデプロイの自動化とログ計測回りを準備し、アプリケーションの二人がコードリーディングをする手はずだったが、全然ログインできなかったため結局bonprosoftが全部設定した。

 13:50

チームメンバーが大体確認できるようになったため、ログ計測も兼ねて初回ベンチ。その間にoboenikuiがコードを読み、自分がDB内の構成を確認していた。githubに用意したprivateリポジトリのissueに各自確認した内容を記入していく。

ベンチ結果、とにもかくにもiconの配信がボトルネックになっていることがわかったのでまずはそこに取り組み始める。

15:30

channel_list_infoが全チャンネルとfocus_channelの両方の情報を取得しているので分割し、必要な時に必要な情報を呼ぶようにする。

使っているmacgithubのprivateリポジトリに触るのが初だったため無駄に手間取ってしまった。

17:00

やたらとクエリに*が入ってたのが気になって消し始める。count(*)をcount(1)にしたり、必要な分だけのカラムに絞ったり。このあたりは計測結果のボトルネックから来ているのではなく、とにかく「気になる」というメンバーが多かったためやったが、多分効果はあまりなかったと思う。

しかもtemplateで必要な情報を抜け落としてしまったためにバグを出す始末。

18:00

icon回りの配信が改善されたことで次のボトルネックがmessageに移る。messageとhistoryのN+1は把握していたが上記のバグのせいでなかなか進まず。

20:00

単純にN+1を潰すだけはjoinですぐにできたが、APIの仕様上どうしてもuserをネストしたjsonで返さないといけない。これをMySQLから取得後ループ無しで行う方法がどうしてもわからなかった。MySQLjson_objectを使って試してみるもuserの中身がjsonではなくstringとして判定されてしまい苦しむ。ここがかなり手こずった。

結局諦めておとなしくfor文を回し、user以下が辞書型になるようにした。

が、全然速くならない。というか何か挙動が変だ。

21:00

実は勘違いにより「お、order byでdescしてんのに結局reserveしてるじゃん。これ昇順で取れば一発じゃね」と勝手にdescを消していた。「最新の100件古い順に並べるんだよ!」と終了間際にoboenikuiに言われ絶望。なんだよ昇順って、最古の100件とってどうすんだ。

また、この勘違いのせいでてっきりmessageは1ページに何度も呼ばれるものだと思っていたが、実際は1ページに一回しか呼ばれず上記json周辺は実はさして気にする必要がなかったと知る。

今回の一番の後悔。

 

感想

最後のアレさえきちんと出来ていればあるいは…という悔いが残った。ISUCON6のときとは違ってDBの調整が効いてくるはずの問題だっただけに悔しい。

コードリーディングとアプリケーション把握という課題ができた。

次こそは満足の行く結果を残したい。

 

最後に、運営の皆様に感謝を。今年はベンチが高速快適最高と言うことなしでした。お疲れ様でした。

身辺整理的なもの

長年各所のIDをsukerutuloにしていたが、人に説明しづらいわ呼ばれにくいわでいいことがなかった。ネット上で名乗っている名前"らぎ"と一致していないのもよくない。そのせいで最近は自らTwitter上のユーザー名を名乗るような場でもなかなか言い出せなかった。

 

そういうわけで影響範囲の大きすぎるgmail以外のアカウントをすべて"sukerutulo"から"ragi256"に移すことにした。もちろん本当は"ragi"だけというのが望ましいのだがそんな都合のいい世界はない。IDが衝突しないように適当な工夫をする必要がある。

Twitterで行える工夫としてはこんなところか。

  • アンダースコア (_) を使う
  • リート (1337) を使う
  • 前後に適当な数値を入れる

アンダースコアやあまりに適当すぎる数字は既に他人に使用されていた。"ragi"周辺は競争率が高いのだ。リートも"R4G1"など試してみたがやはり使われている。"_R4G1"までやれば空いていたが、そこまでするならアンダースコアだけでなんとかしたい。

そもそもアンダースコアを使うとスマホなどでタイプし難いしやっぱりそれも避けたい。

というわけで"ragi"のあとに適当な数字として"256"をつけた。大体3桁でゾロ目以外なら衝突しない。2桁は数値にもよるが"ragi32"だと既に使われていて、"ragi64"なら空いていた。(2017/04/14現在)

64を避けてID長を1つ増やしてでも256を選んだのはそっちのほうがなんかプログラマーっぽかったから。ニゴロって言えるし。

Twitter, Github, Qiita, はてな, ドメインは移行した。あと何か忘れていないだろうか。

 

他のサービスはID変更が可能だが、はてなだけはIDの変更ができないため公式で用意されていたサブアカウント機能を利用した。

id:sukerutuloからid:ragi256にブログ記事を移す際に、ついでなのでBloggerでやっていた旧ブログからも記事を引っ張ってきた。また、GithubPagesを使ってsukerutulo.comでやっていたブログの内容もこちらに持ってきた。

どちらもあんまりに古いので若干恥ずかしいがまぁ歴史ということで。

今見ると間違ったこととかかなり微妙なことを書いていたりするが、安々と過去をなかったことにするわけにもいくまい。

大体2011~2014がBloggerの記事で、2014/2月 ~2014/4月がsukerutulo.comで書いていたもの。後者の記事はインポートに失敗したのかはてなブログ上にきちんとアップロードされてはいるものの、月別アーカイブでうまく表示されない。まぁ遡ろうとすれば遡れるのだし別にいいか。

 

sukerutulo.comは次のドメイン契約で更新せず消そうと思う。それまでは残す。今後はragi256.comとして、ポートフォリオサイトを作り、ブログははてなでやっていく予定。mediumも考えたけど今はその予定はない。

 

というわけでsukerutulo改めましてragi256をこれからはどうかひとつよろしく。