/ 最近 .rdf 追記 設定 本棚

脳log[2025-05-03~]



2025年05月03日 (土) [AtCoder] 今日は AtCoder Beginner Contest 404(Promotion for Engineer Guild)があった。不本意な結果なので言葉が少なくなります。■A 問題 Not Found。Ruby の Array には集合演算が混じっている。Array#- で残ったものをどれでも出力する。■B 問題 Grid Rotation。回転操作は transpose と reverse をテキトーに組み合わせて実現できることを知っている。テキトーに試してみてどんな具合か出力してみてそれが何回右回転したものかを目視で確認する。あとはそれが T とどれだけ一致しているかしていないか数える。■C 問題 Cycle Graph?。スマートにやろうとかテキトーにやろうとすると WA が出るのを知っています。スマートにっていうのは頂点数と辺の数が一致していることを確かめるだとか、頂点の出現回数がどれもちょうど2回であることを確かめるだとか。入力が単純無向グラフであることで多重辺や自己辺といった罠はあらかじめ取り除かれているけど、グラフが複数のサイクルに分かれている場合が罠になる。再帰関数できっちり全頂点を辿れるかを確かめる。きっちりできるかどうかはがんばりしだい。■D 問題 Goin' to the Zoo。100 ms オーバーで TLE だった。こうなるとましな新しい解法を考えることはできなくて、小手先の試行錯誤でなんとかする頭しかない。E 問題のあとでやろうとして帰って来られなかった。■E 問題 Bowls and Beans。2000 ビットのビットフラグで状態を管理することは TLE になるのでできない。できないけど他に思いつかなかった。どうすれば良かったか。茶碗には2種類しかない。最初から豆が入っていた茶碗と、入っていなかった茶碗。あとから豆を入れられた茶碗というものをとりわけて考えない。茶碗1から順番に考えていく。左側にある C 個の茶碗を参照して、現在の茶碗に豆があるとすると最少何回の操作を追加することになるかを記録していく。そのとき、参照した茶碗が元から豆が入っていた茶碗なら、その茶碗に記録されている操作回数は無視して1回が記録対象になる。もともと豆が入っていなかった茶碗なら、その茶碗に記録されている操作回数+1が記録対象になる。コンテスト中に引っかかっていて解決できなかったポイントがここにある。元は豆が入っていなかった茶碗が右側にある豆を茶碗0に移動する際の中継点になるとき、もちろん複数の茶碗から豆を集めてからまとめて操作をして操作回数を節約したいと考える。さっきのやり方では操作回数を重複して数えてしまうのではないか。そうはならない。現在の茶碗と参照する豆なし茶碗のあいだに豆入り茶碗が存在しているとき、豆入り茶碗が常に優れた参照先になる。ここまではいい。あいだに豆なし茶碗が存在するとき、それが中継点への中継点として役に立つか無視されるかはわからないけど、重複を心配する必要はない。だってどちらの豆なし茶碗もまだ実際には操作回数が答えにカウントされていないのだから。豆なし茶碗の操作回数は豆あり茶碗から参照された時点で初めて答えに寄与し、そのときから参照した豆あり茶碗が参照された豆なし茶碗より優れた参照先になるので、操作回数の重複カウントが起こらない。そういう関係が見えなかったのでコンテスト中はビットフラグで全パターンを網羅しようとして TLE 解しか書けなかったのだった。提出 #65480897 (AC)。■F 問題 Lost and Pound。残りの試行回数と現在の当たり回数しだいでは1つのボタンに全ベットするしかない状況もあるよね。後ろ向きに全パターンを網羅して埋めていくんだろうか。TKKM≦810000 が微妙に小さくて何か見落としてないか不安。ボタンの選び方が簡単に決まらないのかな。30 の選択肢を 1 から 30 個のボタンにどう分配するか。ボタン当たりの賭け数の比率にしか意味がない。30、29+1、28+2、28+1+1、……。これは何通り? 状態数が TK で遷移が KM かと思ったけど、遷移の M が M の関数だった。■F 問題。提出 #65484558 (WA×18/TLE×1/AC×35)。サンプル3を合わせるために T 回の試行の各回で k=0 から勝ち抜ける場合を特別扱いしているけど、3分の1ほど WA がある。その他の k も特別扱いすればいいのだろうか。頭の中の整理が追いつかなくてどうやるのかわからないけど。……経路の復元をしますか? すでに TLE が1個出てるのにまだ手をかけますか。■■■F 問題。提出 #65513292 (AC / 1925 ms)。えっとね、サンプル3の合わせ方が間違っていた。後ろ向きの遷移経路の復元ということで順方向の遷移をたどっていて気がついたんだけど、答えが合わない原因は、当たりの数が1増える遷移、2増える遷移、3増える……ばかり考えていて、当たりの数が増えない遷移を考え忘れていたこと。それを忘れたまま変なこと(最初の提出の 34-37 行目)をしてよくも3分の2ほど答えが合ったものだと逆に驚く。そこをちゃんとやれば最初に考えた構成で素直に答えが出た。後ろ向きの遷移を T 回繰り返したあとで k=0 の位置に答えがある。何種類のボタンに何回ずつ賭けるかという配分のしかたは前半部分でプログラム的に求めている。再帰関数で愚直に。TLE×1 の対策は Hash#to_a をしただけ。t/N を事前に計算して t の値に含めておく案もあったけど必要なかった。あとは分配のしかたを埋め込むとか?■■■E 問題。線形時間で解けると読んだので考えた。提出 #65552947 (AC / 124 ms / 49 ms)。124 ms が最初のテストケースに固有の特異な値だとして無視するとその次に遅いのが 49 ms。いいんじゃないでしょうか。C の値に基づいて次の最善手を範囲取得すると log が付いたり2乗になったりする。後ろから見ていくとうまくいく。そのためには ref1, ref2 という2つの変数を蓄えておくだけでよかった。少しだけがっかりするお知らせは、次の一手を範囲取得するのでも、適時(Ai=1 のとき)参照する配列を空にするようにすると 56 ms までにおさまるということ (#65551430)。考えて字数を費やして複雑にした甲斐がない。


