月報 2025/11, 2025/12

Sat 01 Nov 2025

16:33:48

Switchbot はすべてのAPIをユーザーに公開してくれてる数少ない企業の一つだから, 頑張ってほしいね. 最近たぶん scenes 周りが壊れてる. 例えば scenes 一覧の取得をしようとするとずっと空が返ってくるのと, scene の実行もできない. エラーじゃなくて成功扱いで空が返ってくるので困る. 5回に1回くらいは成功する感じだったが, もう100%失敗するようになった.

API ドキュメントを公開してくれてる Git レポジトリがあって, ここの issue が一応は機能してるっぽい. すでに似た問題を報告してくれてる人がいたので, 私も仲間だよっていうアピールコメントだけ残しておいた.

Wed 05 Nov 2025

18:19:24 HSK3/H31003

点数

Thu 06 Nov 2025

14:25:05 面白いかもしれない論文リスト

まだ読んではない. 読みたい順.

14:32:22

じゃあ読むね.

有向グラフを扱う. 無向じゃないんで非対称な関係を捉える必要がある. 例えば SNS のフォロー関係.

既存手法はやっぱりGNN. グラフにしたがって情報を伝播させてノード埋め込み表現を獲得する. ただ論文が主張してる程よりは実用性に乏しい. 原因はベンチマークにあり, "label leakage" 問題がある. 意図せずテストデータが学習データに漏れ出してしまう問題.

というわけでベンチマークを作り直す. あと, ただの二層 MLP でも十分 GNN に匹敵したことを示す. シンプルで簡単なのでベースラインとしてあるべきという主張.

Spectral-based GNN っていう最近イケてる既存手法がある. 扱うグラフを無向グラフとしたときの隣接グラフを \(A\) とする. \(A\) における次数を対角成分に持つ対角行列を \(D\) とする. そして \(P = D^{-1/2} A D^{-1/2}\) と定義する. ちなみに \(L = I - P\) がいわゆる対称正規化ラプラシアン行列になる.

これを使って次のような GNN を回す.

\[Z = \sum_{k=0}^{K} w_k P^k X\]

計算上の工夫があるけど詳細略.

リンク予測を考える. 頂点 \(u,v\) について \(u \to v\) というエッジが存在するかどうかを判定するモデル \(f(u \to v \mid \mathcal{G}, X)\) を作りたい. \(\mathcal{G}\) がグラフで, \(X\) がノードの特徴行列.

有向グラフの場合のノード特徴量獲得はとりあえず次のように書ける.

この \(\mathrm{Dec}\) でありえそうなのは Table2 の通り. 例えば \(\theta_u, \varphi_v\) を MLP に入れるとか.

既存の実験設定について見直す. 定番のタスクは以下のもの. この中から複数選んでる.

既存の実験のダメなところ.

MLP が蔑ろにされすぎ問題. Table 3,4 にMLP含めて比較した結果があるが, MLP は本当は強い. データセットによっては sota になってる.

label leakage 問題もある. 当然ながら訓練データがテストデータを含んではいけない. 一部の論文 (MagNet, PyGSD, DUPLEX) では negative edge sampling をしていて, テストデータの negative が訓練データに含まれてる. これは間接的にテストデータを使ってる. 一部の論文 (LighDiC) では特徴量を作るためのラプラシアン行列の計算にテストデータを使ってる. 一部の論文 (DUPLEX) では伝播するのにテストデータも込みの正しいグラフの上でやっちゃってる. 彼らのオリジナルコードを使うと確かにDUPLEX が圧倒的に強くなる.

タスクも怪しい. 例えば 4-Class Prediction では bidirection も判定するが, データセット中でこれはかなりレアケース. つまり imbalance な問題設定をしてるし結果を見てもミスリードしやすい. 素直なリンク予測が良い. どの頂点にリンクしてるかをランキングとして出力して, これを Hits@K, MRR なりで評価すれば良い. 有向グラフでも無向グラフでも使える.

