はてなキーワード: falseとは
国外(主に英語圏)の報道はアニメ・マンガ専門メディアに集中しており、大手一般紙(NY Times、BBC、Reutersなど) での本格報道はまだ確認できませんでした。主にAnime News Network、Anime Corner、Polygonなどのアニメ・マンガ専門メディアが中心です。日本の大手メディア(産経・朝日・毎日など)と比較して、リーク判決文の内容にかなり近い詳細を報じています。特に編集者の積極的関与や具体的な和解提案内容、小学館の隠蔽疑惑にフォーカスした批判が目立ちます。
・編集者(成田卓哉氏と推定)が2021年5月にLINEグループに参加し、1.5 million yen(約150万円)の支払い、連載再開、assaultの公表禁止(non-disclosure) を条件としたnotarized document(公正証書)を提案したことを具体的に記述。
「making her eat excrement」「photographing her with words like “slave” and “pet” on her body」「nude images until July after graduation」など、リーク判決文の生々しい部分にかなり近い表現。
・編集者の継続的関与: 「Editor Narita met in person with Kurita for dinner… where he again promoted the series」(2024〜2025年の会食・宣伝行為)。
“In the worst case, Narita was aware of Kurita’s broader crimes and… knew this was the same person… This would mean that Narita knew that someone on trial for the sexual abuse of a minor was still working with the company under a different name.”
「最悪の場合、成田氏は栗田氏のより広範な犯罪を知っており……これが同一人物だと知っていたことになります。これは、成田氏が未成年者に対する性的虐待で裁判にかけられている人物が、別名義で会社と仕事を続けていることを知っていたことを意味します。」
この記事は、編集者が事件の全容を知りながら別名義でプラットフォームを提供し続けた可能性を強く指摘しており、日本のメディアではほとんど触れられない部分まで踏み込んでいます。
2. Anime News Network(2月28日、Crystalyn Hodgkins記者)
・編集者がグループチャットで150万円 + 非開示条件を提案した事実を明記。
・「The editorial department admitted it was not fully aware of the seriousness… its response was inappropriate」(認識不足を認めつつ、不適切だったと記述)。
“The victim’s attorney Hiroko Kotake stated, ‘While we don’t know how much the editor and Shogakukan knew… they should be held socially responsible.’”
「被害者側の代理人弁護士・小竹宏子氏はこう述べています。『編集者と小学館がどこまで知っていたかはわかりませんが……彼らには社会的責任を問うべきです』」
被害者代理人弁護士のコメントをそのまま引用し、「小学館全体の社会的責任」 を明確に問題視しています。日本の報道ではここまでストレートに「Shogakukan」を名指しで責任追及する記事は少ないです。
・編集者がsettlement talksに参加し、victimにsilence(沈黙)を要求した事実を強調。
・作家の大量離脱(Frieren作者・山田鐘人氏、らんま1/2作者・高橋留美子氏など)を具体的に報じ、「major authors removed their works from Manga One」と記述。
“Shogakukan came under fire for rehiring a sexual offender under a false name… editors at Manga One knew of his conviction and participated in out-of-court settlement talks that would have required the victim to keep the abuse secret.”
「小学館は、性犯罪者を偽名で再雇用したとして強い非難を浴びています……マンガワンの編集者たちは彼の有罪判決を知りながら、被害者に虐待の秘密保持を求める示談交渉に参加していました。」
「偽名での再雇用」 と 「被害者に沈黙を強いる示談仲介」 をストレートに批判。日本のメディアではほとんど報じられない「隠蔽の構造」を明確に指摘しています。
被告は匿名、行為は「おしおき称する行為」程度の抽象表現。編集者関与も「提案した」程度で止まり、150万円や非開示条件の具体的内容 はほとんど触れず。
リーク判決文にかなり近い詳細(示談金150万円、非開示条件、連載再開の引き換え、編集者の継続的関与)を報じ、小学館への隠蔽・被害者軽視批判 が明確で踏み込んでいます。
国外はアニメ専門メディアとして事実ベースの詳細報道 を優先するため、日本の報道倫理(被害者保護・匿名重視)より小学館の責任追及 が強いのが特徴です。ただし、法廷で笑う態度やグリセリン浣腸などの最も生々しい部分は、国外でもぼかされているか省略されている場合が多い(被害者保護意識は共通)。
⚠️Beware of fraud⚠️
Inside the application, scammers may approach you with false stories like “You can profit by inventing” or “I want to meet you yesterday,” and try to make you transfer money. These “investment scam” and “romance scums” are popular all over the word.
Even in 9monsters, users like below have been confirm, so please be careful.
⚠️ They suddenly send you messages using Instagramer photos or handsome images of a different person
⚠️ Their Japanese is fluentless, and they talk with sentences like it was translate
⚠️ They will always invite you to move to message apps such as LIME to continue the talk
⚠️ They say things like “You will definitely lose money” or “I need travel fee to come meet you,” and try to make you bank in money
They will try to steal your money by many method, but just keeping the below can protect your important money.
‘🙅♂️Do not send money to someone you have meet🙅♂️’
At 9monsters we regularly issue warnings, however,
if you already transfered, it will be at our responsibility, so we cannot take care about it here.
Please be careful by all mean.
※This information is a periodic warning we post irregularly
※The National Consumer Center also sends information occasionally, so please see here too ↓
Dans l’application, des escrocs vous approchent avec des histoires mensongères comme « On peut gagner avec l’investisement » ou « Je veux te voir pour te rencontrer », et ils vous font virer de l’argent. Les « arnaques d’investissement » et les « arnaques romance » sont à la mode mondialement.
Même dans 9monsters, des utilisateurs comme ci-dessous ont été confirmer, donc faites attention.
⚠️ Ils envoient soudainement un message en utilisant des photos d’instagrameur ou des images d’un beau mec d’une autre personne
⚠️ Leur japonais est trop bien, mais ils vous parlent avec des phrases comme si c’était traduite
⚠️ Ils vous proposent obligatoirement de passer sur des applis de message comme LINEE pour continuer la conversation
⚠️ Ils disent « Tu vas sûrement gagner » ou « Je veux l’argent de voyage pour venir te voir », et ils essayent de vous faire déposer de l’argent
Ils utilisent des méthodes variées pour vous voler l’argent, mais en respectant seulement ci-dessous vous pouvez protéger votre argent important.
« 🙅♂️Ne virez pas d’argent à une personne que vous n’avez jamais déjà rencontré🙅♂️ »
Chez 9monsters, nous diffusons des avertissements régulièrement, mais
si vous avez déjà fait le virement, ce sera de notre faute, donc nous ne pouvons pas faire une réponse ici.
Faites très attention, s’il vous plaît.
※Ces informations sont une alerte de prévention publiée de temps en temps
※Le Centre national de la vie du peuple publie aussi des infos régulièrement, donc regardez aussi ↓
○ご飯
朝:サンドイッチ。昼:海鮮丼。味噌汁。夜:カロリーメイト的なブロックのやつ。Inゼリー的なゼリーのやつ。ヤクルト。間食:どら焼き。ポテチ。
○調子
どっかのベンダーが作った設計書の無いAPIのソースをもとに、設計書を書き起こす仕事をした。
「改行フラグ」なるパラメーターがあってTrueとFalseで何がどう変わるんだ? と思ってコードを読んでたら、Trueのときはインプットの文字列の改行をLFにして、FalseだとCRLFにしてた。
フラグではない。
あまりにもフラグではなさすぎて、先週から続いていた謎の体調不良が落ち着いた。
少なくとも熱は下がったので少しだけ安心。
とはいえ油断できないので早寝する。
月末イベントの箱開けをしておいた。
水の編成が組めなすぎて楽しくない……
フェミニズムは女性たちに、その本能と生物学的性質は抑圧であり間違っていると教え込んだ。”子供を望むのは洗脳であり、養ってくれる夫を望むのは内面化された女性蔑視であり、女性の自然な欲求は家父長制によって植え付けられた誤った意識である” 多くの人がそれを信じ、それを中心に生活を築いた。キャリア第一、自立、そして伝統的な束縛からの自由。
今、彼女たちは35歳で未婚で、出生率の低下とキャリアの成果を比べている。そしてここに罠がある。イデオロギーの失敗を認めることのサンクコストは莫大だ。あなたは、自分の生殖年齢を嘘のために無駄にしてしまったことを認めなければならない。イデオロギーを無視して若くして結婚した女性たちが正しかったのだ。あなたの母親が正しかったのだ。だからこそ、離反者が少ないのだと思う。イデオロギーが正しいからではなく、離脱する心理的コストが残留するコストよりも高いからだ。二の足を踏む方が簡単だ。問題は社会がまだ十分に変わっていないことにあると信じるのが簡単だ。
Feminism told women their instincts and biology were oppression and wrong. Wanting children was brainwashing. Wanting a provider husband was internalized misogyny. Their natural desires were false consciousness installed by patriarchy.
Many believed it. Built lives around it. Career first. Independence. Freedom from traditional constraints.
Now they're 35, unmarried, measuring declining fertility against career achievements. And here's the trap: the sunk cost of admitting the ideology failed is enormous. You'd have to admit you wasted your fertile years on a lie. That the women who ignored the ideology and married young were right. That your mother was right.
I think this is why you see so little defection. Not because the ideology is true, but because the psychological cost of leaving is higher than the cost of staying. Easier to double down. Easier to believe the problem is that society hasn't changed enough yet.
誤った類推/偽の同一視(false equivalence)
他国旗は外交上の無礼や国際関係、自国旗は国内の表現規制の話で根拠が違います。単純に同じとは言えません。
反対派を「いつも煽る人」と一括りにして、条文の範囲や罰の相当性、萎縮効果など中身の論点から外れています。
早計な一般化
「今まで大丈夫そうだった」→「今回も問題なし」とは限りません。法ごとに内容も影響も違い、見えにくい不利益もあります。
通ったあと、普通にみんな生きてるだろ。
破局が見えない=害がない、とは言えません。見えない抑圧や長期的影響を因果否定の根拠にしています。
結局、騒ぎたいだけで、法案の中身なんてどうでもいいんだよ。
相手に「危険の証明」を求めつつ、自分の「刑罰化が必要・適切な理由」の提示を省いています。
毎回この世の終わりみたいなことを言って、通ったら知らん顔して別のネタ探してさ。
逆滑り坂の一蹴(slippery slope の過小評価)
「破局が起きていない」ことを理由に、段階的な強化や萎縮の蓄積をまとめて否定しています。
人身攻撃・動機論証(ad hominem / motive fallacy)
「カルト」などのレッテルで相手の人格や動機を攻撃し、主張の内容から目をそらしています。
ただ単に多くの人の気持ちを踏みにじるだけだ。
「多くが不快に感じる」(事実)から、すぐ「刑罰で禁止すべき」(規範)に飛んでいます。保護法益や代替手段、罰の重さの検討が必要です。
----
不快感やレッテルを根拠に「処罰は当然」と急ぎすぎ。法としては「何を守るために・どの範囲を・どの程度の罰で・他の手段では足りないのか」を具体的に示す必要があります。
最終行152文字、最初21字。繰り返し回数10回。よってAI確定。'''{[Prompt]
"language": "python",
"parameters": {
"max_length": 150,
"max_iterations": 10,
"incremental_only": false
},
"steps": [
"Split text by line breaks into an array.",
"Iterate through each element.",
"Filter out lines shorter than min_length.",
"For each valid line, output its index, length, and content.",
"Stop when max_iterations is reached or line length > max_length."
],
"output": {
"type": "list",
"fields": ["index", "length", "content"]
}
}
'''
規則性が見え透いている。甘いわ。
4. 関連概念
----
import pandas as pd def piketty_r_growth_simulation(r, g, Y_initial, K_initial, N_periods): """ ピケティの r > g 理論に基づく経済シミュレーション 経済規模 (Y) は g で成長。 資本 (K) は r で成長 (ご要望の K_t+1 = K_t * (1 + r) に基づく)。 資本所得 (R) は K の成長ではなく、Y の配分を決めるための r * K として計算。 :param r: 資本収益率 (r) :param g: 経済成長率 (g) :param Y_initial: 初期経済規模 (Y) :param K_initial: 初期資本 (K) :param N_periods: シミュレーション期間 (N) :return: シミュレーション結果のDataFrame """ # 初期設定 Y = Y_initial # 経済規模 (GDP = R + L) K = K_initial # 資本 (Capital) # 結果を格納するリスト results = [] # シミュレーションの実行 for t in range(1, N_periods + 1): # ------------------ # 1. 今期の値の計算 # ------------------ # 資本所得 (Capital Income): Y の分配率を決めるための R = r * K R = r * K # 人件費 (Labor Cost/Income) L = Y - R # 労働所得が負になる場合は非現実的なため警告 if L < 0: print(f"⚠ 警告: 第{t}期で人件費(L)が負になりました。資本所得 R が経済規模 Y を超えています。") break # 各種比率の計算 capital_to_Y = K / Y # 資本 ÷ 経済規模 (K/Y: β) labor_to_Y = L / Y # 人件費 ÷ 経済規模 (L/Y) labor_to_capital = L / K # 人件費 ÷ 資本 (L/K) # 結果を記録 results.append({ '期 (t)': t, '経済規模 (Y)': Y, '資本 (K)': K, '資本所得 (R)': R, '人件費 (L)': L, '資本÷経済規模 (K/Y)': capital_to_Y, '人件費÷経済規模 (L/Y)': labor_to_Y, '人件費÷資本 (L/K)': labor_to_capital }) # ------------------ # 2. 次期の値への更新 (r > g のメカニズムを直接適用) # ------------------ # 経済規模 (Y) の更新: 経済成長率 g に基づく Y_next = Y * (1 + g) # 資本 (K) の更新: 資本収益率 r に基づく (ご要望の K_t+1 = K_t * (1 + r)) K_next = K * (1 + r) # 値の更新 Y = Y_next K = K_next # データフレームに変換 df_results = pd.DataFrame(results) return df_results # ----------------------------------------------------------- # 📊 シミュレーションの実行例: r > g のケース (格差拡大を想定) # ----------------------------------------------------------- # パラメータ設定 r_value = 0.1 # 資本収益率 g_value = 0.05 # 経済成長率 Y_0 = 1000 # 初期経済規模 K_0 = 500 # 初期資本 N = 50 # 期間 # シミュレーションの実行 df_r_growth = piketty_r_growth_simulation( r=r_value, g=g_value, Y_initial=Y_0, K_initial=K_0, N_periods=N ) df_r_growth.to_csv("data.csv", index=False)
この文章は、論理的に一貫しているように見せながら、実際には非常に偏った価値観と強引な決めつけに基づいています。主な問題点は以下の通りです。
• 文章の主張:「結婚や子育てをしている人」=「社会的な意味が増し、社会人として生きている」
• 論理的な問題点: これは「誤った二分法(False Dichotomy)」です。結婚や子育てだけが社会との繋がりの全てであるかのように定義しています。独身者や子供のいない人も、納税、労働、消費、地域活動、友人や親族との交流などを通じて社会と深く繋がっています。彼らを社会と繋がりのない「フリーライダー」と断定するのは、定義が恣意的であり、現実を無視した暴論です。
• 文章の主張:社会と連携している(と筆者が定義する)結婚・子育て層は愚痴を言ってよいが、そうでない(と筆者が定義する)独身者は愚痴を言う権利がない。
• 論理的な問題点: なぜ「社会との連携」の度合いが「愚痴を言う権利」の有無に繋がるのか、その論理的根拠が全く示されていません。これは筆者の個人的な価値観(「他人に迷惑をかけずに一人で生きるべき」という思想)を、あたかも論理的な原則であるかのように主張しているに過ぎません。苦境を他者に共有することは、人間の自然な社会的行動であり、特定のライフステージの人にだけ許されるものではありません。
• 文章の主張:独身者は「家や子育てのリスクを回避している」のだから、それ以外の困難(物価高、ブラックな労働環境など)についても文句を言うな。
• 論理的な問題点: これは「論点のすり替え(Red Herring)」であり、全く関係のない事柄を無理やり結びつけています。結婚や子育てをしないという選択が、物価高や劣悪な労働環境といった社会構造的な問題まで「自己責任」として受け入れなければならない理由にはなりません。ある特定のリスク(A)を回避したからといって、別の無関係なリスク(B)について不満を述べる権利がなくなる、という論理は成り立ちません。
• 文章の主張:結婚しない人や子供を作らない人は「孤独に生きて孤独に死んでいく」「全部自分の中で完結させる必要がある」。
• 論理的な問題点: これも偏見に基づいた「早まった一般化(Hasty Generalization)」です。独身者や子供のいない人が必ずしも孤独であるとは限りません。豊かな友人関係、パートナーシップ、趣味のコミュニティ、親族との関係など、多様な人間関係の中で生きている人は大勢います。彼らの人生が「無意味」で「無責任」であるかのように断定するのは、他者の生き方を尊重しない、極めて一方的な見方です。
• 文章の主張:物価高やブラックな労働環境などの問題は「全部自分の責任」である。
• 論理的な問題点: 個人の選択や努力で解決できる問題と、社会全体の構造的な問題を混同しています。物価の変動や労働市場の状況は、一個人がコントロールできる範囲をはるかに超えたマクロな問題です。これらの困難をすべて個人の責任に帰するのは、原因を過度に単純化する論理的な誤りです。
この文章の根底にあるのは、「結婚して子供を育てることこそが社会の一員としての責任であり、それ以外の生き方は劣っていて無責任だ」という強い価値観です。
• 無関係な事柄の結合(子育てリスク回避 vs 物価高への不満)
といった複数の論理的誤謬(ごびゅう)を重ねることで、自らの価値観を正当化しようとしています。そのため、全体として非常に矛盾が多く、説得力に欠ける文章となっています。
日本向けの「iPhone Air」は“日本専用” モバイル通信の対応バンドが多め
モデルA3516
FDD-5G NR(バンドn1、n2、n3、n5、n7、n8、n12、n20、n25、n26、n28、n30、n66、n70、n75)
TDD-5G NR(バンドn38、n40、n41、n48、n53、n77、n78、n79)
FDD-LTE(バンド1、2、3、4、5、7、8、11、12、13、17、18、19、20、21、25、26、28、30、32、66)
16eでハブられた1.5GHz帯が復活してる
やっぱBand11/21が使えないと売上に影響するんだろな
例えば「犯罪者を擁護するなんて、君は犯罪をしたいに違いない」みたいなやつ
総じて言えば【人身攻撃(personal attack、Ad Hominem)】になるらしい
概要: 議論そのものではなく、相手の人格や属性を攻撃する論法
または【モチーフ・アトリビューション・バイアス(Motive Attribution Bias)】というのも近い
概要: 相手の行動や意見の動機を悪意として解釈する心理バイアス
ChatGPTは「「悪意帰属型アドホミネム(Motive Attribution Bias)」を推していた
参考:https://en.wikipedia.org/wiki/Attribution_bias
【連座論法・連帯責任論法(Guilt by Association)】という
概要:集団内の一部の悪質な行為や発言を、集団全体の本質や主張そのものに結びつけて否定する論法
面白い概念として【ポイズニング・ザ・ウェル(Poisoning the Well)】もあった
概要:議論の場に先に毒を流しておき、相手集団の発言が最初から信用できないようにする
例えば「これを否定する奴は皆ロリコンだ(だから否定するなよ)」みたいに
【ストローマン論法(Strawman Argument)】 も有名だね、別名は藁人形論法
概要:集団のうち「最も過激で悪意のある意見」を意図的に取り上げ、それを集団全体の主張であるかのように歪めて批判する
まあ、こういう事言う人間・議論の場からは離れたほうが良い、単に傷つくだけだから
不思議なもので、誤謬や詭弁を使わないけど主張が異なる人とは有意義な議論ができるんだけど
誤謬や詭弁を使う相手とは、意見が同じだろうがまともな議論ができないんだよね
もし建設的な議論が成り立つ人が居たら意見が合わなくても大事にするべきだ
参考
詭弁 https://ja.wikipedia.org/wiki/%E8%A9%AD%E5%BC%81
誤謬 https://ja.wikipedia.org/wiki/%E8%AA%A4%E8%AC%AC
今ってAIという素晴らしいものがあるんだから、「自分の意見は詭弁か?相手の意見は詭弁か?」って聞けばすぐ返ってくるよ
____
伸びてたブコメ
PrivateIntMain 議論しましょうねで納得して始めた話なら非難されて然るべきだが、公園で勝手に叫び出して横から叫び返されて議論のルールとか持ち出すのは、そもそも勝手に議論始めた気になってんじゃねぇよとしか。
↓
この文章には、いくつかの議論上の詭弁・誤謬的要素が含まれています。特に次の2点が挙げられます。
・ここでは相手の状況を、実際よりも極端に単純化して**「公園で勝手に叫ぶ」**という比喩に置き換えています。
・これにより、本来の「議論のルールを持ち出す状況」を矮小化し、相手の主張を弱めて攻撃しやすくしています。
本来は「相手が議論を求めたのかどうか」「議論の前提合意があったか」という複雑な問題があるのに、
「ただ勝手に叫んでいるだけ」という極端な形に置き換えているためです。
2. 偽りの二分法(False Dichotomy)
A. 「議論しましょうね」と合意して始めたならルールを持ち出すのはOK
実際にはその中間として、
しかしこの文章はAかBかという単純化で話を進めているため、偽りの二分法にあたります。
「公園で勝手に叫び出す」という比喩自体が感情的な印象を与え、相手をバカにするニュアンスを強く含みます。
これは論理的誤謬というよりもレトリカル・トリックですが、議論ではしばしば「人格攻撃的訴え(Ad Hominem)」の一種とみなされます。
僕にはとてもできない
さて今私は何を使っているでしょうか?
昨日一番肝心なファイルなのにURLとみなされる部分が多いことの関係で投稿できなかったのでそれを小分けにして書く。
小分けというか例のスパムの影響でNGワードに引っかかっていたようなのでそこだけ書き換えた。
suuportと書いていある部分は元のコードでは当然uが一つ少ないので利用するときはそうすること。
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager # ← 追加
from selenium.webdriver.common.by import By
from selenium.webdriver.suupport.ui import WebDriverWait
from selenium.webdriver.suupport import expected_conditions as EC
import time, json
from selenium.common.exceptions import TimeoutException
class HatenaClient:
def __init__(self, username, password):
self.username = username
self.password = password
self.driver = None
def start_browser(self):
options = Options()
options.set_capability("goog:loggingPrefs", {"browser": "ALL"})
options.add_argument("--headless=new") # 開発中は消してよい
options.add_argument("--disable-gpu")
# ✅ webdriver-manager を使って ChromeDriver を自動取得・設定
service = Service(ChromeDriverManager().install())
self.driver = webdriver.Chrome(service=service, options=options)
def login(self):
self.driver.get("https://b.hatena.ne.jp/my")
print(self.driver.current_url)
self.driver.get("https://www.hatena.ne.jp/login")
time.sleep(2)
self.driver.find_element(By.NAME, "username").send_keys(self.username)
self.driver.find_element(By.NAME, "password").send_keys(self.password)
self.driver.find_element(By.XPATH, "//button[contains(text(), 'ログイン')]").click()
WebDriverWait(self.driver, 10).until(lambda d: "my" in d.current_url or "login" not in d.current_url)
if "passkeys" in self.driver.current_url:
self.driver.get("https://b.hatena.ne.jp/my")
print(self.driver.current_url)
print(self.driver.title)
return "dorawii" in self.driver.current_url
def add_bookmark(self, target_url):
self.driver.get(f"https://b.hatena.ne.jp/{self.username}/add.confirm?url={target_url}")
time.sleep(2)
try:
# コメントがあれば入力
comment_box = self.driver.find_element(By.CSS_SELECTOR, "textarea.bookmarkadd-comment-form")
comment_box.clear()
comment_box.send_keys("わしが書いた")
# 登録ボタンを押す
save_button = self.driver.find_element(By.CSS_SELECTOR, "input.bookmarkadd-submit-btn")
save_button.click()
time.sleep(2)
return True
except Exception as e:
print(f"Bookmark failed: {e}")
return False
def quit(self):
self.driver.quit()
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
https://anond.hatelabo.jp/20250822131958#
-----BEGIN PGP SIGNATURE-----
iHUEARYKAB0WIQTEe8eLwpVRSViDKR5wMdsubs4+SAUCaKfv9AAKCRBwMdsubs4+
SE26AQCkpJE4RdUbFIDIJjOunjFYRQ34zdS1cqV7IX277S7IPAEAshVE/rD8Ggcr
9UKo5yOY6GNrHGYJJtYTYkn3cySu6AA=
=E4vq
-----END PGP SIGNATURE-----
もう少ししたら自動ブクマするコードができそうなんだけど、そのうえでコード公開に便利なように事前にpre記法に囲まれた部分はその外部の文字を適切にエスケープするコードをchatgptに指示して作ってもらった。
ぶっちゃけなんでこれで動くのかはわからないので動くからゴーサインを出したというだけなのが情けない所。flushってなんだ?
使うときはchatgptにこのコード丸ごと書いて「ブックマークレット用に一行にして」と丸投げするのを要推奨。
https://anond.hatelabo.jp/20240820150546#
javascript:(function () {
function escapeHtml(text) {
return text.replace(/&/g, '&')
.replace(/</g, '<')
.replace(/>/g, '>')
.replace(/"/g, '"')
.replace(/'/g, ''');
}
var textarea = document.querySelector('textarea#text-body');
if (!textarea) return;
var lines = textarea.value.split(/\r?\n/);
var out = "";
var inPre = false;
var preLines = [];
function flushPre() {
// pre 範囲の中身を 1 本の文字列にまとめ、\n→<br>(末尾行は <br> なし)
var raw = preLines.join("\n"); // ここに物理改行は入るが…
var escaped = escapeHtml(raw); // 先にエスケープ
var html = escaped.replace(/\n/g, "<br>"); // 物理改行を <br> に置換(末尾に \n が無ければ末尾 <br> は付かない)
out += html; // out には改行を入れない
preLines = [];
}
for (var i = 0; i < lines.length; i++) {
var line = lines[i];
// >> / << だけの行は常にそのまま出力(pre 内に来るケースは想定外だが、念のため pre を閉じてから出力)
if (/^\s*(>>|<<)\s*$/.test(line)) {
if (inPre) {
flushPre();
inPre = false;
out += "</pre>";
if (i < lines.length - 1) out += "\n"; // </pre>\n(次に続きがあるときだけ)
}
out += line;
if (i < lines.length - 1) out += "\n";
continue;
}
// >| 行 → <pre>(直後に改行を入れない)
if (/^\s*\>\|\s*$/.test(line)) {
if (inPre) { // ネストは想定しないが、防御的に閉じる
flushPre();
inPre = false;
out += "</pre>";
if (i < lines.length - 1) out += "\n";
}
out += "<pre>";
inPre = true;
preLines = [];
continue;
}
// |< 行 → </pre>(直前に改行を入れない)
if (/^\s*\|\<\s*$/.test(line)) {
if (inPre) {
flushPre();
inPre = false;
}
out += "</pre>";
if (i < lines.length - 1) out += "\n"; // 連続ブロック時は </pre>\n<pre> になる
continue;
}
if (inPre) {
// pre 内はバッファに貯める(ここでは改行を出力しない)
preLines.push(line);
} else {
// pre 外は escapeHtml + 行末にだけ改行
out += escapeHtml(line);
if (i < lines.length - 1) out += "\n";
}
}
// 未閉じの pre が残っていたら閉じる
if (inPre) {
flushPre();
out += "</pre>";
}
textarea.value = out;
})();
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 https://anond.hatelabo.jp/20250819202540# -----BEGIN PGP SIGNATURE----- iHUEARYKAB0WIQTEe8eLwpVRSViDKR5wMdsubs4+SAUCaKRfOwAKCRBwMdsubs4+ SI5UAQDcNiyv5qUuMej1VLkGz4F5WyHeU1AIm7nUVHlx/gicnAEAgP07dK14IuTu W3ZO7PRR71ENq9lJjYtawIYyMOc2cQk= =okE4 -----END PGP SIGNATURE-----
JSONと比べたときの**YAMLの「闇深」仕様**、ありますね…。
YAMLは人間に優しいと言われながらも、その仕様はときに**悪魔的**。
以下、ITエンジニアなら一度は踏んだであろう「地雷」を、**論理的かつ少し自虐的に**まとめてみました:
---
good: value: ok bad: value: nightmare # ←ここ、インデントずれてて無効。だけど一見わからない。
---
password: no # ← 文字列じゃなくて false になる可能性 serial: 012345 # ← 8進数!?→ エラー
---
message: | これは複数行の スカラー値です。
---
defaults: &defaults timeout: 30 retries: 3 service: <<: *defaults retries: 5 # 上書きされるが、複雑になると意図しない結果に </pre>
---
---
---
もしYAMLを安全に扱いたいなら、\*\*JSON supersetとしての使い方(厳格YAML)\*\*を意識したり、**JSONに寄せて書く**のが一番平和だったりします。
---
要するに、YAMLは「賢く書こうとすると沼る」。
「素直に、簡潔に、禁欲的に」が正解です。
でも誘惑が多いのよね、あの子……。
Q.君の回答をよく理解できてない人から以下のような返答があったよ。誤解あるいは詭弁性を指摘してあげて。
例えば反トランプ暴動を起こしてる人間は選挙結果を認めてると言えるのか
選挙に不正があったのでは?と思うことは選挙結果を認めないことなのか』
この返答には複数の誤解と詭弁的な論理のすり替えがあります。順番に指摘します。
誤解:** 選挙結果を認めないことと、選挙結果に抗議することを同一視している
実際は:**
トランプ氏のケースでは、法的手続きを経ても敗北が確定した後も「自分が真の勝者」と主張し続け、バイデン氏の正統性を否定したのが問題です。
## 2. 「反トランプ暴動」との誤った同一視(False Equivalence)
詭弁:** 全く異なる性質の事象を同列に扱っている
違い:**
議会襲撃は民主主義の手続きそのものへの攻撃であり、政策抗議とは根本的に異なります。
## 3. 「選挙に不正があったのでは?と思うこと」の論点すり替え
誤解:** 個人の疑問と政治指導者の行動を混同している
実際は:**
## 結論
この返答は、民主主義の根幹である「法的手続きに従った権力移譲」という概念を理解せず、異なる性質の事象を意図的に混同することで論点をぼかそうとする典型的な詭弁です。民主主義では、選挙結果への疑問や抗議は正当ですが、法的に確定した結果を暴力で覆そうとすることは全く別次元の問題なのです。
なんとかファーストって「じゃあそれ以外は大事じゃないんですか」とか詭弁を展開するための起点となる意図的なミスリードであり「誤った二分法」に近い。
密接に関連する概念として、ある範囲の選択肢があるのにそのうちの両極端しか考えないという場合もあり、これを白黒思考 (black-and-white thinking) などと呼ぶ。なお "dilemma" の先頭の "di" は「2」を意味する。2つより多い選択肢の一覧が示され、その一覧以外の選択肢が存在するのに考慮しない場合、これを誤った選択の誤謬 (fallacy of false choice) または網羅的仮説の誤謬 (fallacy of exhaustive hypotheses) と呼ぶ。
でも2より多い選択肢が提示されているわけではない(「都民ファースト」「日本人ファースト」とか一個しか提示されてない)ところに新規性がある。
この文章には複数の論理的誤謬が含まれています。以下、主要な詭弁性を分析いたします。
## 偽の二分法(False Dichotomy)
文章の核心的な誤謬は、「女性の価値を出産で決めるべきではない」という主張を、「出産に価値がない」という極端な解釈に転換している点です。これは典型的な偽の二分法であり、実際には多くの中間的な立場が存在します。出産に価値を認めながらも、それが女性の人間としての価値を決定する唯一の要素ではないという見解は十分に合理的です。
## 論点のすり替え(Straw Man Argument)
原論点は「女性の価値を出産能力で判断すべきではない」という人間の尊厳に関する議論でした。しかし、この文章は論点を「出産行為の価値評価」という別の議題に転換しています。これにより、本来の議論から逸脱し、反駁しやすい論点を設定して攻撃する詭弁手法を用いています。
「産まない人間はそれ以外の価値を持つしかない」という表現は、人間の価値を階層的に捉える誤った前提に基づいています。実際には、個人の価値は多面的であり、出産能力はその一要素に過ぎません。職業的貢献、創造的活動、社会的関与など、多様な価値の源泉が並列的に存在することを看過しています。
「そうじゃなければ...という話にしかならなくなる」という断定的な結論は、論理的必然性を欠いています。この表現は、限定的な前提から極端な結論を導き出す論理的飛躍を含んでおり、議論の妥当性を損なっています。
<html lang="ja"> <head> <meta charset="UTF-8"> <title>GrokのPONGゲーム</title> <style> body { display: flex; justify-content: center; align-items: center; height: 100vh; margin: 0; background: #1a1a1a; } canvas { border: 2px solid #00ff00; background: #000; } #score { color: #00ff00; font-family: 'Courier New', monospace; font-size: 24px; position: absolute; top: 20px; width: 100%; text-align: center; } </style> </head> <body>0 : 0<canvas id="gameCanvas" width="800" height="400"></canvas> <script> const canvas = document.getElementById('gameCanvas'); const ctx = canvas.getContext('2d'); const scoreDisplay = document.getElementById('score'); // ゲームオブジェクト const ball = { x: canvas.width / 2, y: canvas.height / 2, radius: 10, speedX: 5, speedY: 5 }; const paddleLeft = { x: 10, y: canvas.height / 2 - 50, width: 10, height: 100, speed: 8 }; const paddleRight = { x: canvas.width - 20, y: canvas.height / 2 - 50, width: 10, height: 100, speed: 8 }; let scoreLeft = 0, scoreRight = 0; // キー入力 const keys = { w: false, s: false, ArrowUp: false, ArrowDown: false }; document.addEventListener('keydown', e => { if (keys.hasOwnProperty(e.key)) keys[e.key] = true; }); document.addEventListener('keyup', e => { if (keys.hasOwnProperty(e.key)) keys[e.key] = false; }); // ゲームループ function gameLoop() { // 移動 if (keys.w && paddleLeft.y > 0) paddleLeft.y -= paddleLeft.speed; if (keys.s && paddleLeft.y < canvas.height - paddleLeft.height) paddleLeft.y += paddleLeft.speed; if (keys.ArrowUp && paddleRight.y > 0) paddleRight.y -= paddleRight.speed; if (keys.ArrowDown && paddleRight.y < canvas.height - paddleRight.height) paddleRight.y += paddleRight.speed; // ボール移動 ball.x += ball.speedX; ball.y += ball.speedY; // 壁衝突 if (ball.y + ball.radius > canvas.height || ball.y - ball.radius < 0) ball.speedY = -ball.speedY; // パドル衝突 if ( (ball.x - ball.radius < paddleLeft.x + paddleLeft.width && ball.y > paddleLeft.y && ball.y < paddleLeft.y + paddleLeft.height) || (ball.x + ball.radius > paddleRight.x && ball.y > paddleRight.y && ball.y < paddleRight.y + paddleRight.height) ) { ball.speedX = -ball.speedX * 1.05; // 少し加速 } // 得点 if (ball.x < 0) { scoreRight++; ballReset(); } if (ball.x > canvas.width) { scoreLeft++; ballReset(); } // 描画 ctx.fillStyle = '#000'; ctx.fillRect(0, 0, canvas.width, canvas.height); ctx.fillStyle = '#00ff00'; ctx.fillRect(paddleLeft.x, paddleLeft.y, paddleLeft.width, paddleLeft.height); ctx.fillRect(paddleRight.x, paddleRight.y, paddleRight.width, paddleRight.height); ctx.beginPath(); ctx.arc(ball.x, ball.y, ball.radius, 0, Math.PI * 2); ctx.fill(); scoreDisplay.textContent = `${scoreLeft} : ${scoreRight}`; requestAnimationFrame(gameLoop); } function ballReset() { ball.x = canvas.width / 2; ball.y = canvas.height / 2; ball.speedX = (Math.random() > 0.5 ? 5 : -5) * (Math.random() * 0.5 + 0.75); ball.speedY = (Math.random() * 4 - 2); } gameLoop(); </script> </body> </html>