2025年05月02日 (金) [Win11] 以前にモニターをスタンバイ状態にすると勝手にモダンスタンバイ(S0)状態になってバッチファイルの実行が中断してしまう不都合があると書いた>20250227。PC にしばらくやっていてほしい作業があって、でも自分は別のことをするので画面を消して消費電力を 45 ワット節約したいけど、モニタの電源のオンオフに反応の悪い物理スイッチや反応の悪いリモコンを使いたくないとき、Windows 11 ではロック(Win+L)すればいいのだとわかった。スマホのロック画面と同じく Windows 11 のロック画面もモニタを自動消灯する時間の設定とは関係なくすぐに消灯する。画面をオフにするのにスクリプトを書かなければいけなかった以前より良くなっているのではないか。■ひとつ上げたから誤解を生じないように書くのだけど、HDD の電源を切るまでの時間の初期設定が1分なの狂ってると思う。何をするにしてもスピンアップの時間を待たされるし、HDD の寿命が心配にもなる。くわえて、スリープ(S0, 電源ランプ点滅)にしていても、わりと頻繁に HDD がスピンアップする音が聞こえてくるというのもある。画面は暗いままだけど電源ランプは点滅していたものが点灯している。人間は操作していないし部屋にもいなかった。これがつまり S1 や S3 とは違う S0 スリープなのかなと思ってるけど、何をしてるかわからないしまったく望んでもいない動作なのは間違いない。