データセット分割の仕方がバラバラ問題. 80%/5%/15% とか 90%/ / だったり 50%/ / だったり.

新しく DirLinkBench というベンチマークを作成した. 公平で厳密な評価が出来ることを目標としてる. 実世界の7つのデータセットがある. 論文の引用関係, 購入関係, ウェブリンク, SNS. 16のベースラインがすでにある. タスクもリンク予測をランキングベースで測るのみ. データセットを 80%/5%/15% にランダムに分割するロジックも実装されていて, 訓練データは弱連結(無向グラフとみなしたときに連結)なことを保証されてる.

既存の DiGAE を見直して, SDGAE という新しい手法を提案する.

Sun 09 Nov 2025

18:26:41

趣味プログラミングこそLLMを多用してる. コードの品質を誰も保証する必要がないからってのが大きい. つまりコードレビューで誰の批判を受けるものでもないので, 私が責任を取らなくていいことにある.

手元のファイルをブラウジングさせて特に Markdown ファイルをHTMLでレンダリングさせるっていうだけの簡易的なサーバを立ててくれるコマンドを作った.


GitHub - cympfh/marvu: A markdown viewer server
A markdown viewer server. Contribute to cympfh/marvu development by creating an account on GitHub.
 
github.com/cympfh/marvu

3日くらい費やしたが最低限の機能は始めの30分で出来てた. 見た目をかっこよくとか, ホットリロードとか, サイドメニューに目次を出すとかそういうのを欲しくなって追加してっただけ.

手元の資料は markdown で書いて人に見せるときにこれを使えば多少は見やすくていいかなと.

Mon 10 Nov 2025

16:41:45 論文メモ

サーベイ論文なんだけど細かい手法は教えてくれて無くて論文リストとしてまとめたましたって感じ. 攻撃者がやれることは特徴量の注入. これを ポイズニング攻撃 と呼ぶ. 直接モデルが学習してる rate だったり入力に使っていそうなデータだったり. 基本的に攻撃者は中身のモデルは知らないので試行錯誤を繰り返す.

防御者がやることは一つは異常検知. 怪しいユーザーがいるかを発見する. いたら排除するとか怪しさに応じて重みを下げるとか. もう一つは堅牢なモデル設計をしましょうということ. 例えばアンサンブルして被害を軽減させるとか.

ポイズニング攻撃の一種で Backdoor Attack というのがある. 攻撃者は学習データに特定のトリガーを持つデータを注入する. 例えば道路標識の分類データセットに, ある特定のステッカーが貼られた画像を追加する. そのステッカーが貼られてたら一時停止を制限速度と誤分類するように学習させる.

この攻撃を検出する手法として Activation Clustering というのが提案されている. DNN の隠れ層の最終層の活性化を抽出し, それらをクラスタリングする. k=2 として k-means でクラスタリングすることをおすすめしてる. 本来と違う活性化を示すデータが別クラスタに分かれることが期待される.

どちらが毒クラスタかどうかを判定する方法も提案されてる. 一つは毒らしきものを除いて再学習し, これで毒クラスタを分類させる方法. どのくらい正しく予測できないかで毒度合いを測る. もう一方は単にクラスタのサイズが小さかったら毒クラスタとみなす方法.

16:54:00

Claude code くんに「論文を完全に理解するための補助テキストを作ってください」みたいなお願いしてドキュメントを書かせるっていう論文の読み方をしてる. Claude Skill として登録しておいた. mcp-arxiv-server は別途インストール済み.

---
name: make-arxiv-document-memo
description: 論文の内容を完全に理解するための補助となるドキュメントを Markdown 形式で作成する
---

## make-arxiv-document-memo

### Instructions

1. arxiv の ID または URL を特定する
1. arxiv-mcp-server を用いて論文の内容を取得する
1. 内容を理解してドキュメントを作成する

ドキュメントのファイル名は `{arxiv_id}.{slug}.md` とする.
slug は論文の内容が完結に分かる英単語を3つ程度 _ で繋げたものとする.
元のタイトルに含まれている単語を使うことが望ましい.

