Forbidden The server refuse to browse the page. The URL or value may not be correct. Please confirm the value. TIME: 1743945073.137446 (2025-04-06 22:11:13 (+0900)) METHOD: POST PATH_QUERY: /ds14050/diary/update.rb SAKURA Internet Inc.」 Ruby のバッククオートは外部コマンドを実行して出力を埋め込むリテラルなので、OSコマンドインジェクションが疑われているのだと思う。Ruby が疑っているのなら Ruby で書かれた tDiary を設置して実行している自分の管轄だけど、もちろんそうではないと思っている。hikidoc.rb はプレインテキストを整形するマークダウンに類するスクリプトであって、二重バッククオートにマークアップ以外の意味はないし、バグでなければ外部入力を実行したりはしない。だけど外形的にはそのように見えてもしかたがないと思うし、同時に、いいかげんなものだなと思う。
This file was generated by RubyGems. The application 'irb' is installed as part of a gem」 だけどこのファイルが更新されていたわけではない。たぶん
%USRPROFILE%\.irbrc
に書き込むんだけど、どうやって色分けと補完を無効にするんだよ。……。IRB.conf[:USE_AUTOCOMPLETE] = false
と IRB.conf[:USE_COLORIZE] = false
を書き足して心の平穏を得た。俺は出しゃばりな機械を憎んでいる。■C 問題 2^a b^2。方針を定めるのが難しい。平方数を列挙したいと思ったけど、N の上限が 10 の 18 乗だからといって 10 の 9 乗までを列挙することはできない。それに b が 2 を含んでいるときに同じ良い整数を表す2通り以上の方法があって重複を除かなければいけない。そこで、b は 2 を含まない(奇数である)ということに決めてしまった。a を決め打ってから b の上限を二分探索で。■E 問題 Ringo's Favorite Numbers 3。扱う素数がいくつあるかをまず調べた。8万以下だった。定数倍が2分の1以下だとしても組み合わせを列挙すると2乗で厳しいなーとか考えていた。べつに厳しくはなかった。p^{2n}q^{2m}
が 10^{12}
を超えない範囲ですべての p^nq^m
を列挙してソートしておいてから、2乗して A を超えない最大のものを二分探索で探した。サンプルの1ケース目が合わなくて困っていたのだけど、これは p^nq^n
を列挙していたことが原因。p と q の指数は偶数であるという点が共通するだけで独立しているのに勝手に揃えてしまっていた。■D 問題 Takahashi the Wall Breaker。F と D を見比べて見込みがあるのは D だと思ったので一度飛ばした D に戻った。方針が立たなかったのだ。前蹴りしたはいいけど他の連結成分に合流できないケースの扱いに困っていた。それはどういう状態なのか。どの状態からやってきてどの状態へ移行するのか。どうやって現実的な時間で遷移を網羅できるのか。わからなかった。だけどグリッドの処理を書いているときに、前蹴り何回で現在のマスにいるのかを書き込んでいけばいいのだと気がついた。サンプルが有能で助かったんだけど、前蹴りで破壊される2マス目の扱いに罠がある。処理が重複する無駄があると TLE になるおそれがあるので、最短を更新したときだけ次の処理をキューに入れるのがお約束。ところが、前蹴り1マス目が最短を更新しなかったとしても、前蹴り2マス目は最短を更新することがある。前蹴りには向きがあるからこのようなことが起こる。だから前蹴り1マス目に関しては最短を更新しなかったとしても2マス目の処理を進めなければいけなかった。解けてみれば実装問題枠として置かれていたのだと思うけど、普通に考え込んでしまった。もともと大したことがなかった脳みその退行が著しい。悲しいね。自分がやっていたような精進というのは、問題に対するパターンマッチ、ヒューリスティクス、反射神経を鍛えているのであって、規模と速さにおいて決して敵わない AI に対して AI の土俵で戦いを挑む行為なのではないかと思ってしまう。自分は考えるという行為を未だ知らない。■■■Ruby の Integer.sqrt にバグが見つかっていた。「Bug #21217: Integer.sqrt produces wrong results even on input <= 1e18 - Ruby」 きっかけは ABC400 の C 問題らしい。提出 #64512377 (WA×2 / Ruby で C 問題最速の提出)。本番で絶対合ってるのに WA が出たら……かなりつらい。固執してペナルティを重ねるか、俺は間違ってないこれが違うならもう何もわからんと投げ出すというのが自分の典型的反応。最終更新: 2025-04-19T20:59+0900
時系列
という経過をたどって4つのパーツが選ばれた。
シフターは右用と書かれているけど、ハンドルの右側の上方に取り付けるつもりはなくて、左側の下方に取り付けた。そうするとラピッドファイヤーのときと同じ位置にレバーが来る。ただし左右は逆になる。左手は後ろブレーキのみ担当でシフトはなし、ブレーキとしても主力ではなくグリップも握らず遊びがちだったので、これからはリヤシフトを担当してもらう。レバーは6時の方向にあるときがトップで、ローはだいたい10時の位置。検索で上位に来るブログを読んで不安に思っていたのだけど、ワイヤーを巻き取りすぎてチェーンがスプロケから外れてしまうことはない。リアディレイラーに H/L と刻印された2つのネジがあり(以前はプラスねじだったと思ったけど、今回は星形の T8 だった)、移動限界を調整しておけばよい。3つ目のネジは B テンションアジャストボルトであり、ガイドプーリーをスプロケットに近づけてチェーンの横方向のガタが変速に及ぼす悪影響を小さくするものなので(という風に私は理解しています)、この機会に適度に近づけておく。シフトに話を戻すと、ローギア10時は親指で押すにはかなり遠いが届かなくはない(レバーの回転軸がハンドルバーより奥にあるので余計に遠い)。人差し指で手前に押すのにはちょうどいい。だが8時の位置で人差し指が届かなくなる。そこからのシフトアップが難しい。親指の背中で少し手前に押してやると親指の指先でトップまで操作できる。人差し指から親指へのリレーがスムーズではない。停止するときはだいたい3つか4つシフトダウンするので、発進するときはカチカチ、カチと3つシフトアップしていた。カチカチではなくなったのでちょっともたつく。でもまあ楽し。
シマノの日本語のページに情報がなかったから候補から漏れてしまったけど、リアディレイラーに11速の古い105(RD-R7000-SS)を使えばスプロケの値段が倍になる程度の差で一式を11速に揃えるチャンスだった。LINKGLIDE 互換の11速だから今のホイールに取り付けられるし今後のパーツ供給に不安もない。GRX と違いショートケージでコンパクトなものも選べる。Tiagra の状態を見ると LINKGLIDE でない10速は9速に続いて消える運命にあるように思えるのだよね。今現在一式新しく揃えるようなものではなかったのではないかと考えてしまう。
BB とクランクセットを交換した。
昨年末から左の足下からギリギリと音がしていた。一時解消していたんだけど10速化したときに再発していた。原因はいろいろ考えられて、
どれも違うようだったので消去法と前回交換したとき(2014年9月)に音が解消した経験からボトムブラケットが悪いと結論づけた。10 年使っている BB (シマノ BB-UN55 68mm/113mm) を交換するだけでもいいんだけど、それで音が解消しないと面倒だし、今後どのチェーンリングに交換するか悩みたくもなかったので(シマノの話だけど、PCD が同じミドルのリングでも穴の内側のでっぱりが干渉して付かないものとそうでないものがある)、クランクも含めて一番ありふれたセットに交換することにした。
クランクは 2007 年に自転車を購入したときのものそのままだからちょうど 18 年になる。チェーンリングはいつからかインナーを省いてアウターとミドルだけ付けていたけど、そのアウターもチェーンガードの固定台座としてのみ存在しておりミドル(36T)しか使っていなかった。シフターからもワイヤーは外してしまってただの脱落防止のチェーンガイドになっている。だから新しいクランクは最初からシングルにしたし、歯数は、今のスプロケットのトップ(12T)まで使い切ってしまっているので4多い 40T ということにした。スプロケのレンジがちょうどいいスピードから外れても困るので 42T にはしなかった。一番無難なのは2多い 38T だったけど、チェーンガードが欲しかったので 40T になったし、GRX ではなく CUES になった。クランク長は違和感が出ないように同じ 175mm のまま。長すぎる可能性はあるけどこれまでずっとこれなので。
クランクを交換して、2007 年の新車のときから残っているパーツがひとつ減った。これまで一度も変わらず残っているパーツは……
だけ!
逆に交換したものは……