2025年04月27日 (日) [AtCoder] 今日は AtCoder Beginner Contest 403(Promotion of AtCoder Career Design DAY)があった。F のデバッグのためにあと5分あれば時間内に通っていた。無念。■A 問題 Odd Position Sum。やります。最近古い ABC の A 問題 B 問題を埋める(ことに意味を付与する)ために Haskell を書いてるんだけど(書いてるだけでまだ提出していない)、これが実に難しい。「やります」じゃないんだよ。七転八倒してやっとなんとかなるレベル。C 問題にはまだまだ手が出ない。Ruby だから所要1分半。■B 問題 Four Hidden。正規表現でうまくできないかなと思って書いたけど、無駄に高機能なものを持ち出しただけに終わった。所要4分。■C 問題 403 Forbidden。ABC401 から続く HTTP ステータスコード。閲覧権限をメモしておいて答える。「すべてのページ」の閲覧権限を別枠で持たなければいけないことに注意する。全ページ個別に閲覧権限を付与してまわってはいけない。所要6分。■D 問題 Forbidden Difference。配点が +25 点なだけあってきっちり WA を出した。D で割った余りでグループ分けをして D で割った商の連続についてそれぞれどういう間引き方をするのが得かを考えた。何を勘違いして WA を出したか。偶数番目を間引くか奇数番目を間引くかの2択だと思ったんだよね(A 問題がこれへの布石だったならあまりにも策士)。D=1 で A.uniq=1,2,3,4,5 であるとき、B.uniq=1,3,5 か B.uniq=2,4 が答えの候補のすべてだと思ったんだけど、実は B.uniq=1,4 も B.uniq=2,5 も答えになり得る。何が答えになるかは 1,2,3,4,5 それぞれの重複度による。DP をしないといけなかった。感想を見てると D=0 のとき %D/D で RE を出す罠もあったらしい。でも問題文にしっかり「非負整数 D」って書いてあるよ。MEX が典型なんだけど、否定で定義されると理解が1ステップどころか2ステップも3ステップも遅れるので、今日も「非負整数……非負…非負……ゼロ以上ってことね」と理解に時間を費やしていたおかげで、%D を書くときにすっと場合分けができた。所要 20 分+1ペナ。■E 問題 Forbidden Prefix。スマートには解けなかった。結構力押し。クエリを先読みして X の集合と Y の集合をソートしておく。X の各要素について、どの Y 要素の接頭辞になっているかという範囲を二分探索で求めておく(演算は普通に String#<=String#start_with?)。ここまでが事前準備で、クエリに沿って削除された Y 集合の範囲と、まだ削除されていない Y 集合の要素を2つの BIT で管理しながら答えていった。所要 31 分。■F 問題 Shortest One Formula1111111111 の構成方法は確定している。あとは1から N までボトムアップで最短の積と最短の和を構成していった。積と和を区別しているので積と和を構成するにあたり括弧の要不要の判断が簡単にできる。また、積は a*b、和は a+b という2項演算だけを考えた。例えば a+b+c という形が最短になるというなら、それは d(=a+b) の最短と c の最短の2項を組み合わせるなどして構成することができる。和の構成は n/2 通りの総当たり。積の構成は√n通りの総当たり。終了1分前のこの提出 #65289442 の何が WA の原因か。24 行目の文字列リテラルで括弧の付け方を間違えている。それだけ! くやちい! 5分オーバーで AC (#65291201)。所要 43 分。■結果出た。コンテスト成績証。690 番 1665 青パフォ。F 問題がぎりぎりで通っていても 100 番 100 パフォ上がるくらいの差みたい? E を通した時点で 40 分弱残していたのがわりと早かったのだな。じゃあ時間外でも F が解けたということが素直に喜べる。■■■F 問題。最初から積の最短と和の最短を持とうとしていたわけではない。必要がなければわざわざ分けたりはしない。最初は最短の文字列を検索して + があれば括弧で括って掛け算に利用したり、括弧なしで利用したりしようとしていた。でも (1+1)*(1+1) だったら + があるけど括弧なしで掛け算に利用できる。パースする? それは明らかな無駄。文字列ではなく和クラスと積クラスをネストさせて最後に文字列化するのがいいでしょう。もうひとつ。ある数を積で表す方法と和で表す方法の2通りがあるとき、括弧で包む(くるむ)必要がない積の形式の方は和の形式の最短より1つ長くても積を構成する場合に限って有利な立場にある。こんな感じで2通りの意味で積の最短と和の最短を分けたいなという気持ちになる。それでうまくいった。■■■E 問題。Trie っぽく解き直し。提出 #65384945 (AC / 534 Byte / 1885 ms)。BIT 解の方が (1711 Byte / 578 ms / 932996 KB) だから、短いけどかなり遅くなった。再帰関数で Enumerable#group_by を呼ぶのがぜいたくなのだろうか。なにげにメモリ消費 900 MB がやばいね。木を再帰的に下降しながらその部分木の接頭辞となっているクエリ番号のうちもっとも小さい(早い)ものをメモしていった。そうすると Y 集合に属する文字列が見つかったとき、その文字列を答えに数えられるクエリの範囲が求まる。Ruby での提出を眺めると、ちゃんと Trie が扱えている人たちは 500 ms 台に収めているらしい。


2025年04月26日 (土) 留学生の院生に「『お化け』って『お化けがある』ですか『お化けがいる』ですか」と聞かれたので、「お化けは自分で動けるので『いる』」と答えると、「じゃあ、ぬいぐるみは?」難しい質問だ…… - Togetter [トゥギャッター]」■コメントになかったのでここに書くけど、お化けは「出る」としか聞いたことがない。無理に「ある」「いる」から択一することに意味があるのだろうか。


2025年04月19日 (土) [AtCoder] 今日は東京海上日動プログラミングコンテスト2025(ABC402)があった。E まで解けない問題ではなかったけど、D も E もうまくできなかった。実装が下手。やりたいことのコード化能力が低い。■A 問題 CBC。scan で大文字をピックアップしたけど、delete で小文字を消す方が短くなったみたい。■B 問題 Restaurant Queue。やります。実はクエリの種類を見る必要はなくて、クエリの第2項を何個出力するかという問題。■C 問題 Dislike Foods。ある食材を含む料理が何か、ある料理に苦手が何個残っているかを管理する。X で見かけた湯婆婆のセリフによると(「初日に克服されるのに食材名が6なのかい…? ゼイタクな名だね。今からお前は1だ!」)、食材番号からその食材が苦手でなくなる日が引けるようにしておいて、料理ごとに苦手でなくなる日の最大値を求めて並べても解けるみたい。■D 問題 Line Crossing。最初しばらく違う問題を解こうとしていた。円内と円周上で交点を持つ直線の組を数えようとしていた。そういう設定なら直線ではなく線分っていう用語を使うんですよね。円周上がどちらの判定なのか確かめようと問題を読み直したら直線の文字が目に入って、サンプルで具体例を確かめて勘違いに気がつくまでひととおり考えたあとだった。直線の交わりだというなら平行線の組を数えて除外すれば良い。平行な直線をどのようにまとめるか。代表点を決めることにした。2頂点の中間に頂点が1つないし反対側にもう1点あるならそれらの数字の小さい方。1つもなければ 0.5 で刻んだ仮想の中間頂点を2点想定してそれらの小さい方。これを実装するのに WA を3回出した。実装が下手。■E 問題 Payment Required。とりあえず実装したメモ化再帰でサンプルが通ったので終了 30 秒前に提出したものが TLE×7 だった。D 問題に1時間以上かけたせいで実装を詰める時間が残っていなかった。その後ぼちぼち試行錯誤して 30 分後に AC (#65043290)。2重の Hash をやめてメモ配列とメモ配列を埋める関数のペアとし、配列も2重にするのでなくフラット化した。これは頭を使うようなことではなく、技術的機械的な操作でしかない。だったら E まではさささっと解いて F に頭を使いたいんだよなあ。■精進。F 問題 Path to Integer。X で半分全列挙って読んじゃったからなあ。自分で気がつける可能性は 10 % くらいと限りなく低い。つまり、これまで1度だけしか気がついたことがない。この問題について言えば、コンビネーションで計算量を見積もる発想がまず出てこない。縦移動と横移動が合わせていくつあって、そこから縦移動の割り当て方が何通りあるか、ということをわざわざ考えるのなら、そのときにもう解法の見当がついてるってことなんですよ。見当がつかないうちにそんな面倒な見積もりをしようと思わない。ネタが割れてしまえば実装するだけ。提出 #65046061 (AC)。実装はそれなりにたいへんで、1時間ちかくかかった。■■■D 問題。平行線を管理するのに不変量がいろいろあったらしい。自分がやったのは平行線を円周上まで平行移動したときの頂点番号(2つ)のうち小さい方。他にはたとえば端点の片方を特定の頂点(1とか)に重ねたときに他方の頂点が何番になるか、とか? X でちらっと見かけただけで細部はよくわかっていないけども。他方が円の外に飛び出ないようにどちらを1に重ねるかとか、他方の頂点は必ず番号の付いた頂点に重なるのかどうかとか、頂点1の場所で接線になってしまったときは他方の頂点も頂点1に重なったということになるんだなとか、いろいろ考えてしまってまとまらない感じ。もうひとつ見かけた天才解法は2つの頂点番号の和を N で割った余りで平行線を分類する方法。たとえば頂点 a と b を結ぶ直線があるとして、これを頂点1つぶん平行移動した直線は頂点 (a+1) と (b-1) もしくは頂点 (a-1) と (b+1) を結ぶ直線ということになり、頂点番号の和を N で割った余りが不変量として維持されていることがわかる。わかる? 言われなきゃわかりませんよ。それにそれを飲み込んだとして、それで? ってなるのが普通の反応ですよ。同じであってほしいものどうしが同じであることはわかったけど、異なっていてほしいものが必ず異なっているとどのようにして了解されるのか。なんもわからん。わからんってことはないか。一端を固定してもう一方を動かすことを考えると、その値はプラスマイナス合わせて N-2 通りの(引く2は元々の両端点を除外している)、最大で N-2 だけずれた値をとるわけだから、N で割った余りで十分に区別ができる。できるんだって。できるみたいですね。そんなん一人で自ずとわかるわけがないんだよなあ。脳みその配線が違う。だけども、天才でなくとも泥臭く分類して解ける間口の広い問題だったのが良いなと思います。


2025年04月17日 (木) [Win11] スタートメニューですべてのプログラムを一覧しようとすると、一番最初に「よく使うアプリ」が並んでいる。ねえ、馬鹿なの? 自分が気の利いたことをしているつもりでその実場所も状況もわきまえていないただの馬鹿だってことがわからないほど、馬鹿なの? そこにあると思っていないもの、何がそこにあるのかわからないもの、したがって無用なものが自分の注意と時間を奪うことが許せない。だいたいやね、ピン留めでも検索でもなく一覧からアクセスしようとしている時点でよく使うアプリではないのが明白なんよ。そしてよく使うアプリはスタートメニューのページを切り替えなくてもおすすめの一部としてすでにリストされている。じゃあすべてのプログラムの中のよく使うアプリとは何か。場をわきまえない間抜け。場所を食うだけの邪魔者。それが理解できないのは


2025年04月13日 (日) 最近ダウンロードフォルダにごみファイルがいつの間にか増えているなと思っていた。Firefox が原因だった。保存せずに直接開いたファイルが従来の %TEMP% ディレクトリではなくダウンロードフォルダに残されているのだった。ダウンロードフォルダはごみ箱じゃないのにな。about:config を download で検索したら browser.download.start_downloads_in_tmp_dir というそれっぽい項目が見つかって、検索して出てきたページがこちら「Firefox98 のダウンロード関連の設定に関する忘却録 | バグ取りの日々」。議論になるような馬鹿なやり方だったということ(修正できたのはえらい)。あとこれは常々思っていることだけど、ダウンロードする場所を常に尋ねないのは愚かなやり方だと思っている。誰もダウンロードフォルダの場所を知らないし、ダウンロードフォルダにダウンロードされていることを知らない。その結果が downloaded.zip、downloaded (2).zip、downloaded (3).zip として現れる。毎回尋ねられるのは面倒だなと思った人が、そう思ったときに選ぶオブションが自動で勝手にダウンロードフォルダに保存することであって、最初から勝手なことをするのは人間を欺く行為だと思うんだけど、「どこに保存していいかわからない」より「どこに保存されているのかわからない」の方がましだと考えるんだろうか。そうは思わないし、だったら余計なことはしない方が明確に良い。余計なことをする無駄も余計なことをさせない手間もないだけ良い。


2025年04月12日 (土) [AtCoder] 今日は AtCoder Beginner Contest 401 があった。変な沼にもはまらず実装ミスもせず、かなりの上振れ回だったはずだけど、なんとか提出を間に合わせた F 問題が TLE×5 で無念。■A 問題 Status Code。一番あり得るミスは Success と Failure のスペルミスだと思った。コピペする手間は惜しんだけど提出前に一応凝視しておいた。■B 問題 Unauthorized。ロジックを実装してシミュレートする。素直な問題は好き。変数名について。たとえばよく出てくる 998244353 という数字に対して、最初こそ M (mod) という名前を与えていたけど今は P (prime number) とすることが多い(名前が競合する場合が例外)。この問題では e (error) という変数で答えるべき認証エラーをカウントした。他の人の提出を見ると ans という変数名をよく見かけた。answer の略だと思う。それも意味のある命名だけど、ではなぜ自分がその名前を選ばないかというと、それは役割に基づいた命名であって、対象そのものの性質に基づいてはいないと思うからだ。役割はコンテクストによって変わる。変わらないものに基づいて名前を与えたいと思っている。コンテクストに合わせてそのときその場で一番相応しい名前を与える(与え続ける)べきだという考えもあるかと思う。たとえば関数の中と外で同じ値に対して異なる名前がつけられることが普通にあると思う。どっちがいいかは知らないし、たぶん答えはひとつに決まらない。何よりこんなに小さな問題ではコンテクストはひとつしかなく違いは生じない。だけどひとつの考えに基づいて名前を付けているという話。■C 問題 K-bonacci。直近 K 項と K 項の和を持って N 項目までを計算する。■D 問題 Logical Filling。話を簡単にするために、o の隣は無条件に . に書き換えておいた。DP をするのかな復元するのかなどうやるのかなと最初は考えていたけど、出力が必然の o. かそれ以外の ? かということで、2通りの可能性があるなら即座に ? が決定するのだった。最終的に見つかった条件は、「? を1つ以上 o に変えるかどうか」「? を最大限 o に変えなければいけないかどうか」「(最大限 ? を o に変えるとして)連続する ? の個数が偶数か奇数か」というものだった。これで T が決まる。方針を定める時間と考えながら実装する時間で 30 分かかった。■E 問題 Reachable Set。不可能なケースがあるのかなとまず考えた。ある。サンプル2がそうなんだけど、頂点5を経由しないと頂点1と2が連結にならないので、k=2,3,4 が -1 (不可) になる。じゃあ使える辺を使ったときに 1-k までが連結かどうかを UnionFind で管理したいね。同時に、使えない辺の先に繋がっている消したい頂点の集合を管理したいね。同時にできる? できる。14 分かけたので D の半分。■F 問題 Add One Edge 3。直径の候補は木1の直径と、木2の直径と、i-j を結んで新しくできた i-j を通る直径の3種類だと思った。木の直径は DFS 2回で求まる。新しくできる直径は、各頂点について最も遠い頂点がどれだけ遠いかわかっていればわかる。それは全方位木 DP で求まる。2回の DFS を2つの木に対して合計4回やると、2秒を超えてしまって TLE だった。なにかへまをしていて5秒 10 秒かかるようなスクリプトになっているなら惜しくはないけど、制限時間が3秒だったら通っていたというならあまりにも残念。■コンテスト成績証。ぴったりギリギリで青パフォ。973 位だから「3桁順位に入りたいよー」と書いていた前回の雪辱は果たせたけど、最近落ち目なのだから今日くらいはもっと調子に乗らせてほしかった。■■■X で予告されていたけど、955 位 1607 パフォに上方修正されていた。でもなあ、F を通して 1800 パフォが欲しかったなあ。


2025年04月11日 (金) [Win11] 2月から使っている新しい PC でもライブラリのブラウズと再生に Songbird を使ってるんだけど、AppData\Roaming\Songbird2 以下を丸コピしたのにレイティングと再生回数がリセットされてしまった。ProfileManager を起動してみても間違いなくコピーした XXXXXXXX.default プロファイルを使用しているけどなぜなのか。4つか5つのデータベースが AppData の外に新規作成されていたのが原因だった。それはなぜか。prefs.js (一番新しい更新日時を持っていたファイル) の中の4つか5つの値が絶対パスで AppData 以下のデータベースを指し示していたので、あさっての場所(旧 PC のユーザープロファイルがあったのと同じドライブとパス)にデータベースが作成されていた。現在の場所に書き換えるとコピーしたデータベースがきちんと利用されてレイティングと再生回数が戻ってきた。めでたし。


2025年04月10日 (木) 国民全員に現金5万円給付、政府・与党が検討 米関税措置など踏まえ [石破政権]:朝日新聞」■集めた税金の使い道がわからない無能の証明。


2025年04月09日 (水) 20 年以上ぶりにトッポを食べた。うーん。トッポが変わったのか、自分が変わったのか、たまたま今の体調が悪いのか、たいへん厳しい。中も外も油という感じ。外のプレッツェルが油染みてるのは知ってるし構わない。でも中のチョコ(?)は黒いけどチョコの味はせず、甘みもなく、ただただ脂。この黒い物体はミスドの一部のドーナツにも見られて、無を味わうことができる。ボテトチップスは BIG BAG しか買わない自分だけど、トッポを1箱食べると必ず胸が重く苦しくなる(残念なことにまだ残っている)。新発売されたときは好きで食べてたんだけどな。トッポがおいしさを失ったのか、自分が若さを失ったのか、どっちだ。■「ポッキーvsトッポ食べ比べ!味の違いは?美味しいのは? | 味覚ステーション」 最終評価には同意しません!■「「めっちゃ怖い体験した。アメリカに長く住むとこうなっちゃうんだって」日本に帰国した渡米者の恐怖体験におののく日本人たち - Togetter [トゥギャッター]」 ミスドの感想がいくつか。たしかに、油っ気も甘みもまるでなくて、代替ドーナツが食べたいわけじゃないんだけどな、と感じることがある。おいしく食べられるときもある。店の違い、種類の違い、時間の違い、舌の違い、何が違うのかはわからないけど、ハズレ率はかなり高い。


2025年04月07日 (月) これはたぶんさくらインターネットの話題だと思う。おとといの日記(20250405)が ruby/bin/irb というワードを含んでいる。で、これは日記(tDiary)が採用している HikiDoc の記法なのだけど、二重バッククオートで括った単語は <code></code> でマークアップされて等幅で表示される。ruby/bin/irb を一組でも二組でもバッククオートで括ると日記のプレビューや送信ができなくなって次のようなレスポンスが返ってきた。「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 はプレインテキストを整形するマークダウンに類するスクリプトであって、二重バッククオートにマークアップ以外の意味はないし、バグでなければ外部入力を実行したりはしない。だけど外形的にはそのように見えてもしかたがないと思うし、同時に、いいかげんなものだなと思う。


2025年04月06日 (日) 【恐怖】不二家平塚工場のチョコレートを形成する機械で男性従業員が頭部を挟まれて死亡 : 暇人\(^o^)/速報 - ライブドアブログ」から。38「センサーがエラー起こして原因取り除いたら正常に稼働して挟まれたんかな 」。39「>>38 あるあるやね まずは手動操作に切り替えろって死ぬほど言われる 」。■これは盲点だと思った。自分は先のことが考えられないので、予測して警戒することができない。たとえばね、はかりの上に大きめのトレーが置いてあって、右半分と左半分に1個ずつ何かが置いてあるとするじゃない。片方を持ち上げて残された方がバランスを崩してトレーごと落ちる、ということをやるんですよ。これよりもう少し派手にやったのです。■別の言い方をすると、A⇒B、B⇒C だということがわかっている、もしくは指摘されているとしても、A⇒C には想像が及ばないということ。先のことを考えるというのはこれの逆をやることで、A⇒C のために中間ステップである A⇒B、B⇒C を想定して実行することなのだけど、未だ存在しない現実に基づいた2ステップ先を見越した行動などできないのです。