例えば "Phantom Subgroup Poisoning: Stealth Attacks on Federated Recommender Systems" が元のタイトルであれば `Phantom_Subgroup_Poisoning` などが考えられる.

### Document Content

- 論文の内容を完全に理解させることが目的です
- 数式は Mathjax3 形式で記述 ($~$, $$~$$)
- 箇条書き (list) のブロックの前後には必ず空行を入れる
- 言語は日本語を用いるが, 専門用語は英語のままが望ましい

簡単なサンプルは以下のとおりです

---
## title
### 論文情報

- タイトル:
- 著者:
- 発行
- arxiv ID:
- URL へのリンク

## 1. 論文の概要と目的

...

## 12. 関連リソース

- 公式 Github リポジトリなど

## 13. 読解のための補足

### 用語集

### 重要な記号

### 重要な数式まとめ

## 14. まとめ

18:45:15

unidoc の中で何気なく使ってた絵文字ライブラリ


GitHub - rossmacarthur/emojis: ✨ Lookup emoji in O(1) time, access metadata and GitHub shortcodes, iterate over all emoji
✨ Lookup emoji in O(1) time, access metadata and GitHub shortcodes, iterate over all emoji - rossmacarthur/emojis
 
github.com/rossmacarthur/emojis

これが「絵文字のルックアップするのに \(O(1)\) です」って書いてて, いやそんなわけないじゃんと思ったんだが.


GitHub - rust-phf/rust-phf: Compile time static maps for Rust
Compile time static maps for Rust. Contribute to rust-phf/rust-phf development by creating an account on GitHub.
 
github.com/rust-phf/rust-phf

こんなのあった. Perfect Hash Function で phf らしい. 衝突が無いことを完全というそうだ. そしてコンパイルタイム時に予め作ることを考えるとこの完全性は確かにできそうに思える. つまり後から新しい値が追加することを想定してないので. なるほどな.

Tue 11 Nov 2025

14:56:48

HSK3 のリスニングテストを1.25倍速でやってる. 40問中30問の正解は手堅いってくらい. 6割で合格なんでいいんじゃないかな. 読解と作文はもっと余裕だし. 一応使える過去問は全部やるけど.

Fri 14 Nov 2025

19:10:05 HSK3/H31006

点数

復習

错题

NOTE

Wed 19 Nov 2025

19:27:27 HSK3/H31007

1.2倍速で.

点数

错题

復習

Fri 21 Nov 2025

14:29:44 Gemini 3 におすすめされた論文読む

Gemini 3 におすすめ論文リストを deep research で作らせ, canvas モードに切り替えてスライドにさせるっていうことが出来て良い. めちゃ見た目良いスライド勝手に作るし.

Wed 26 Nov 2025

15:29:10

LLM でロボット動かす. "Physical Intelligence" 社がイケてるらしい.


π*0.6 と Recap の概要|npaka
以下の記事が面白かったので、簡単にまとめました。 ・π*0.6: a VLA that Learns from Experience 1. π*0.6 と Recap 箱を組み立てる作業を学ぶとします。素早く効率的にできるようになりたいので、まずは誰かに基本を教えてもらいます。効果的なやり方、よくある失敗、正しい手順などです。次に、良い先生なら単に手本を見せるだけではなく、あなたが実際に作業しているときに間違いを指摘し、修正をコーチングしてくれます。しかし、指導だけでは不十分で、最終的には自分で十分に練習し、動作を身体で覚える必要があります。 ここ1年のロボティ
 
note.com/npaka/n/n2b7f6bc907c8

VLA (multi-modal LLM) でロボットに指示を自然言語レベルで出す. 自然言語レベルの指示は Action Expert みたいなのが具体的に解釈して動作に変換する. 報酬を受け取ってVLAは強化学習される.

Tue 02 Dec 2025

20:14:51 HSK3/H31009

1.1 倍速

点数

错题

復習

Wed 03 Dec 2025

13:51:54 HSK3/H31110

1.2 倍速で.

点数

错题

復習

Fri 05 Dec 2025

15:23:52 HSK3/H31111

1倍速.

点数

错题

復習

17:05:31


ARPABET - Wikipedia

 
ja.wikipedia.org/wiki/ARPABET
  1. 発音の表記法の一つ.

Sat 06 Dec 2025

20:49:13

ちょっと試しにキーボードの配列を変えてみてる。 今既に使ってみてる。

本来がこう:

QWERT/YUIOP
.ASDFG/HJKL;'
..ZXCVB/NM

これをこう:

よ.ゆ.や/GZDPB.
.OEUIA/KSTNHM
....VR/んW

うーん、いけんのか?

21:10:02

AIUEO, やゆよ をなんとなくで右から左に並べたけど, 今ならまだ逆に出来る...

Mon 08 Dec 2025

18:27:15

Android にある Google keyboard にゴダンキーボードってのがあって、 これの QERTY キーボード版が欲しい. という訳で先日のキーボードレイアウトを考えてた. 左手の左右だけ逆転させた.

ゃぃゅぇょ \ G Z D B P [ ]
 あいうえお \ K S T N H M
        V R  \ んW , .

Godan reversed という名前にした. M が遠いのが今困ってる. ホントは Shift と組み合わせてキーを圧縮したいよね.

19:13:17 HSK3を受験した

昨日 HSK3 を受験した. 会場は東京海洋大学の品川キャンパスってトコだったんだけど, クジラの骨格標本があったり, 船が飾られてて見応えがあった. 試験開始より一時間早く着いたのに, 散歩で結局ギリギリまで時間を潰してた. その時間があれば, 近所にコンビニ探して筆記用具が買いに行けたのに.

という訳で, 筆記用具を忘れたのだった. 正確に言うと, 忘れたんじゃなくて, 必要だと思ってなかった. 本当に偶然にシャーペンだけカバンに入ってたので, それで乗り切った. 消しゴムは無いんで, とにかく集中して慎重ににマークシートを塗りつぶした. もちろん, マークシート方式だということも試験開始五分前に知った訳だ. 皆は何処で情報を仕入れたんだ...

試験自体は簡単なんで, 八割は固く超えてると信じたい. リスニングよりも, マークシートを間違えないように塗ることに神経を使った.


受験当日の注意 | HSK 日本で一番受けられている中国語検定

 
www.hskj.jp/attention/#belongs

うーん, 筆記用具って書いてたな...

次は HSK4 をすっ飛ばして HSK5 を受ける予定. HSK4 はなんせ, 試験開始が午前なので, 私が起きれる理由が無い.

20:19:07

Tue 09 Dec 2025

14:05:16

自分がしょっちゅうタイピングする単語は省略形で辞書登録しておこう

例えば「ありがとう」なら「argtu」くらいでいいよね.


GitHub - daac-tools/vibrato: 🎤 vibrato: Viterbi-based accelerated tokenizer
🎤 vibrato: Viterbi-based accelerated tokenizer. Contribute to daac-tools/vibrato development by creating an account on GitHub.
 
github.com/daac-tools/vibrato/tree/main
git clone git@github.com:daac-tools/vibrato.git
cd vibrato
wget https://github.com/daac-tools/vibrato/releases/download/v0.5.0/ipadic-mecab-2_7_0.tar.xz
tar xf ipadic-mecab-2_7_0.tar.xz

echo '本とカレーの街神保町へようこそ。' | cargo run --release -p tokenize -- -i ipadic-mecab-2_7_0/system.dic.zst && echo OK

## 自分のブログで統計取る
cat ~/git/cympfh/cympfh.github.io/taglibro/*/*/*.md |
    cargo run --release -p tokenize -- -i ipadic-mecab-2_7_0/system.dic.zst |
    sort | uniq -c | sort -n -k1,1 |
    grep -v 助詞 | grep -v 助動詞 | grep -v 空白 |
    awk 'length($2)>=3'

意味のありそうな単語だけを抽出する. 10秒ほどで解析が完了した.

上位だけ見るとこんな感じ

    267 return  名詞,固有名詞,組織,*,*,*,*
    276 例えば  接続詞,*,*,*,*,*,例えば,タトエバ,タトエバ
    280 出来る  動詞,自立,*,*,一段,基本形,出来る,デキル,デキル
    289 for     名詞,固有名詞,組織,*,*,*,*
    291 データ  名詞,一般,*,*,*,*,データ,データ,データ
    310 JST     名詞,固有名詞,組織,*,*,*,*
    327 ####    名詞,サ変接続,*,*,*,*,*
    371 www     名詞,一般,*,*,*,*,*
    381 twitter 名詞,一般,*,*,*,*,*
    382 bash    名詞,固有名詞,組織,*,*,*,*
    389 cympfh  名詞,一般,*,*,*,*,*
    447 http    名詞,一般,*,*,*,*,*
    477 div     名詞,固有名詞,組織,*,*,*,*
    496 div     名詞,一般,*,*,*,*,*
    547 できる  動詞,自立,*,*,一段,基本形,できる,デキル,デキル
    599 class   名詞,固有名詞,組織,*,*,*,*
   1108 com     名詞,一般,*,*,*,*,*
   1190 https   名詞,一般,*,*,*,*,*
   1670 ###     名詞,サ変接続,*,*,*,*,*
   1871 ://     名詞,サ変接続,*,*,*,*,*
   2280 \`\`\`     名詞,サ変接続,*,*,*,*,*
  61602 EOS

「出来る」「できる」か...

接続詞を入れるのは良さそう.

18:44:23

↑ 普通に使わなそうなんでやめました. 辞書登録してるかどうかを覚えるわけないんで.

Wed 10 Dec 2025

17:15:14

キーボード配列を変更するやつ. 会社PCでも導入して時間があるときは練習したいけど, さすがにさっさと書き物しないといけないときはQWERTYに戻したい. Google IME のローマ字テーブルを完全に書き換えることで実現してるのだが, これをデフォルトのものと瞬時に切り替えるのはかなり難しい. レジストリに保存されてるらしいんで, できなくはないっぽいけど.

Gemini さんに提案してもらったんだけど Google IME と MS IME の両方を併用することにする. Google IME をカスタム配列用, MS IME を QWERTY 用として早く書き物したいときだけ MS IME に切り替える.

17:30:44 論文消化する


Non-stochastic Best Arm Identification and Hyperparameter Optimization
Motivated by the task of hyperparameter optimization, we introduce the non-stochastic best-arm identification problem. Within the multi-armed bandit literature, the cumulative regret objective enjoys algorithms and analyses for both the non-stochastic and stochastic settings while to the best of our knowledge, the best-arm identification framework has only been considered in the stochastic setting. We introduce the non-stochastic setting under this framework, identify a known algorithm that is well-suited for this setting, and analyze its behavior. Next, by leveraging the iterative nature of standard machine learning algorithms, we cast hyperparameter optimization as an instance of non-stochastic best-arm identification, and empirically evaluate our proposed algorithm on this task. Our empirical results show that, by allocating more resources to promising hyperparameter settings, we typically achieve comparable test accuracies an order of magnitude faster than baseline methods.
 
arxiv.org/abs/1502.07943

Successive Halvingの性能解析 | | AI tech studio
AI Labの阿部です. つい最近Preferred Networks社から機械学習のハイパーパラメータ最適化フレームワークOptunaが公開されたこともあってハイパーパラメータ最適化が注目を集めていますね! 機械学習のハイパーパラメータ最適化の代表的な手法といえば,TPE[Bergstra et al., 2011],SMAC[Hutter et al. 2011],Hyperband[Li e
 
cyberagent.ai/blog/research/1036/

Fri 19 Dec 2025

17:01:53

HHKB Studio もうほとんど使ってなかったんだけど, まだ売り払ってはない. 全く使いやすくはなくてもポインティングデバイスとマウスクリックがあるのは時々は便利だ. それは例えばVRゴーグルを付けたままPC操作しているときとか.

最近風邪を引いちゃって寝込んでたんだけど, このスタイルならベッドに横になったまま開発できるなと試してた. 悪くない. あとは結局, 枕だ.

Fri 26 Dec 2025

14:29:16 2025年読んで後悔しなかった漫画10選


ひらたんの本棚 (枚方) - ブクログ
枚方さんの本棚:知らない見てない聞いてない
 
booklog.jp/users/cympfh

読んだ順です

ひみつのおねえちゃん - 藤生 (全1巻)

実体験しか描けないタイプの作家. 素朴な家族エピソードを自虐を交えて描いてく. 親戚と友達みたいに仲良いの, 良いな.

きみは四葉のクローバー - こうし (最新3巻連載中)

サイコラブコメ. 王道ラブコメじゃないのは見たら分かる. 実はサスペンス.

ネムルバカ新装版 - 石黒正数 (全1巻)

鯨井先輩かっけえよ. いつまでも尊敬できる理想の先輩.

好きで何度も読んでたけど新装版があったからまた買っちゃった. おまけの漫画がたくさんついてきたので良かったね.

そういう家の子の話 - 志村貴子 (最新1巻連載中)

志村貴子の新刊ってだけで読むよね. 新興宗教の二世たちの話.

つくもごみ - panpanya (全1巻)

panpanya だけは紙で買え. 絶対だぞ.

成瀬は天下を取りにいく (成瀬シリーズ) - 宮島未奈 (全3巻完結)

漫画じゃないけどね.

「涼宮ハルヒ」を誠実に令和の時代に書き直したらこれになるのかも, というのが第一印象.

「天下を取りにいく」→「信じた道をいく」→「都を駆け抜ける」で完結する三部作. 「天下を取りにいく」だけは文庫化してる.

21エモン - 藤子・F・不二雄 (全4巻)

前半はほのぼの日常コメディといった具合なんだけど, 後半に宇宙に飛び出してからはしっかりSFやってていい.

ビバリウムで朝食を - 道満晴明 (全4巻完結)

完結! おつかれさま!! 道満晴明はこのくらいの長さのSFがちょうどいい.

サンキューピッチ - 住吉九 (最新4巻連載中)

「ハイパーインフレーション」のあの人じゃんと気づいて慌てて読んだ. キャラクタを見せる漫画.

推しが武道館いってくれたら死ぬ - 平尾アウリ (全12巻完結)

ついに完結したね. ようやく. おつかれさま!!

(短編もまた量産してくれ!)

にこけい! 怒りのマンガ刑事 - マクレーン (全3巻完結)

別に, 人にオススメするわけじゃない. 絵はクセが強いと言うか下手だし, 話は滅茶苦茶だし.

でも, 私は楽しくなれたので良い漫画です.

15:32:40 2025年観て良かった映画10選


枚方の映画レビュー | Filmarks
Followers:6人 / Following:3人 / レビュー数:242件
 
filmarks.com/users/cympfh

あんまし観てないし, 最近は月ノ美兎の「同時視聴」でばっかり観てるね. 以下, 観た順です.

きっとうまくいく (2013年)

なんか怪しい説教映画か何かと思ってた.

楽しいだけ(じゃない!)のインド映画だった.

エブリシング・エブリウェア・オール・アット・ワンス (2022年)

これも楽しいだけ(じゃない!)映画だった. ハチャメチャSFアクション!と見せかけた家族愛物語. 話の意味は分からないが, 面白かった気持ちになれる.

メッセージ (2017年)

言語学の文脈で紹介されてて観ちゃった. 当に主人公は言語学者だし, 強い「サピア・ウォーフの仮説」を延長したらどこまで行けるかのSF.

Mon 29 Dec 2025

12:40:31

streamlit に永続データを持たせるハックを思いついた.

その前に, 長くデータを持つ方法として正しいのは次の2つしか無い:

ほとんど欲しいのはセッションステートなんだが, セッションと言わず, ページを再読み込みしても, ブラウザを再始動してもデータを保存したい.

既によく知られたハックに localStorage を使う方法がある. というか欲しいのは localStorage そのものだった気がする. localStorage を操作する JavaScript コードを埋め込んでやればいいらしい. ただセキュリティの観点から, Streamlit がこれをブロックして上手くハックできなかった記憶しか無い. 出来たら Streamlit の範疇で完結させたい.

というわけで st.cache_data を使う方法を思いついた. @st.cache_data を付与した関数は引数をキャッシュキーにして結果をキャッシュする. より具体的には, データは pickel 化されてディスクに保存される. 当に欲しかった機構だ. データを読むには, ただ関数を呼び出せばよい. データを書き換えるには, .clear() でキャッシュをクリアしてから関数を呼び出せばよい.

import time

import streamlit

## グローバル変数にデータを保存する
_data = None


## _data を返す関数をキャッシュする
@streamlit.cache_data
def _cache_closure():
    global _data
    print("getting...")
    time.sleep(2)
    return _data


class LocalStorage:
    @staticmethod
    def get():
        return _cache_closure()

    @staticmethod
    def set(value):
        global _data
        _data = value
        _cache_closure.clear()
        return _cache_closure()


if streamlit.button("Get Data"):
    val = LocalStorage.get()
    streamlit.write(f"-> {val}")

new_value = streamlit.text_input("Set Data", "")
if new_value:
    LocalStorage.set(new_value)
    val = streamlit.write("Data set!")
    streamlit.write(f"<- {new_value}")

Tue 30 Dec 2025

23:27:14

たまには日記書くか.

今日はホント久々にバイク乗った. 筑波山まで行ってきた. ケーブルカーは乗ったけど, 女体山登って男体山登った. 筑波山自体は1年ぶりくらい. 相変わらず女体山のあの崖の先端は閉ざされたままだし, 御朱印してくれるあの受付はやってなかった. もうやる気無いのかな.

始めて筑波山に登山したのは雪風強く吹き荒れる中, 地上から男体山と女体山まで登り, それぞれの頂上で御朱印を直接書いて貰ったものだ. 女体山のあの崖の先端で持ってきた珈琲を淹れて飲んだりもした. 苦しければ苦しいほど今でも思い出す.

23:37:06

最近の日記. 調子に乗って蕎麦屋でお酒飲んでばっかいる. でも, 頼むメニューが定まってきたので, 飽きてきたところがある.

23:38:58

Android/Google IME の GODAN キーボードが好きすぎるので, これの PC 版を作る施策. 日々微妙な変更を加え続けてる.

まずキー配列は以下の通り:

Ya Yi Yu Ye Yo  G  Z  D  B  P
_ A  I  U  E  O  K  S  T  N  H 
___ _  x  _  V  R  ん W

大体はローマ字入力に必要なアルファベットの配置が違うだけ.

特殊なのが, や ゆ よ が独立していること.

他に, いくつか専用のローマ字がある.

やゆよ が単独なのは拗音を見越してのこと. やってる内に, 拗音+長音のパターンの多さに気附いた. きょうK Yo U とするのがローマ字としては正しいが, 気持ちは K Yo* だから, もうそういうことにした.

小さい文字についてはよくあるIMEのローマ字がそうあるように, x をマーカーとして使うことにした. でも, あんまり使わなくていいようにしたい.

ま行のための M が足りないのは初期から悩んでた. 置く場所が無いんだよ. H より右に置いてたんだがさすがに遠すぎる. 次のバージョンでは NNM とした. n って2つ重ねると nn になって m みたいじゃん? これは悪くなかったがタイピング効率が悪く感じた. というわけで意味とか無くて運指のしやすさだけで TNM にした.

促音(っ)についてまだ言ってなかった. 普通のローマ字方式を採用してる.

ただ, 同じキーを2回叩くことの非効率さを最近身に沁みてる. x が小さい文字のマーカーだったので, 促音の為のマーカーにも流用していいかもと思ってる.

と今思案してる. これでまた試してみる.