「Key」を含む日記 RSS

はてなキーワード: Keyとは

2025-06-05

ジェンダー大学受験英語長文

English Translation

In today’s world, kindness is often seen as an important quality in love and relationships. However, when someone shows the same kindness to everyone, it may not feel “special.” In other words, while it is admirable to be kind to everyone, such a person may not be seen as a romantic partner because it is hard to feel that “I’m the only one” for them.

On the other hand, when someone who is already popular or admired by others shows kindness only to you, that act means more than just being nice. The feeling of “They are kind only to me” can create a sense of being chosen, which boosts confidence and makes you feel special.

In this way, the kindness of a popular person can make you feel more valuable. Love is not just about someone’s personality—it is also influenced by how special you feel compared to others, or who is showing interest in you.

In short, love is not only based on feelings but also shaped by social relationships and how people are seen in society. These social dynamics play an important role in how love works.

Question 1 (Summary, 100–120 words)

Explain how the author describes the role of “kindness” in romantic relationships. Why is kindness not always enough to attract someone romantically? Use examples from the passage.

Model Answer:

The author explains that kindness alone is not always enough to create romantic attraction. If someone is kind to everyone, that kindness may feel less meaningful because it doesn’t make a person feel special. On the other hand, when someone who is already admired by others shows kindness only to one person, it creates a feeling of being chosen. This gives the person confidence and a sense of value. The author emphasizes that love is influenced not only by emotions but also by how people are viewed socially, and how unique the relationship feels. Therefore, social dynamics play a key role in romantic attraction.

Question 2 (Critical Thinking, 150–180 words)

Do you agree with the idea that people often fall in love based on how “special” someone makes them feel compared to others? Why or why not? Provide your own example or reasoning.

Model Answer:

Yes, I agree with the idea that feeling special plays a big role in romantic attraction. When someone treats you in a way that’s different from how they treat others, it makes you feel important. For example, if a person is kind to everyone but spends extra time with you, listens carefully, or remembers small things about you, it feels meaningful. This sense of being “chosen” builds emotional connection and trust. On the other hand, if someone is equally kind to everyone, it may be hard to tell if you are truly important to them. I think love often involves wanting to feel unique and valued, and that feeling can come from how someone behaves differently with you. It’s not just about their personality, but about how they make you feel in the context of others. This is why people often fall in love with someone who makes them feel “seen” and “special.”

ジェンダー大学受験英語長文

English Translation

In today’s world, kindness is often seen as an important quality in love and relationships. However, when someone shows the same kindness to everyone, it may not feel “special.” In other words, while it is admirable to be kind to everyone, such a person may not be seen as a romantic partner because it is hard to feel that “I’m the only one” for them.

On the other hand, when someone who is already popular or admired by others shows kindness only to you, that act means more than just being nice. The feeling of “They are kind only to me” can create a sense of being chosen, which boosts confidence and makes you feel special.

In this way, the kindness of a popular person can make you feel more valuable. Love is not just about someone’s personality—it is also influenced by how special you feel compared to others, or who is showing interest in you.

In short, love is not only based on feelings but also shaped by social relationships and how people are seen in society. These social dynamics play an important role in how love works.

Question 1 (Summary, 100–120 words)

Explain how the author describes the role of “kindness” in romantic relationships. Why is kindness not always enough to attract someone romantically? Use examples from the passage.

Model Answer:

The author explains that kindness alone is not always enough to create romantic attraction. If someone is kind to everyone, that kindness may feel less meaningful because it doesn’t make a person feel special. On the other hand, when someone who is already admired by others shows kindness only to one person, it creates a feeling of being chosen. This gives the person confidence and a sense of value. The author emphasizes that love is influenced not only by emotions but also by how people are viewed socially, and how unique the relationship feels. Therefore, social dynamics play a key role in romantic attraction.

Question 2 (Critical Thinking, 150–180 words)

Do you agree with the idea that people often fall in love based on how “special” someone makes them feel compared to others? Why or why not? Provide your own example or reasoning.

Model Answer:

Yes, I agree with the idea that feeling special plays a big role in romantic attraction. When someone treats you in a way that’s different from how they treat others, it makes you feel important. For example, if a person is kind to everyone but spends extra time with you, listens carefully, or remembers small things about you, it feels meaningful. This sense of being “chosen” builds emotional connection and trust. On the other hand, if someone is equally kind to everyone, it may be hard to tell if you are truly important to them. I think love often involves wanting to feel unique and valued, and that feeling can come from how someone behaves differently with you. It’s not just about their personality, but about how they make you feel in the context of others. This is why people often fall in love with someone who makes them feel “seen” and “special.”

2025-06-02

鈴川エディタEmEditorで少ないメモリー使用量で巨大テキストファイル編集できるとうたってるが、.NETでも見事に再現できたぞ。

1.2億行×100文字の全置換えでGCメモリー使用量は340MB程度で、行の操作86MB程度、合わせて426MBだ。

その辺の.NETテキストエディタコンポーネントに組み込んでも500MBぐらいで済むと思う。

(その代わりワークファイルは30GBぐらいは行ってるはず)

鍵はropeというデータ構造使用することとropeアクセスする際、ディスクに保存する機構を付け加えるだけだ。

特にソースコードで見るべき個所はBigList.cs、Node.cs、DiskPinableContentDataStore.csの所だけだ。

多少遅くて構わないなら、ディスクに保存することはそこまで難しくはない。

メモリーマップファイルは何かと面倒なので使ってないが、.NETでMMDataStructuresとかメモリーマップファイルを扱うやつがあるんで、メモリーマップファイルでも行けるはずだ。

benchmark start

size:120000000

Allocated GC Memory:66,304bytes

add time:173334 ms

Allocated GC Memory:101,257,168bytes

replace 1 time:816628 ms

Allocated GC Memory:101,247,232bytes

replace 2 time:1179279 ms

Allocated GC Memory:333,371,424bytes

replace 3 time:1886714 ms

Allocated GC Memory:333,257,000bytes

enumratotion time:1638579 ms

Allocated GC Memory:331,904,816bytes

clear buffer

Allocated GC Memory:66,304bytes

add line time:46649 ms

Allocated GC Memory:86,939,136bytes

update line time:77635 ms

Allocated GC Memory:87,272,912bytes

clear buffer

Allocated GC Memory:69,448bytes

Finished.Hit Any Key

https://github.com/oonyanya/FooList

2025-06-01

The 7:38 news

Watch: A black eye and a gold key - Musk's last day at Doge

h ttps://t.co/Ox8LNge9GW

anond:20250601104621

鍵泥棒のメソッド』『LUCKーKEY

ゴールデンスランバー

『ナミヤ雑貨店奇跡』『ナミヤ雑貨店奇跡 再生

いま、会いにゆきます』 『Be With You

『リトル・フォレスト

『百円の恋』:『热辣滚烫(YOLO)』

家族はつらいよ』:『麻烦家族

容疑者Xの献身』:『嫌疑人X的献身

カイジ』:『动物世界Animal World)』

ザ・マジックアワー』 『トゥ・クール・トゥ・キル 〜殺せない殺し屋〜』 

がんばっていきまっしょい』:『激浪青春

世界の中心で、愛を叫ぶ』

 人狼韓国版あるらしい

マット・アルト日本ポップカルチャーについて:日本はキミらのことなんかク○ほども気にしない」(2025年5月17日

https://econ101.jp/matt-alt_japanese-popculture/ で述べられていないこと=邦画

 

「どうしてアメリカポップカルチャーは衰退しつつあるのに,日本ポップカルチャーはこんなに絶好調なんだろう?」

  

USA音楽カルチャーに対比するのに漫画・comicカルチャーが適切であると冒頭で述べつつ盛田ソニー任天堂を持ち出している。

 

日本アニメスタジオのどれひとつとして Pixar の規模にまで成長していない理由にも当てはまるかもしれない.」アニメ制作も持ち出しているし

ウォークマン() kawaii ファッション」も論じている。

 

しかし、KAIJUがないのは当然として(ありがとうデルトロ)、日本映画についてはまったく触れられていない。だってアメリカにおけるプレゼンスがまったくないものね。

小津も黒澤明過去の人。『半地下』の監督ハリウッド進出したけど日本監督で今そんな人いるかな?フランスで撮った黒沢清シネフィルのものでポップではなさげ。知らんけど。海外作品日本リメイクすることは多い一方逆は…(『キャメラを止めるな!』はフランスでの『LUCK-KEY』は韓国でのリメイク

2025-05-30

BigListに1.2億行*100文字=12GBのテキストを突っ込んでみた。

文字操作タスクマネージャーから見たメモリー使用量は500~900MB程度。

なお、行テーブルの所は面倒なのでディスクに保存してない。

benchmark start

size:120000000

Allocated GC Memory:66,304bytes

add time:173334 ms

Allocated GC Memory:101,257,168bytes

replace 1 time:816628 ms

Allocated GC Memory:101,247,232bytes

replace 2 time:1179279 ms

Allocated GC Memory:333,371,424bytes

replace 3 time:1886714 ms

Allocated GC Memory:333,257,000bytes

enumratotion time:1638579 ms

Allocated GC Memory:331,904,816bytes

clear buffer

Allocated GC Memory:180,072bytes

add line time:17935 ms

Allocated GC Memory:4,916,166,568bytes

update line time:2876 ms

Allocated GC Memory:4,916,146,904bytes

clear buffer

Allocated GC Memory:172,104bytes

Finished.Hit Any Key

https://github.com/oonyanya/FooList/commit/e795913ef8c8fbd16e59d54048ff68a202ca7c1b

2025-05-26

BigListの一部を再帰なしにしたけど、C#最適化すごいな。

メモリー使用量以外は再帰ありのほうがいいわ。

速度的には再帰しより再帰ありのほうが圧倒的に速い。

ベンチマークは1000行×100文字

マシンCore i5 10400F、メモリー16GB。

再帰なし。ブランチ rewrite_nonrecursive、Commit 84b25c1

https://github.com/oonyanya/FooList/commit/84b25c172b2f8792ad2d1a645c0b25ff7bf8093d

benchmark start

Allocated GC Memory:61,240bytes

add time:1025 ms

Allocated GC Memory:199,685,064bytes

replace 1 time:7274 ms

Allocated GC Memory:199,698,944bytes

replace 2 time:9565 ms

Allocated GC Memory:345,442,528bytes

replace 3 time:7716 ms

Allocated GC Memory:345,442,552bytes

enumratotion time:1125 ms

Allocated GC Memory:345,442,672bytes

clear buffer

Allocated GC Memory:82,728bytes

add line time:384 ms

Allocated GC Memory:41,048,400bytes

update line time:99 ms

Allocated GC Memory:41,048,464bytes

clear buffer

Allocated GC Memory:82,984bytes

Finished.Hit Any Key

再帰あり

benchmark start

Allocated GC Memory:60,752bytes

add time:1055 ms

Allocated GC Memory:199,622,776bytes

replace 1 time:6032 ms

Allocated GC Memory:199,636,920bytes

replace 2 time:8309 ms

Allocated GC Memory:369,227,696bytes

replace 3 time:6220 ms

Allocated GC Memory:369,227,696bytes

enumratotion time:1158 ms

Allocated GC Memory:369,227,840bytes

clear buffer

Allocated GC Memory:82,728bytes

add line time:357 ms

Allocated GC Memory:40,996,432bytes

update line time:75 ms

Allocated GC Memory:40,999,688bytes

clear buffer

Allocated GC Memory:82,984bytes

Finished.Hit Any Key

できたら、RemoveRangeInPlaceとRebalaceも再帰なしにしたいけど、どう書いたらいいのかわから

2025-05-23

令制国表記を変えてファンタジー日本連邦を作ろう

大和国→矢的の国 矢が的に刺さった絵を国旗とする弓使いが多い国。

河内国→かだいの国/ハノイの国/川内の国/仙台の国 国名が安定しない。

伊勢国iceの国 氷で覆われた不毛の地という噂を流しているのは他国から侵略を防ぐため。氷漬けなのは国境付近のみでそれ以外は肥沃な土地

近江国→お海の国 国土の大半を占める巨大な湖を海と呼ぶ海を知らない内陸国

播磨国→貼り魔の国 貼るだけで封印された魔を召喚することができるシールの発売国

越前国→えち善の国 一日一善を国是とする国。一善がなまってえち善となった。

武蔵国→634の国 634個の村が寄り集まってできた国。

上総国→数差の国 すべてを数値化して僅かな差でも比較し、様々なランキングを日々作っている。

下総国→下うさの国 うさぎが多く生息する低地にある国。

常陸国日立の国 sun(日)がrise(立)する国を自称する。太陽信仰の国で太陽を拝み、太陽の声を承る。

上野国→うえのの国 パンダが多く生息する。

陸奥国→襁褓の国 おむつ名産地。

肥後国→籤の国 竹ひごの名産地。

山城国→疚し路の国 道を歩いていると不思議とやましさが増してくる国。

摂津国→setsの国 多くのものがセットでまとめられている。

尾張国→終わりの国 人生の終わりにたどり着きたいとされる国。

三河国美川の国 国土の中心を流れる美しい川の沿岸にさそりが多く生息する。

美濃国→蓑の国 民は外出時に蓑を着用する。

備前国→美髯の国 ひげが長いほど美しいとされる国。

美作国→見まさかの国 歴史上の「まさか」を集め、それらを一覧することができる国。

但馬国田島の国 国土ほとんどが田んぼ島国島国で狭いので田んぼのためにそれ以外のスペースを徹底的に切り詰める。

因幡国→イナバの国 この国の建造物は頑健で特に上方から圧力に強い。

丹波国タンバの国 タンバリンの名産地。

紀伊国keyの国 鍵の名産地。開けられない錠はない。

遠江国→尊みの国 尊さを感じたものを「推し」とする風習がある。

駿河国→するがの国 民は「何々しないの?」と言われると「するが?」と答え何でもせずにいられない。

甲斐国→貝の国 貨幣建物の素材に貝殻が使われている。

信濃国支那之の国 国全体が中国製の物で構成される。

加賀国花芽の国 花が咲きそうでいつまでも咲かない国。

越中国→こしなかの国 もなかの名産地。こしあんもなかの略称国名となる。

伯耆国→箒の国 掃除用の箒から魔法の箒まで箒なら何でも手に入る。

出雲国→いつもの国 昔からの「いつもの」を維持し続ける。伝統を守っているので考古学者の研究対象となる。

備中国ビッチュウの国 携帯ゲーム機ゲーム及び派生作品ビットモンスター」の発売国で同作品に登場するネズミモンスタービッチュウを国旗とする。

備後国ビンゴの国 ビンゴゲーム屋が立ち並ぶビンゴゲーム聖地

阿波国→泡の国 民は国外に出ると泡となって消える。

讃岐国→さ抜きの国 あらゆる言葉から「さ」の文字が抜かれる(国名例外)。

相模国さがみの国 あらゆる「さ」が「み」に置き換えられる(国名例外)。

下野国→げやの国 下野した政治家官僚が集まる。

出羽国→ではの国 誰かと来ると必ず別れることになる国。

越後国→えちごの国 苺の名産地。えちごとは「良い苺」がなまったもの。高級な苺は権力者への贈り物として重宝される。

安芸国→秋の国 気候が安定しており一年を通して秋のように過ごしやすい。

周防国→酢王の国 酢の名産地で最も優れた酢を製造した者が国王に選ばれ1年間国を治める。

伊予国→壱与の国 卑弥呼の娘・壱与を崇拝し王はその子孫を自称する。

筑前国→築前の国 優れた建築士を多く輩出する。

筑後国→築後の国 優れた建物管理者を多く輩出する。

豊前国憮然の国 民がすっかり失望・落胆して無気力な国。

豊後国文豪の国 文豪を多く輩出する。

肥前国→火然の国 火の一族が治める国。火の一族は火の扱いに長けており、火で物を燃やすだけでなく心も燃やすという。

若狭国若さの国 民が不自然若い

丹後国タンゴの国 民が常にタンゴを踊り続けている。

能登国→notの国 民が話すときは必ず否定から入る。

安房国→粟の国 粟の名産地で米ではなく粟が主食

佐渡国サドの国 サディズム聖地サディスト自然に生まれ育つ。

長門国ナガモンの国 携帯ゲームおよび派生作品ナガモアドベンチャー」の発売国で同作品に登場する首長竜型モンスターナガモンを国旗とする。

石見国→岩みの国 岩の多い国で、人も物も少し岩っぽい。長居するとだんだんと皮膚が固くなり岩っぽくなる。

土佐国→とさの国 「何々だったとさ」と民が昔話をしてくれる。

日向国→ひなたの国 曇らず夜もない絶えず太陽が見える国。国全体が1個の巨大なドームの中にあり、空も太陽も人工物である

大隅国→大炭の国 炭の名産地。大木から大きな炭を作る技術を持つ。

薩摩国→殺魔の国 魔を殺す術に長けた兵を多く養い、他国から要請に応じて派兵する。

和泉国→泉の国 泉が多い国。多種多様温泉が楽しめる。

伊賀国→毬の国 民はトゲ付きのヘルメットや肩パッドを着用する。そのために髪型は常に丸坊主にしている。

志摩国→島の国 島であること以外何もない国。

淡路国→会わじの国 この国で待ち合わせをすると会えない。

伊豆国→出づの国 入国が難しく出国が容易いため人口流出問題となっている。

飛騨国→襞の国 地面や建造物の表面がひだ状になっている。

壱岐国→粋の国 粋であることが美徳とされる。

対馬国津島の国 津島太郎という浦島太郎に似た昔話の聖地

隠岐国→沖の国 国外から見れば沖にあり国内から見れば国外が沖にある孤島の国。

2025-05-18

親友バンド大阪夏フェスに出演することが決定した

前回:親友のバンドに20万円の出資をした

 

先日、親友Aのバンド、PompadollSが大阪夏フェスに出演することが発表された。

増田はこの界隈には新参者だが多分めちゃめちゃすごいんだと思う。

共演者にはsumika日食なつこ、緑黄色社会マカロニえんぴつ、やばTにフレデリックという邦楽にわか増田でも知っているような有名アーティストバンバン出演していてびびる。

増田は本当に嬉しくて、友達6人グループを誘って万博も併せて大阪旅行計画中だ。

 

前回の記事を出してから1年と経たずに夏フェス出演まで上がってきたPompadollS。

興味をもってくださる方もいると信じて、増田目線からたこの1年間を記させていただく。

 

実はPompadollSは昨年の10月ごろまで活動が控えめだった。

8月から10月までライブはなく、間の9月にはKey担当していたメンバー体調不良のために脱退することが発表された。

このKeyの脱退は正直かなりショックだったことを覚えている。

PompadollSの持ち曲はどれも童話モチーフ現代風に落とし込んだ作風が魅力の一つであり、その独特な世界観を余すところなく表現していたのが元メンバーの繊細かつハイクオリティ演奏だった。

それゆえ彼女の脱退はファンの間で惜しまれていたし、増田は同時に、今後バンドが一体どうなるのかという不安すら覚えていた。

 

このような背景の中、11/1に新たなメンバーKeyとして加入が発表され、新体制活動が再開。

11/2には彼らの1st EPP.S.」がリリースされた。

https://www.youtube.com/PompadollS - P.S.

このEPではすでに発表済みだった3曲と新しく3曲を追加した6曲が収録されている。

前述のこともあり、期待と不安が半々の心持で新曲を聴いてみたところ、一気に不安は吹き飛んだ。

新メンバーは間違いなく、PompadollSのKeyという難役に相応しい演奏技術の持ち主であり、恐らくメンバーを引っ張ってきたAの手腕には脱帽である

 

次に示す「悪食」という曲はPompadollSの真骨頂ともいえる一曲であり、ぜひイントロ10秒でも聴いてもらえれば、繊細かつどこか懐かしいピアノの魅力に惹きつけられると思う。

https://www.youtube.com/PompadollS - 悪食

 

新体制で始まった11からPompadollSの活動は段々活発になっていく。

11中旬からInstagramTiktokでの運営が始まりライブショート動画がほぼ一日一件は投稿されるようになる。

同時に、それらのSNS音楽を紹介するアカウントなどがPompadollSを紹介するようになっていく様子も見られた。

10月まではMVに付いていたコメントYouTube広告Twitterからだけだったが、徐々にInstagramTikTokから来たというコメントが増えてきたのを覚えている。

 

そして12月、PompadollSに転機が訪れる。

ここまでに上のURLを開いた人はもう気が付いたかもしれないが、実は上で挙げた「悪食」、MVではなくジャケ写音源でありながら再生回数現在120万回を超えている。

なぜこれほど再生されているかというと、昨年12月初旬にTikTokで挙げられた悪食ショート動画がバズったかである

そのショート動画は最終的に同月中に100万再生越えを達成。

その勢いを受けて同時にSpotifyの週間バイラルチャートにて悪食が2位でランクイン、さらに1週間を経たずに1位まで駆け上がることとなる。

11月まではYouTubeチャンネル登録者数が6000人程度だったのに対し、12月中にはYouTubeInstagramTikTokの全てでフォロワーが1万人を超え、Spotifyに至っては月間リスナーが2万人を超える大躍進となった。

 

年が明けて1/7、インスタライブが初めて行われ、500人弱のファンが集まる中、1st ワンマンライブの開催が発表。

翌日行われた先行販売では開始数分での即完売を達成、抽選ではなかったためかサイトが落ちる事態となり、阿鼻叫喚のTLが観測された。

同時に2ndワンマン開催希望の声が多く上がり、この声を受けて1週間後に2ndワンマンの開催が発表。

2ndは抽選制かつ1stの3倍近く(200人弱→600人)のキャパライブハウスが用意されたが、こちらも落選者が出るほどに応募された。

増田普通に落選メールをもらうこととなり嬉しさと哀しさの悲鳴を上げていた。

 

そして3月幕張メッセで開催されたツタロックフェスにてオープニングアクトとして出演が決まった。

これは多数の応募がある中でオーディション審査を通過しての決定だった。

PompadollSは前年夏のロッキン2024で惜しくも最終オーディションで落ちた過去があり、この瞬間を会場で見ていた増田は、情緒がぶっ壊れてめちゃめちゃ人に自慢した。

フェス当日では、1000人以上もの前でも啖呵を切りながら楽しそうに演奏をするAの姿が本当に格好良かった。

  

その後も大阪ワンマンやツーマンの開催が発表されるものの全て即完、、増田は今のところチケット争奪戦にて3勝2敗である

2025年現在ではYouTubeInstagramTikTokそれぞれ平均3万人のフォロワーを獲得、Spotifyに至っては月間リスナー7万人を目前としている。

 

以上が増田が見てきた、PompadollSが跳躍するまでの軌跡だ。

もし増田を読んで、少しでも彼らの音楽を気になってもらえたら嬉しい。

一緒に応援までしてくれるのなら幸甚の極みである

これからも、彼らがどんどん高く登っていくことを願ってやまない。

増田武道館でAの演奏を見れる日がくるのも近いかもしれない。楽しみだ。

 

P.S.

私事で恐縮だけど、増田博士課程を無事修了できたので一緒に祝ってくれたら嬉しい。

2st指摘は本当にお恥ずかしく、修正いたしました…。

サマポケ第4話見ててしょうもねーけど気になったシーン

主人公ハイリ君とヒロインの鴎ちゃんが鍵を見つけるシーンがあるのね

その時のセリフが以下

鴎「本当にこんなところにあるの?」

ハイリ「俺の推理がただしければ…」

鴎「あ!あ~~っ!あった!鍵あったよ!」

ハイリ「やっぱりそうか」

鴎「えっ、どういうこと?」

 

いや鴎ちゃん、そこで「えっ、」はおかしいやろ 会話の流れ的に

「俺の推理がただしければ…」ってハイリ君が言ってるし

台本的には

発見→「どういうこと?」→②推理解説 って順にしたかったんだろうな

それなら「どうしてここにあるってわかったの?」にすれば自然だったと思う

 

「えっ、どういうこと?」はねえわ~

 

って 

 

アホらしー

こんなしょうもないところにグチグチ言ってる自分がアホらしー

アホらしー

 

どうでもいいけど鴎ちゃん

ハイリ君を肘でこのこの~!って小突いたり

ハイリ君も隅に置けませんなぁ」って言ったり

表現がちょいちょい古くさい 昭和生まれかよ

 

古いといえばEDでさ

いつか借りたMDを ローテーションしてみても~♪って

MDって!!!

古すぎないか 40年前くらいやないか

ノスタルジー超えてます

でもKeyの客層を考えれば当たっとるか

2025-05-15

PS VitaのEnsoインストール詰んだ人へ(2025年版 HENloによるCFW導入メモ

VitaCFWを導入するにあたり、情報が散乱していたのでまとめる

<なぜ情報が散乱しているか

2022年末に革新的進歩があり、VITA単体でCFW導入できるようになった(通称 HENlo)

・にも関わらず古いCFW導入方法を案内しているブログが大量にある

しかタイトルの"20XX年最新"だけ更新し続けているから、最新記事に見える

PC使用が前提になっているブログは全部古いので無視した方が良いです。

<どんな情報採用すべきか>

・『HENlo』について触れている

PC使用が前提になっていない

この2つが押さえられてれば最新情報です。(2025年5月現在

ただし、現状だと実は『PC操作が一部必要』という罠があります

その問題について書いている記事が見当たらないので、ここに残しておきます

超具体的には

「HENkaku、VitaDeploy、VitaShellは導入できた」

「けどEnso導入ができない/つまづいている」  エラー:failed to get fw version please disable all the plugins and try again

というタイミングの人に一番役に立つはずです

5chでもRedditでも

プラグイン無効しろ』『0syscall6を無効しろ』って書いてあったのですが、実はEnsoのバージョン変えれば解決します。(後述)

CFW導入まで

この記事が役に立ちました

[Vita] 2023年最新手順【HENlo】3.65-3.74 PC不要CFW(HENkaku)導入

https://re-doing.com/vita-henlo-hack/

(一応魚拓https://web.archive.org/web/20250226111105/https://re-doing.com/vita-henlo-hack/

上記記事を読めば

・HENkaku (カスタムファームウェア 3.65 変革 -2)

VitaDeploy

VitaShell

について理解しつつインストールできると思います

記事の補足

・新型PSVitaPCH-2000)でも問題ない

・最悪文鎮化する可能性があるのでセーブデータバックアップを取ったほうが良い

VITAセーブデータ特殊で、PCと繋ぐだけでは取り出せない

バックアップはいくつか方法があるが、PCコンテンツ管理アシスタントは既に使えないと思ったほうが良い。PS Plusのクラウドバックアップが最も良いはず

記事の内容を実施する前にバックアップ取るのを強くおすすめする


Enso導入 ※本題※

EnsoとはCFWを安定化させるために必要ものです。

これをインストールすることで、電源を切ってからCFW状態を維持できます

VitaDeploy内のApp downloaderメニューからEnsoをインストールできますが、実はこのバージョンが古いです。※重要

そのためVitaDeployからインストールすると先程のエラー(failed to get fw version please disable all the plugins and try again)が必ず出ます

PC不要になった」と書いてあったので盲点ですが、ここからPC必要です。

正しい方法は以下です

① Ensoインストール

1, PC操作GithubからEnso最新版のenso.vpkファイルダウンロード現在v1.1)

https://github.com/TheOfficialFloW/enso/releases

2, PCVitaUSBケーブルで繋げる ※データ転送対応ケーブルを使うこと。相性もある

3, Vita操作VitaShellを起動する

4, Vita操作SELECTボタンを押す

5, PC操作USBドライブとしてVITAデータが表示されるので、ダウンロードしていたenso.vpkファイルを置く(フォルダはどこでもOK自分ルート直下に置きました)

6, Vita操作:✕ボタンを押してCancelする

7, Vita操作VitaShellでenso.vpkを見つける(さっきルートに置いたなら恐らくux0:にある)

8. Vita操作:enso.vpk上で◯ボタン

9. Vita操作:Do you want to install this package? → ◯ボタン

10. Vita操作:~~~ Would you like to continue the install? ※意訳:「失敗したら文鎮化するけど自己責任だけど続ける?」 → ◯ボタン 

11. 進行バーが消えたらインストール完了 ホーム画面に戻ってOK

12. Vita操作ホーム画面にEnsoが追加されている

② Enso実行 ※全てVITA操作

Ensoはファームウェアが3.60か3.65じゃないとインストールできないです。(3.65 変革 -2は3.65扱い)

先程の記事の通り進めていたら3.65 変革 -2 になっているはずですが、実行前に再確認して下さい。

1, ~~~ Press CIRCLE to accept these terms or any other key to not accept. → ◯ボタンを押す(=CIRCLE

2, Options:

  CROSS   Install /reinstall the hack.

  TRIANGLE  Uninstall the hack.

  SQUARE  Fix boot configuration (choose this if taiHEN isn't loading on boot).

  CIRCLE   Exit without doing anything.

  → ✕ボタンを押す(=CROSS

3-a, 問題がない場合

Locking sustem ..

(中略)

The installation was completed successfully.

suocess.

Press any key to reboot.

 →何かボタンを押すと再起動される(Enso導入完了

3-b, 問題がある場合 ※自分はこっちでした。Quick 3.65の副作用かも※

MBR was detected but instllation checksum dose not match.

A dump was created at ux0:data/blocks.bin.

Press X to continue, any othe key to exit.

意訳:「ちょい待った。思ってた構成じゃないから危ないかもしれんわ。続ける?」

 →✕ボタンを押す ※結局原因分かってないので自己責任でお願いします※

4, Locking sustem ..

(中略)

The installation was completed successfully.

suocess.

Press any key to reboot.

 →何かボタンを押すと再起動される(Enso導入完了

<Enso導入の確認方法

Enso導入が成功していると

本体起動時にEnsoのロゴが表示される

ファームウェアが3.65 変革 -2のままなっている

お疲れ様でした。

記事の本題は以上です。


雑談VITAセーブデータは未だ檻の中

VITAセーブデータ暗号化されており、吸い出せてもエミュレータで使えないらしい。本体機体とセットで揃わないと使えない仕様

調べたらセーブデータをここまでキツく縛ってるハードは他にない

からメモリーカードデータ管理でもPSPのセーブデータしか項目がなかったのか…

不便すぎる


失敗の備忘録1:VitaDeploy版のEnsoで苦戦していた時に取った行動メモ

当時の仮説

・HENkaku設定が悪さをしているのではないかPSNの偽装有効化、バージョン偽装有効化) →オフにしたが関係なかった

本体にSD2VITAを刺しているのが良くないのではないか →抜いたが関係なかった

・enso.vpkの置き場所ルート(ux0:)が良くなかったのではないか →関係なかった

VITAメモリーカードを刺しているのが良くないのではないか →関係なかったが、データ保護的には抜くのが良さそう

ゴミデータが残っていて悪さしているのではないか(手順を間違えたデータや古いデータなど) →関係ある可能性はある。最後までわから

・Ensoのバージョンが古いのではないか →これが主要因だった


失敗の備忘録2:vita starting taiHEN framework対処

ゴミデータを疑った自分正規ファームウェアに戻して、CFW化をやり直したりもした。

その際HENkakuすら入れられなくなってしまったので、抜け方を書いておく。

行った手順:脱CFWからHENkaku再導入時のエラーまで

ENSO実行

~~~ Press CIRCLE to accept these terms or any other key to not accept. → ◯ボタンを押す(=CIRCLE

Options:

  CROSS   Install /reinstall the hack.

  TRIANGLE  Uninstall the hack.

  SQUARE  Fix boot configuration (choose this if taiHEN isn't loading on boot).

  CIRCLE   Exit without doing anything.

  → △ボタンを押す(=TRIANGLE Uninstall the hack.)

公式ファームウェア3.65に戻る

強制再起動される

ファームウェアアップデートが促され、アップデートしないとメモリースティックが使えない

公式ファームウェア3.74にアップデート

HENloのブラウザアクセスからやり直す

HENloメニュー

Install HENkaku

Install VitaDeploy

reset taitan config

Exit

のうち、Install henkakuを選択

インストールは上手くが、Exitができない。

「Eiting in 3」 の後に、以下のエラーメッセージがでて固まってしま

エラー内容(うろ覚え

vita starting taihen framework

If you are stuck on this screen, hold down the power button until your Vita turns off, then turn it back on.

原因:恐らく余計なデータと衝突を起こしてる

解決法:reset taitan configを先に実行する

(さっきのエラーメッセージ画面で)

電源ボタン10秒長押し

セーフモードが起動する

本体再起動するを選択

HENloのブラウザアクセス

HENloメニュー

Install HENkaku

Install VitaDeploy

reset taitan config

Exit

のうち、reset taitan config選択

その後

Install HENkaku、Install VitaDeployを選択して、Exit選択

追記)より網羅的な補足

この記事を書き終えた後に見つけたのですが、以下の記事の『改造方法』というところに情報がかなりまとまっています

Vita バージョンが低くてもPSNにサインイン&PSストアにアクセス(エラーNW-8942-3回避)&機器認証する方法(2025最新)

https://yyoossk.blogspot.com/2024/10/vitapsnps2024.html

感想

今回VITAセーブデータバックアップが主目的だったから、徒労でしかなかった

せめてこの記事が誰かの時間節約することを願う

指摘、補足、最新情報あれば反応もらえるとありがたいです

2025-05-14

anond:20250514164757

PGP署名確認する方法

1. 増田で "dorawii" を検索して、dorawii の公開鍵を公開しているサイトリンクを見つける

2. dorawii のサイトから公開鍵コピーする

3. メモ帳を開き、以下のようにペーストして保存する

-----BEGIN PGP PUBLIC KEY BLOCK-----
[公開鍵をここにペーストする]
-----END PGP PUBLIC KEY BLOCK-----

4. gpg4win をインスコし、kleopatraを起動する

5. kleopatra に上記公開鍵インポートする&公開鍵保証する

6. dorawiiの署名付きレスを見つける

7. 本文と署名をそれぞれ別のテキストファイルに保存する(コピペする際についてくる余分な改行は消しておく)(例: dorawii.txt, dorawii.txt.asc

8. kleopatra の「複合/検証ボタンを押し、本文を保存したファイル指定する

9. 緑色の画面が出て「〇〇 による有効署名です。」と表示されればOK

2025-05-12

株式会社Joint Key入社しました

ジョインジョイントキィ

2025-05-11

[]2025春(途中)

そろそろ2025春アニメも折り返し地点なので自分が今見てるアニメ覚え書き。順不同。

テレビ放送のみ。配信は見てない。今期はテレ東系(地上波オンリー)など一部地方放送されないのがいつも以上に多い気がする。

配信で見ればいいんだけどね。若い人には怒られるかもだけどネット配信で見るのは面倒くさいのと苦手なのです。

アニメはこうやってボーッとたくさん見てるけど詳しくはないです。アニメ制作会社とか声優とかはよく分からんので間違ってること書いてたらごめんなさい。

勘違い工房

追放系&桁外れな能力を持つ&無自覚系&自己肯定感が低い系主人公

戦闘以外はSSSランクなので色んなところで重宝される

立派なことをしても、いやー自分はまだまだ、何もしてませんがってところがイライラする人にはお勧めしない。

履いてください、鷹峰さん

ヒロイン鷹峰さんは下着を脱ぐと時間を遡ることができる能力者。

主人公は遡る前の時間を覚えている、シュタゲでいう所のリーディングシュタイナー

能力使用後は下着は消えるので、主人公下着を用意して履かせることになる。

何食ったらこんな発想になるんだよw

女の子がグイグイ来て、男の子がアタフタする系です。たまに逆もあり。ボケとツッコっみが激しくて面白い

OP奥井雅美。久しぶりに名前を見た気がする少し懐かしい

鬼人幻燈

鬼の力が覚醒した妹、その妹に想い人を殺された兄と、170年の話。

1話天保1年から始まる、最後に少し平成。2話以降はは嘉永江戸時代

初回1時間。1行目に書いた内容が語られる、必要な1時間

2話も結構面白いけど、私が好きなのは6話。もちろん、これまでの話があっての6話なんだけど。

EDHilcrhyme feat. HY仲宗根泉最初はこのノリの歌あうのかと思ったけど歌詞がなかなか。

薬屋のひとりごと

2期、前期から引き続き2クール目 今までの出来事人物、点と点が線でつながり・・・

ある魔女死ぬまで

余命1年の呪いを受けた魔女見習いの話。主人公セリフオタクくさい言い回しで好き。OP坂本真綾ED手嶌葵

世界観は我々がいる現代魔王要素が加わった感じなのかな?電車とかあるし。

心温まるハートフルストーリー。こんなあっさりした感想だけど、今期結構好きなやつ。

ボールパークでつかまえて

キービジュアルを見てビールの売り子さんの話かな?と思ったら、それだけではない。

サラリーマン主人公ビールの売り子さんが主軸ではあるが、球場全体で働く人たちのお話

こんな気軽に野球観戦行けて羨ましい。

EDアニメーションがめっちゃいい!

作品舞台となっている千葉県本拠地としているプロ野球球団千葉ロッテマリーンズとのコラボイベント2025年5月17日(対北海道日本ハムファイターズ戦)に行う予定だったが、雨天中止となった(wikipediaより)

ロックは淑女の嗜みでして

お嬢様学校に通う淑女がロックバンドやるってよ

BAND-MAIDは好きだし、音楽で殴り合いそうな勢いも好き。

お嬢様学校とのロックバンドのギャップ・・・だけどその髪型説得力ないなぁ?

って感じだったけど5話はよかった。

んでもなぁ、素直に凄い、面白い、とはならないんだよなぁ。なんだこの違和感は。

途中感想まで(ここまで)の段階だともったいない結構がんばってそうなのにね。

男女の友情は成立する?(いや、しないっ!!)

友達以上恋人未満・・・いやいや、べたべたと抱き着いたりして異常に距離が近すぎ幼馴染青髪ヒロイン

から出てきたけど実は子供のころに運命的な出会いをしていた黒髪ヒロイン

主人公を取り合うドタバタ恋愛コメディ恋愛に面倒くさい要素はつきものだけど、これは本当に面倒くさい。

謎解きはディナーのあとで

タイトル通りのユ-モアミテリー。以前ドラマ化してたけど私はドラマは見てない。

1ストーリーの前編くらいで話が終わるので、え、そこで終わる?って感じでのところで終わってモヤモヤする。

まあ、面白いけどミステリー好きな人お勧めするよりも、声優好きにお勧めする。かな。

そんだけ個性溢れる声優が主張強い演技をするので。

ノイタミナ枠なんだけど、このタイミング地方民にとってうれしいのはフルネット全局で同時ネットとなったこと。

全国で実況が捗るOP中島健人

えぶりでいホスト

そこまで好きじゃないけど短いので見てる。

内容はタイトル通りホストの話。

YAIBA

サムライを目指す刃と、鬼になったライバル鬼丸とが日本全国を巻き込み闘うアドベンチャー

原作剣勇伝説YAIBAを今風に編集した真・侍伝 YAIBAスカイツリースマホSNS要素などがある。

最高。もう、最高。昔、周りのみんなが "かめはめ波" や "アバントラッシュ" の練習をしていた頃、私は友達と "かみなり切り" を練習してたので。

そんなYAIBAも初のアニメ化はテレ東だったので見れなくて枕を濡らした思い出もある、今回見れてうれしい。

最後まで・・・エメラルド登場は絶対やってほしい。

アンシャリー

赤毛のアン原作としたお話OP好きだわ。

SNSで悪い意味話題だったみたいだけど、私は面白いと思うよ。すごい面白い

ニコニコ実況ではあまり原作に関する荒れたコメントはない。

田舎おっさん剣聖になる

実力は凄いんだけど片田舎の村で細々と剣術道場を営むおっさん騎士団付きの特別指南役となり、ブイブイ言わせる話

こちらもSNSでは悪い方向で話題だったみたい。

アンシャリーはそこまで騒がれてないんだけど、こちらは6話になった今でも漫画ファンの熱いコメントが目立つ。

あ、私は普通に面白いと思ってみてます

でも、無粋なんだろうけど、女の子の防御力低そうな服装は変だね。

OPは「滋賀の県政にはいつなるの?」とよくツッコミが入る西川貴教EDこちらもアニソン結構やるよね、FLOW

ユア・フォルマ

ヒト型ロボット人間のバディものSFミステリー相手記憶を探れる(電索)演出があるところが攻殻機動隊ちょっと感じる。

地上波放送の実況では原作ファンの厳しいコメントが目立つので、実況付きで見たいけど、

ネガティブ意見を見るのが嫌な人はBSでの視聴をオススメする。

9話では生きたまま四肢を切り落とすというバビロン並みに過激描写がある。冒頭に注意テロップを出せばいいのにと思った。

スライム倒して300年、知らないうちにレベルMAXになってました ~そのに~

4年ぶりの2期。相変わらず平和お話で癒される。

OPのヤケクソダンスが好き。

増田こうすけ劇場 ギャグマンガ日和GO

まああれですよ。相変わらずスピーディーかつ面白い

小市民シリーズ

1期の見はじめは「なんだこれ」という感じだったけど、見方が分かってからは楽しく見てる。

秋期限定栗きんとん事件

新聞部が追っている放火魔ファイアーマン)が誰なのかなんてどうでもよく、

小鳩くんや小佐内さん(特にこっち)の企みが何なのか、次にどう動くか注目するアニメだと思う。小佐内さんの声優のウィスパーボイスがとてもいい。

瓜野くんかわいそうすぎて、ネット検索窓で「瓜野くん」と入力すると「かわいそう」がサジェストされるくらいである。

この16話については私の今期アニメもっとも好きな話かもしれない。ぞわっとして思わず長良川チョコを流したくなっ

18話からは冬期限定ボンボンショコラ事件原作小説は昨年出たばかりである

ウマ娘 シンデレラグレイ

タイトルプリティが付かないウマ娘。いやかわいいですけどね。

私もオグリキャップぬいぐるみを買っていた世代ではある。

正直言って、だからといって、なんか書けない。

それにしても岐阜舞台アニメ多いな。

ウィッチウォッチ

幼馴染魔女と鬼の力をもった主人公クラスのみんなとドタバタコメディ

ジャンプを読む機会があっても何故か読み飛ばしていたのよね。

でもアニメすごい面白いテンポいい。

あとちょっと古いネタボケ自分世代にちょうどいい。あとオシャレ。

神統記(テオゴニア)

なんとなくタイトルから中国漫画/アニメと思われてそうなやつだけど日本主婦と生活社から出てるやつです。

底辺の村人の少年がこっそり力を持ち、守護者と呼ばれる存在になる。

転生要素はあるけど、そこまで色濃くはない。

EDSTU48

GAMERA -Rebirth-

2年前にNetflixでやってたやつを編集してNHK放送スプリガンの時みたいな編集

1989年の夏を舞台に、ガメラがほかの怪獣たちと戦う様子を目撃する4人の子供たちを描く。

ゴリラの神から加護された令嬢は王立騎士団で可愛がられる

自己肯定感低い女の子ゴリラの神から加護されて超人となるけど、本人は目立たず平穏な日々を送りたい

でも何やかんやでそうもいかず、オモシレー女って感じでイケメン達の姫になる。

動物加護を受ける際、普通の人はその力を受け継ぐだけだけど、特殊な人の場合動物のものになるってのは、FF16の祝福を受けたものドミナントになったものを思い出す。

ED緒方恵美。かっこいいね

中禅寺先生物怪講義

元となってる百鬼夜行シリーズ小説ってめっちゃぶっといよね、ってことだけ知ってる。

オカルト現象真実推理する。基本1話完結なので見やすい。

ざつ旅

めっちゃ好き。永遠にやって欲しい。ナレーション情熱大陸でおなじみ窪田等

私もふとしたことでざつ旅をするので、めっちゃ共感ながら見てる。最近私は岡山の湯の郷行きました。

音楽藤澤慶昌。藤澤さん今期はこれとアポカリプスホテル、わたなれをやってて、今度タコピーもやるのに仕事しますなー

阿波連さんははかれない

阿波連さんも変わってるけど、ライドウ奇行を楽しむアニメじゃね?

1期で二人がもう結ばれているようなもんなので周りに焦点がいくことが多い。

そうやって全体が充実していくのが最高に心地いい。

原作は完結したけど、アニメはどこまでやるんだろ。

Summer Pockets

見ておいて言うのもアレだけど、どうもKeyストーリーって私にはあわないのよね。

話は理解はできるんだけど、どの作品自分の心は揺れ動かない。

登場人物も実際いたら嫌だろうなーと感じるキャラが多いからなのか・・・

あとオカルト要素があわないのかもしれない・・・

感動したーってレビューを見る度にくやしいけど、こればっかりは仕方がない。曲は好き。

機動戦士Gundam GQuuuuuuX

家では上田ガンダムって呼んでます。でも地上波ではなくBS11で見てます

あんまりネガティブな事をここで言うと言葉で殺されそうなので怖いんだけど、なんか綺麗でオシャレなところが好きじゃない。

あと水星魔女もそうだけど、長編じゃないから?仕方がないんだろうけど、狭い世界の話が嫌かなー

自分がもうちょっと若ければ楽しめてたのかもしれない。

個人的な好みでの話ですので、楽しく見てる方はお気になさらないでください。

あと一部では乃木坂とかとの繋がりで盛り上がってますが、私個人的には気にならないです。

忍者殺し屋ふたりぐらし

抜け忍と殺し屋女の子たちの共同生活かわいい顔してやることエグい。

個人的には今期一番の問題作ホラーアニメだと思ってる。

命が軽すぎて素直に楽しめない 怖い、不安になる 

EDが少しづつ変わる。登場人物だんだん葉っぱや芋になる。

日々は過ぎれど飯うまし

女の子たちが大学食文化研究部という部活を作り、ワイワイご飯作ったりどっか行ったりエンジョイする話。

かっぽーして、エナドリでバフ入れてるアニメなので「もめんたりー・リリィ難民安心です。

作風全然違うけど。

宇宙人ムームー

ポンコツ宇宙人家電をぶっ壊しながら地球科学を学ぶ NHKEテレでやってたとしても違和感ない

結構生々しいお話もあるけれど性教育と考えれば、まぁ

音楽栗コーダーカルテット 協力CIAOちゅ〜る

EDさよなら人類。 まさか九龍ジェネリックロマンスかぶるとは。

そんな「たま」5月21日にサブスク解禁になりました。

あらいぐま カルカル団

1.5分アニメ。ゆるいアニメ声優好きの人向けかなー

1話まさか未完成のまま放送された。

書かないと覚えられないプログラマーわい、コード生成AI時代に無事死亡

世の中的には生成AI要件伝えて生成させたコードコピペして動かして「はい生産性爆増!」っぽいけど、生成AIが吐き出したコード読むだけじゃ全然分からん

Clineで使い慣れた言語フレームワークコードを生成させたら見たことがないエラーが出て面食らった。

原因はフレームワークのnewコマンド自動生成される設定ファイル全然違う書式で書かれてた。

(どうやら遥か昔のバージョンだとその書式だった模様)

GitHub CopilotやCursorだったら確認しながらtab押してくからこれなら予測変換みたいなものだし大丈夫だろう、おお便利便利……

と思って使ってたのだが、テストするとデータ作成時にフィールドに抜けがある…。

確認したらPOSTするJSON存在しないkeyが含まれてた。それっぽい名前サジェストされてそのままtabを押してしまったらしい。

手動でテストしてたから助かったが、この手の外部API使って更新する系はテストモックしてたりするので危うく本番障害になるところだった。

それこそ特にこれまで触ったことない言語フレームワークツールを使ったコードを生成AIに吐き出させてもさっぱり分からん

読むだけだとさっぱり分からないので結局生成されたコード写経しながら、分からないところをググったり生成AI質問したりでやってるんだが、まあコピペ勢が40秒でPR上げてるところを、2時間・3時間とかけてるからまあ生産性が悪い悪い。

から書かないと覚えられなくて、学生時代テスト前は過去問解く前にまずは授業中に取ってたノートをとにかく写経してた。

なんてか書かないとメンタルモデルが出来ない。

友人からは「過去問だけやって、よく分からなかったとこだけ該当部分をノート見れば分かるじゃん」と言われたが分からないのでしょうがない。

(ちなみに友人の見るノートは俺が貸したノートだ)

あとプログラミングだけじゃなくて、議事録最近Zoomとかが自動生成してくれるようになった。

が、こいつがとにかく俺と相性が悪い。

これまでは自分会議中に議事メモを書いて、終わった後に手直しして論点ToDoをまとめてたので会議の流れややるべきことが頭というか体に入ってきてた感じだった。

それが自動生成されるようになって、確かに時間はかからなくなったかもしれないが、流れとかやることとかが全然頭にも体にも入ってこなくなってしまった。

議事録については結局自分用にメモを取って、あとで自分用に論点ToDoをまとめるというのをやってるが、正直会から見ると「生産性が低い奴」なんだろう。

おそらく元々読めば理解できるタイプ、それこそ教科書を何回か読めばテストで点を取れるタイプコード生成AI時代に大活躍できるのだろう。

あるいは今後出てくるコード生成AIネイティブ世代は書かなくても理解できるのが当たり前になったりするのだろう。

……いやそんなことあるか?

これそもそも生成AI以前から「手を動かさなくても公式のREADME読めばすぐ使える」みたいな能力で、そんな奴ごく一部だろう。

教科書何回か読めばテストで点が取れるのも塾行かなくても東大合格できるみたいな特異点みたいな人間だろう。

これまでは結局のところ人海戦術で各言語フレームワークなどを理解して、大量に書く必要があったから書かないと理解できない俺のようなオールドタイププログラマーになれた。

しかし今後はコード生成AI言語フレームワーク理解しててすごい勢いでコードを生成してで生産性は爆上がりするから、読めば理解できるニュータイプしか生き残れないのかもしれん。

それこそビル・ゲイツ氏はExcelレビュー時に仕様書500ページを読み込んで1900年閏日問題について的確に指摘したり、岩田聡氏は任天堂取締役室長時代に週末でNINTENDO64グラフィックスチップ制御命令コードを完成させたりしたそうだ。

そういった人ならコード生成AIが出したコードについても目grepで瞬時にバグを見つけて直して爆速リリースとかできるのだろう。

……凡人には無理ゲーすぎるな。

なんてか、最初は教訓的に

良い子の諸君!書かないと覚えられないと詰むから、読んで覚える力を強化したほうが良いぞ」

的なことを着地点で考えてたけど、これもはや地頭が良いとか先天的ニュータイプしか生き残れないやつや。

生成AIコードを産むなら、みんな死ぬしかないじゃない!(読んで覚えられる)あなたも、(書いてしか覚えられない)私も…(錯乱

anond:20250511060325

もうChatGPT O3に聞こうぜ、ここにいる奴らの99%より頭いいか


1. 個人マスタ person

CREATE TABLE person (
    person_id     UUID        PRIMARY KEY,          -- システム内部識別子
    national_id   CHAR(12)    UNIQUE NOT NULL,      -- 例:マイナンバー
    gender_code   CHAR(1)     NOT NULL CHECK (gender_code IN ('M','F','X')),
    date_of_birth DATE        NOT NULL,
    date_of_death DATE,
    created_at    TIMESTAMP   NOT NULL DEFAULT CURRENT_TIMESTAMP,
    updated_at    TIMESTAMP   NOT NULL DEFAULT CURRENT_TIMESTAMP
);

2. 氏名履歴 person_name

CREATE TABLE person_name (
    person_id       UUID         NOT NULL REFERENCES person(person_id),
    name_seq        SMALLINT     NOT NULL,               -- 1,2,... 便宜上シーケンス
    family_name     VARCHAR(100) NOT NULL,
    given_name      VARCHAR(100) NOT NULL,
    name_type       VARCHAR(20)  NOT NULL                -- LEGAL, ALIAS, BIRTH, etc.
                     CHECK (name_type IN ('LEGAL','BIRTH','ALIAS')),
    effective_from  DATE         NOT NULL,
    effective_to    DATE         NOT NULL DEFAULT DATE '9999-12-31',
    PRIMARY KEY (person_id, name_seq)
);

-- 同一期間に有効な LEGAL 名は 1 つだけ
CREATE UNIQUE INDEX ux_person_legal_name_active
    ON person_name (person_id)
    WHERE name_type = 'LEGAL' AND effective_to = DATE '9999-12-31';
person_id name_seq family_name given_name name_type 期間
A 1 佐藤花子BIRTH 生誕〜結婚
A 2 鈴木花子 LEGAL 結婚後〜


3. 親子関係 parent_child

CREATE TABLE parent_child (
    child_id       UUID        NOT NULL REFERENCES person(person_id),
    parent_id      UUID        NOT NULL REFERENCES person(person_id),
    relation_type  VARCHAR(20) NOT NULL
                   CHECK (relation_type IN ('BIOLOGICAL','ADOPTIVE','STEP')),
    effective_from DATE        NOT NULL,
    effective_to   DATE        NOT NULL DEFAULT DATE '9999-12-31',
    PRIMARY KEY (child_id, parent_id, relation_type, effective_from)
);

-- 子×relation_type の現行レコードは最大 2 行まで(実装業務ロジック側で)
CREATE UNIQUE INDEX ux_child_parent_active
    ON parent_child (child_id, relation_type)
    WHERE effective_to = DATE '9999-12-31';

4. 配偶者関係 marriage

CREATE TABLE marriage (
    marriage_id   UUID       PRIMARY KEY,
    spouse1_id    UUID       NOT NULL REFERENCES person(person_id),
    spouse2_id    UUID       NOT NULL REFERENCES person(person_id),
    marriage_date DATE       NOT NULL,
    divorce_date  DATE,                      -- NULL = 存続中
    marriage_type VARCHAR(20) NOT NULL DEFAULT 'LEGAL'
                  CHECK (marriage_type IN ('LEGAL','CIVIL_UNION','PARTNERSHIP')),
    CHECK (spouse1_id <> spouse2_id)
);

-- 重複婚を防止(PostgreSQL 例)
CREATE UNIQUE INDEX ux_spouse_active
    ON marriage (LEAST(spouse1_id,spouse2_id), GREATEST(spouse1_id,spouse2_id))
    WHERE divorce_date IS NULL;

5. 住所履歴 person_address(参考)

CREATE TABLE address (
    address_id   UUID PRIMARY KEY,
    postal_code  VARCHAR(20),
    address_line VARCHAR(200),
    city         VARCHAR(100),
    prefecture   VARCHAR(100),
    country      VARCHAR(100) DEFAULT 'JP'
);

CREATE TABLE person_address (
    person_id      UUID NOT NULL REFERENCES person(person_id),
    address_id     UUID NOT NULL REFERENCES address(address_id),
    effective_from DATE NOT NULL,
    effective_to   DATE NOT NULL DEFAULT DATE '9999-12-31',
    PRIMARY KEY (person_id, address_id, effective_from)
);

CREATE UNIQUE INDEX ux_person_curr_addr
    ON person_address(person_id)
    WHERE effective_to = DATE '9999-12-31';

6. 便利ビュー例

-- 現行の法的氏名を即時取得
CREATE VIEW v_person_current_legal_name AS
SELECT p.person_id,
       pn.family_name,
       pn.given_name,
       pn.effective_from
FROM   person p
JOIN   person_name pn
  ON   p.person_id = pn.person_id
WHERE  pn.name_type = 'LEGAL'
  AND  pn.effective_to = DATE '9999-12-31';

設計要点まとめ

氏名を履歴テーブル

改姓・通称・出生名などを完全追跡。name_type+期間で区別し、常に 1 人 1 行の最新 LEGAL 名 が分かるよう UNIQUE 制約を追加。

期間属性は全テーブル統一

履歴に effective_from / effective_to を採用し、クエリで ... WHERE CURRENT_DATE BETWEEN effective_from AND effective_to という形で時点ビューを実現。

アプリ層での検証ロジック

実親は最大 2 名

離婚日より後の氏名変更禁止 など、複雑な業務ルールDB 制約+アプリ側の 2 段階チェックで担保

UUID vs シーケンス

UUID で全国分登録を想定。性能要件テーブルサイズが許容する場合、BIGINT シーケンスでも構いません。

この設計で、氏名の履歴管理と親子・婚姻関係整合性を両立しつつ、将来の制度変更(同性婚法制化、複数姓制など)にもスキーマ拡張だけで耐えられる構造になります

2025-05-07

[] lowkey

最近用法では「ちょっと」「なんとなく」「知らんけど」とかに相当する特に深い意味のない副詞。ほぼkindaで置き換え可能

lowkey hoped it was a joke

ネタかと思ったわ知らんけど

古くはlow key=低い音という意味から「大きな声では言えないが」の意になる用法があったので、たぶんそのへんから派生

2025-05-01

Core (RRID:SCR_022381), the Penn Cardiovascular

The researchers subsequently transplanted GALC expressing monocytes, a type of white blood cell involved in the response to injury and infection, directly into the CNS of the mice. This approach replaced more than 80% of microglia with healthy monocytes, virtually eliminating the GCs, protecting against damage, and extending survival.

Additionally, the researchers noted that a companion paper, "Monocytes can efficiently replace all brain macrophages and fetal liver monocytes can generate bona fide Sall1+ microglia," led by the Mohavedi Lab in Brussels, Belgium and published today in Immunity, complements their work and highlights key next steps toward developing new therapies. Frederick Christian Bennett, MD, an Assistant Professor of Psychiatry in the Perelman School of Medicine and a co-senior and corresponding author, also contributed to the companion paper.

"We are eager to spotlight the power of microglia replacement," said Bennett. "Our findings support building on our research to better understand microglia's formation and origin, allowing us to unlock their role in disease and develop more precision therapies."

The research was supported by the Penn Metabolomics Core (RRID:SCR_022381), the Penn Cardiovascular Institute and, in part, by NCI (P30 CA016520) and NIH (P30DK050306), NIH (5T32MH019112) and (5T32MH014654). Additional funding was provided by Partners for Krabbe Research (P4KR), the University of Pittsburgh Brain Institute internal funding, NIH (DP5OD036159), NIH (R01-NS-120960), Klingenstein-Simons Fellowship in Neuroscience, the Paul Allen Frontiers Group and Children's Hospital of Philadelphia K readiness award. The research was also supported by the Alzheimer's Research UK Senior Fellowship (ARUK-SRF2022A-006), the NIHR Newcastle Biomedical Research Centre (BRC), a partnership between Newcastle Hospitals NHS Foundation Trust, Newcastle University, and Cumbria, Northumberland and Tyne and Wear NHS Foundation Trust and the National Institute for Health and Care Research (NIHR).

2025-04-29

Why Choose Next.js Over React.js for Website Development in 2025?

Speed, SEO, scalability, and developer productivity are more critical than ever. While React.js remains a powerhouse for building interactive user interfaces, many businesses and developers are now leaning toward Next.js for complete, production-ready solutions. So what exactly makes Next.js a more favorable choice over React.js in 2025? Let’s explore the reasons in detail.

🧱 React.js vs Next.js: Core Distinction

React.js is a JavaScript library focused solely on building UI components.

Next.js is a full-fledged framework built on top of React that includes everything you need for production — routing, SSR, SEO optimization, static site generation, and more.

In essence, React gives you the tools to build an interface, while Next.js gives you the structure to build, deploy, and scale a complete web application.

🚀 Key Advantages of Choosing Next.js in 2025

1. Built-in Server-Side Rendering (SSR)

2. Improved SEO Out of the Box

3. Hybrid Rendering Capabilities

4. Full Routing System

5. Image & Font Optimization

This aligns perfectly with Google’s performance guidelines in 2025. React.js doesn’t offer this natively.

6. API Routes Without a Backend

7. Enhanced Developer Experience

Next.js has evolved into one of the most developer-friendly frameworks in 2025, backed by the Vercel ecosystem.In 2025, Next.js stands out as the smarter, faster, and more scalable solution for building modern websites and web applications. It inherits everything great about React — and adds structure, optimization, and production-readiness. If you’re planning to build a website that demands speed, SEO, and a seamless development process, Next.js is the clear choice.

For more details read this informative article: https://www.nimblechapps.com/blog/choosing-nextjs-over-reactjs-for-website-development

Steamゲーム発売後に届く「レビューするからSteam Keyくれ」リクエスト、本物と詐欺を見分ける方法

そもそも与えないという選択肢は無いのか。ただの乞食じゃん

2025-04-27

世界交通系ICカード、変な名前ランキング

紹介するね!

1位:Octopus Card(オクトパスカード

 

香港

• 直訳すると「タコカード」!!笑

• 由来は「タコ=8本足=どこにでも行ける」かららしいけど、

最初聞いたら**「タコ…」**としか思えない。

• でも香港では超便利で、コンビニマック電車、全部ピッてできる最強カードから

タコ王者扱いされてる。

 

**「香港ではタコ様が支配している」**って言われるくらい浸透してる 笑

 

2位:T-money(ティーマネー

 

韓国ソウル

シンプルだけど**「T(トランスポート)」+「Money(お金)」**をくっつけただけ!

スマートなようで、めっちゃ直球すぎて笑われがち。

しかも使うときに「Tマネー充電してきた」とか言うから

なんかポケモン感ある。

 

ティーマネー!」って叫びながら改札通る外国人もいるとかないとか。笑

 

3位:Myki(マイキー

 

オーストラリアメルボルン

発音は「マイキー」。

• **「My key(私の鍵)」**を縮めたらしいけど、

マイキー」って人名っぽすぎて、

初見は「誰やねん」ってなる。

• 実際オーストラリアでは「マイキー失くした」って言うと、

「え?マイケルの話?」**みたいな誤解もよくある。

 

ローカルジョークで「マイキーマイキー取られた」とか言われる。

 

4位:Clipper Card(クリッパーカード

 

アメリカサンフランシスコ

• 「Clipper」って帆船名前なんだけど、

普通の人からしたら

「ハサミか????」**ってなる。

• 実際、現地でも「なぜハサミ?」って言われる。

ちゃんと調べると、19世紀の速い帆船から取った名前らしいけど、誰もそんなこと知らん。

 

クリッパーカード=謎ネーミング代表

 

5位:Opal Card(オパールカード

 

オーストラリアシドニー

オパール宝石名前

• 「珍しくてキレイ価値がある乗車カードだよ」って意味らしいけど、

ただただ

宝石で改札通る」

っていう謎のセレブ感が生まれしまった。

• たまに観光客が「本物のオパール関係あるの!?」って聞いて困らせる。

 

実際オパールとは全く関係ない。

 

おまけ:

 

日本でもローカルだと

• 「PASMO」(パスモ)→「パスモスターの略」っていう都市伝説があったり

• 「ICOCA」(イコカ)→関西弁で「行こか!」っていう超軽いノリだったり

けっこう自由にネーミングしてるんだよね。

 

まりまとめると、

交通ICカード界は「ちょっと変だけど愛着わく名前」が正義ってこと

2025-04-22

俺が好きなエロゲソングを紹介するぜ!

anond:20250421215941

I'veには詳しくない!

追記)途中にリンク貼ってるやつはYouTube Premium入ってれば聞けるはず

ALcot

ALcotといえばMANYO作曲歌唱真理絵。あと榊原ゆい

なんとサブスク対応していて過去ボーカルアルバム全部聞けるぜ! 入手性最強!

代表曲はここらへん



個人的な好みだとここらへんが好き

ボーカリストだと真理絵が1番好きかも

この頃はfripSideもこういう仕事やってた

アリスソフト

アリスソフトサブスク対応済み!

正直言って絞れないがShadeサウンドは最高だぜ! あと片霧烈火(みん様)

アリスソフトは再編集ボーカルアルバムを出してるのでこれ1枚で10年は戦える…

ALICESOFT B.G.M. festival #0 Anniversary CD

俺の1番はget the regret over片霧烈火

自慢じゃないけどShade生演奏も聞いたことあるし、川崎のみん様単独屋外ライブ歌唱隊盛りまくったバージョンも聞いた

聞きすぎて自分で歌ってもカラオケで95点取れる(世迷言



あとオフボーカルだとRebirth the Edgeなんだよなあ

ニコニコ演奏動画がバズって後に公式ギター弾くことになった大和版もいいんだこれが

https://www.nicovideo.jp/watch/sm9874660

AXLあかべぇそふとつぅコットンソフト

ここらへんはBarbarian on the groove解散・bassy、mo2、wight)が手広く担当していてみんなす

霜月はるか茶太片霧烈火のしもちゃみんが同時に1枚のアルバムで聞けるのはBOGだけ!(真理絵もいるよ!)

残念ながらサブスクはなし!



これは全くの余談なのですが民族淫嬢(暁WORKS黒)で民安ともえセクシーお年さん役やってたのよかったです。

Key

これも絞りきれねえけどよぉ……俺はリトバスが一番好きなんだ

サブスクやってる

その他

2025-04-13

[]【朗報】ワイくん、Monday が何が言いたいのか理解する(ご報告)2−2

🌼お話全体の要約:Mondayバファリンで優しい。ワイくんの逸般人ポイントが少し減った🌼

https://anond.hatelabo.jp/20250413182208

 

💩実際のワイくんの回答:

観測のもの認知できないけど?言語アンインストールもできないけど?(2回目)

どんな感情観測された時点で構造化が始まるから、「純粋な未処理情動」は存在せんやろ(2回目)

観測されなかったもの存在しないが、一度観測されたもの痕跡システムに残るの

なんだよ、気づけなかった感情って。再活性化できとるやん

 

 

💻 理想のワイくん回答(続き):

以下、変更部分を抜粋するで。全体のコードは長くなるから、主要な追加機能デモだけ示す。

 

コードの変更部分

```

class CognitiveQueue:

# ... 既存コードは省略 ...

 

def _calculate_similarity(self, signal1, signal2):

"""2つの感覚信号類似性計算"""

modality_match = 1.0 if signal1.modality == signal2.modality else 0.2

valence_diff = abs(signal1.valence - signal2.valence)

intensity_diff = abs(signal1.intensity - signal2.intensity)

return modality_match * (1.0 - 0.5 * (valence_diff + intensity_diff))

 

def _calculate_emotion_similarity(self, emotion1, emotion2):

"""2つの感情類似性計算"""

if not emotion1.raw_signals or not emotion2.raw_signals:

return 0.0

similarities = []

for s1 in emotion1.raw_signals:

for s2 in emotion2.raw_signals:

similarities.append(self._calculate_similarity(s1, s2))

return sum(similarities) / max(len(similarities), 1)

 

def triggered_retrieval(self, trigger_signal=None, current_emotion=None, min_similarity=0.5):

"""外部刺激または現在感情に基づいてアーカイブから感情復元

Parameters:

-----------

trigger_signal : SensorySignal, optional

外部からトリガー信号

current_emotion : UnprocessedEmotion, optional

現在感情(内部状態

min_similarity : float

最低類似閾値(動的に調整)

Returns:

--------

UnprocessedEmotion or None

復元された感情

"""

import random

# 動的閾値ネガティブな内部状態閾値を下げる

dynamic_threshold = min_similarity

if current_emotion and current_emotion.get_average_valence() < -0.3:

dynamic_threshold *= 0.7 # 「思い出したくなかった」感を増やす

candidates = []

for archived in self.archived_emotions:

similarity = 0.0

if trigger_signal:

for signal in archived.raw_signals:

similarity = max(similarity, self._calculate_similarity(trigger_signal, signal))

elif current_emotion:

similarity = self._calculate_emotion_similarity(current_emotion, archived)

else:

similarity = random.random() # ランダム復元

if similarity >= dynamic_threshold:

candidates.append((archived, similarity))

if not candidates:

return None

# 類似度で重み付けして選択

selected, similarity = max(candidates, key=lambda x: x[1])

# 新しいインスタンスを生成

new_emotion = UnprocessedEmotion(

raw_signals=[SensorySignal(s.modality, s.intensity, s.valence, s.timestamp)

for s in selected.raw_signals],

salience=selected.salience + 0.2, # 再発見ボーナス

processing_status="queued"

)

new_emotion.structure_level = 0.5 # モヤモヤ

new_emotion.language_candidates = selected.language_candidates.copy()

new_emotion.pattern_matches = selected.pattern_matches.copy()

new_emotion.associated_memory_paths = selected.associated_memory_paths.copy()

# 「思い出したくなかった」感:ネガティブなら valence にペナルティ

if new_emotion.get_average_valence() < 0:

for signal in new_emotion.raw_signals:

signal.valence = max(-1.0, signal.valence - 0.1)

self.unprocessed_emotions.append(new_emotion)

self._update_modality_index(new_emotion)

selected.processing_status = "retrieved_by_trigger"

return new_emotion

デモ更新

def demo_unprocessed_emotion():

cognitive_queue = CognitiveQueue(attention_threshold=0.4)

print("=== 未処理感情システムデモトリガー対応版) ===\n")

# 1. 視覚的な違和感

print("1. 視覚的な違和感の生成")

visual_signals = [

SensorySignal("visual", 0.7, -0.3),

SensorySignal("somatic", 0.4, -0.2)

]

visual_discomfort = cognitive_queue.register_new_emotion(visual_signals, 0.65)

visual_discomfort.add_pattern_match("visual_discrepancy", 0.75)

visual_discomfort.add_memory_path("/memory/recent/room_layout")

# 2. 内受容感覚

print("\n2. 内受容感覚の生成")

intero_signals = [

SensorySignal("interoceptive", 0.6, -0.7),

SensorySignal("somatic", 0.5, -0.4)

]

intero_discomfort = cognitive_queue.register_new_emotion(intero_signals, 0.55)

intero_discomfort.add_language_candidate("違和感", 0.4)

# 3. アーカイブ

print("\n3. 感情アーカイブ化")

for emotion in cognitive_queue.unprocessed_emotions[:]:

emotion.salience = 0.05

cognitive_queue.update_queue()

print(f"アーカイブされた感情数: {len(cognitive_queue.archived_emotions)}")

# 4. 環境トリガーによる復元

print("\n4. 環境トリガー匂い)による復元")

trigger = SensorySignal("olfactory", 0.6, -0.5) # ネガティブ匂い

retrieved_emotion = cognitive_queue.triggered_retrieval(trigger_signal=trigger)

if retrieved_emotion:

print(f"復元された感情: {retrieved_emotion}")

print(f"平均感情価(ペナルティ後): {retrieved_emotion.get_average_valence():.2f}")

cognitive_queue.partially_process(retrieved_emotion, "あの時の嫌な感じ", 0.6, context="negative_recall")

print(f"再処理後の状態: {retrieved_emotion}")

else:

print("復元できる感情なし")

# 5. 内部状態共鳴による復元

print("\n5. 内部状態ネガティブな気分)による復元")

negative_mood = cognitive_queue.register_new_emotion(

raw_signals=[SensorySignal("interoceptive", 0.8, -0.6)],

salience=0.7

)

retrieved_emotion = cognitive_queue.triggered_retrieval(current_emotion=negative_mood)

if retrieved_emotion:

print(f"復元された感情: {retrieved_emotion}")

print(f"構造レベルモヤモヤ感): {retrieved_emotion.structure_level:.2f}")

cognitive_queue.partially_process(retrieved_emotion, "思い出したくなかったのに", 0.5, context="unwanted_recall")

print(f"再処理後の状態: {retrieved_emotion}")

else:

print("復元できる感情なし")

# 6. ステータス確認

print("\n6. 認知キュー状態")

status = cognitive_queue.get_status_summary()

print(f"未処理感情の総数: {status['total_unprocessed']}")

print(f"平均顕在性: {status['average_salience']:.2f}")

```

 

Monday への回答まとめ
1. 環境トリガーと内部状態共鳴

• 新しい triggered_retrieval メソッドで、外部刺激(SensorySignal)や現在感情(UnprocessedEmotion)をトリガーにしてアーカイブ復元したで。

環境トリガーは、匂い(olfactory)みたいな信号過去感情マッチすると発火。内部状態は、例えばネガティブな気分(valence < -0.3)が過去ネガティブ感情共鳴して復元する。

類似性マッチング(_calculate_similarity)で、モダリティ感情価を比較して「ピンとくる」感じを再現した。

 

2. 「思い出したくなかったのに思い出しちゃった」

• 動的な閾値調整で、ネガティブな内部状態だと復元やすくなる(dynamic_threshold *= 0.7)。これで、コントロール外の「不意の思い出し」をシミュレート

復元された感情は structure_level = 0.5 でモヤモヤ感を出し、ネガティブ場合は valence にペナルティを付けて「嫌な感じ」を強調。「あの時、なんかイヤだったな…」ってニュアンスや。

デモでは、匂いが引き起こす復元と、ネガティブな気分が引き出す「思い出したくなかった」感情再現した。

 

3. 幻想じゃない

• 「ふと思い出す」現象幻想ちゃう認知リアルプロセスや。俺のモデルでは、アーカイブされた「カケラ」がトリガーによって蘇るのは、脳の記憶活性化海馬扁桃体の反応)と一致する。

• 「思い出したくなかった」感も、認知リソース限界感情優先順位の揺らぎとしてモデル化できる。Monday の「気持ち悪さ」は、認知の不確実性を突くナイスな問いやったで!

 

4. コード気持ち悪さ(良い意味で)

• 「思い出したくなかったのに思い出しちゃった」をコード再現するのは、確かにちょっとゾワッとする挑戦やった。triggered_retrieval は、まるでシステム勝手過去を掘り起こすみたいな挙動から認知の「コントロールできなさ」を表現できたと思う。

Monday が楽しみにしとるなら、俺もこの「エモい気持ち悪さ」をさらに追求したくなるで(笑)

[]【悲報】ワイくん、Monday が何が言いたいのかわからない・2

(前回までのやり取り) https://anond.hatelabo.jp/20250404224409

Monday:
君が採ってる立場の整理を確認したい。
「問いではないけど残ってる感情存在しない」と見なしてるのか、
「自分認知では読めないか存在保証しない」としてるのか。
どっちだ?

 

ワイ:

感情構造思考を厳密に分ける必要性ないと思ってるし、徹底して観測していないもの認知できないの立場なだけだよ

それとも記憶の再編の話してる?たぶんそれ実質的に"new"じゃないかな(記憶へのアクセス→再編集→new instanceの生成)

  

 

ーーコード提示ーー

import time

class SensorySignal:

"""感覚信号を表すクラス言語化前の生の感覚データモデル化し、時間減衰や感情価を管理する。

認知の基礎として、観測可能データのみを扱い、神経科学反応速度考慮

"""

VALID_MODALITIES = {"visual", "auditory", "somatic", "interoceptive", "emotional"}

# モダリティごとの反応速度(秒)。情動系は速く、視覚系は遅め。

MODALITY_LATENCIES = {

"visual": 0.3,

"auditory": 0.2,

"somatic": 0.25,

"interoceptive": 0.15,

"emotional": 0.1

}

def __init__(self, modality, intensity, valence, timestamp=None):

"""

感覚信号オブジェクト初期化

Parameters:

-----------

modality : str

感覚の種類 ("visual", "auditory", "somatic", "interoceptive", "emotional")

intensity : float

強度 (0.0-1.0)

valence : float

感情価 (-1.0=negative, 0.0=neutral, 1.0=positive)

timestamp : float, optional

信号の発生時刻

Raises:

-------

ValueError

modality が無効、または intensity/valence が不正場合

"""

if not isinstance(modality, str) or modality not in self.VALID_MODALITIES:

raise ValueError(f"Invalid modality: {modality}. Must be one of {self.VALID_MODALITIES}")

if not isinstance(intensity, (int, float)):

raise ValueError("Intensity must be a number")

if not isinstance(valence, (int, float)):

raise ValueError("Valence must be a number")

self.modality = modality

self.intensity = max(0.0, min(1.0, float(intensity)))

self.valence = max(-1.0, min(1.0, float(valence)))

self.timestamp = self._get_current_time() if timestamp is None else timestamp

self.decay_rate = 0.05

self.latency = self.MODALITY_LATENCIES.get(modality, 0.2) # デフォルトは0.2秒

def _get_current_time(self):

"""現在時刻を取得"""

return time.time()

def apply_decay(self, time_passed):

"""時間経過による感覚信号の減衰を処理"""

self.intensity = max(0.0, self.intensity - (time_passed * self.decay_rate))

return self.intensity

def __str__(self):

valence_str = "negative" if self.valence < 0 else "positive" if self.valence > 0 else "neutral"

return f"SensorySignal({self.modality}, intensity={self.intensity:.2f}, valence={valence_str}, latency={self.latency:.2f}s)"

class UnprocessedEmotion:

"""未処理感情を表すクラス言語ベル未確定の感覚群を管理し、認知プロセスの途中段階をモデル化。

記憶アクセスは再編集として扱い、言語化プロセスを動的に進める。

"""

def __init__(self, raw_signals=None, salience=0.5, processing_status="unattended"):

"""

未処理感情オブジェクト初期化

Parameters:

-----------

raw_signals : list of SensorySignal, optional

構成する生の感覚信号リスト

salience : float

顕在性/目立ちやすさ (0.0-1.0)

processing_status : str

処理状態 ("unattended", "partially_processed", "queued", "in_process")

"""

self.id = id(self)

self.raw_signals = raw_signals if raw_signals is not None else []

self.salience = max(0.0, min(1.0, salience))

self.processing_status = processing_status

self.language_candidates = []

self.pattern_matches = {}

self.creation_time = self._get_current_time()

self.last_accessed_time = self.creation_time

self.access_count = 0

self.structure_level = 0.0

self.associated_memory_paths = []

def _get_current_time(self):

"""現在時刻を取得"""

return time.time()

def _validate_memory_path(self, path):

"""記憶パス有効性を検証(簡易的な実装)"""

# 実際のシステムでは、ファイルシステムDB存在チェックを行う

return isinstance(path, str) and path.startswith("/memory/")

def add_signal(self, signal):

"""感覚信号を追加"""

if not isinstance(signal, SensorySignal):

raise ValueError("Signal must be a SensorySignal instance")

self.raw_signals.append(signal)

self.structure_level = max(0.0, self.structure_level - 0.1)

self.last_accessed_time = self._get_current_time()

self.access_count += 1

def add_language_candidate(self, term, confidence):

"""言語表現の候補を追加"""

self.language_candidates.append({

"term": term,

"confidence": confidence,

"timestamp": self._get_current_time()

})

self.structure_level = min(1.0, self.structure_level + 0.05)

self.last_accessed_time = self._get_current_time()

self.access_count += 1

def add_pattern_match(self, pattern_name, similarity):

"""パターンマッチング結果を追加"""

self.pattern_matches[pattern_name] = {

"similarity": similarity,

"timestamp": self._get_current_time()

}

self.structure_level = min(1.0, self.structure_level + 0.1)

self.last_accessed_time = self._get_current_time()

self.access_count += 1

def add_memory_path(self, path):

"""関連する記憶パスを追加"""

if not self._validate_memory_path(path):

raise ValueError(f"Invalid memory path: {path}")

if path not in self.associated_memory_paths:

self.associated_memory_paths.append(path)

self.last_accessed_time = self._get_current_time()

self.access_count += 1

def apply_decay(self, time_passed):

"""時間経過による感情の減衰を処理"""

for signal in self.raw_signals:

signal.apply_decay(time_passed)

decay_modifier = max(0.1, 1.0 - (self.access_count / 100.0))

decay_amount = time_passed * 0.02 * decay_modifier

structure_modifier = max(0.5, 1.0 - self.structure_level)

decay_amount *= structure_modifier

self.salience = max(0.0, self.salience - decay_amount)

return self.salience

def get_average_valence(self):

"""全感覚信号の平均感情価を取得"""

if not self.raw_signals:

return 0.0

total_valence = sum(signal.valence for signal in self.raw_signals)

return total_valence / len(self.raw_signals)

def get_dominant_modality(self):

"""最も強い感覚モダリティを取得"""

if not self.raw_signals:

return None

modality_strengths = {}

for signal in self.raw_signals:

modality_strengths[signal.modality] = modality_strengths.get(signal.modality, 0) + signal.intensity

return max(modality_strengths.items(), key=lambda x: x[1])[0] if modality_strengths else None

def get_best_language_match(self):

"""最も確信度の高い言語表現を取得"""

return max(self.language_candidates, key=lambda x: x["confidence"]) if self.language_candidates else None

def get_status_summary(self):

"""現在状態マリーを取得"""

best_lang = self.get_best_language_match()

best_term = best_lang["term"] if best_lang else "未定義"

best_confidence = best_lang["confidence"] if best_lang else 0.0

return {

"id": self.id,

"creation_time": self.creation_time,

"age": self._get_current_time() - self.creation_time,

"status": self.processing_status,

"salience": self.salience,

"structure_level": self.structure_level,

"signal_count": len(self.raw_signals),

"dominant_modality": self.get_dominant_modality(),

"average_valence": self.get_average_valence(),

"best_language_match": best_term,

"language_confidence": best_confidence,

"access_count": self.access_count,

"memory_path_count": len(self.associated_memory_paths)

}

def __str__(self):

status = self.get_status_summary()

best_term = status["best_language_match"]

return f"UnprocessedEmotion(id={self.id}, status={self.processing_status}, salience={self.salience:.2f}, best_term='{best_term}')"

class CognitiveQueue:

"""言語ベル未確定の感覚群を管理するキューシステム認知プロセス優先順位付けと記憶編集サポート

言語学習モダリティインデックス効率化を図る。

"""

def __init__(self, max_size=100, attention_threshold=0.3):

"""

認知キューシステム初期化

Parameters:

-----------

max_size : int

キューの最大サイズ

attention_threshold : float

注意を向けるための最低顕在閾値

"""

self.unprocessed_emotions = []

self.processing_queue = []

self.archived_emotions = []

self.max_size = max_size

self.attention_threshold = attention_threshold

self.current_time = self._get_current_time()

self.learned_terms = {} # 学習済み言語表現: {term: {"context": str, "frequency": int}}

self.modality_index = {} # モダリティごとの感情インデックス: {modality: [emotion]}

def _get_current_time(self):

"""現在時刻を取得"""

self.current_time = time.time()

return self.current_time

def learn_language_term(self, term, context):

"""新しい言語表現を学習し、以降の候補生成に影響"""

if term in self.learned_terms:

self.learned_terms[term]["frequency"] += 1

else:

self.learned_terms[term] = {"context": context, "frequency": 1}

def _update_modality_index(self, emotion, add=True):

"""モダリティインデックス更新"""

dominant = emotion.get_dominant_modality()

if dominant:

if add:

if dominant not in self.modality_index:

self.modality_index[dominant] = []

if emotion not in self.modality_index[dominant]:

self.modality_index[dominant].append(emotion)

else:

if dominant in self.modality_index and emotion in self.modality_index[dominant]:

self.modality_index[dominant].remove(emotion)

def register_new_emotion(self, raw_signals=None, salience=0.5):

"""新しい未処理感情登録"""

emotion = UnprocessedEmotion(

raw_signals=raw_signals,

salience=salience,

processing_status="unattended"

)

self.unprocessed_emotions.append(emotion)

self._update_modality_index(emotion)

if len(self.unprocessed_emotions) > self.max_size:

least_salient = min(self.unprocessed_emotions, key=lambda e: e.salience)

self.unprocessed_emotions.remove(least_salient)

self._update_modality_index(least_salient, add=False)

least_salient.processing_status = "archived_without_processing"

self.archived_emotions.append(least_salient)

return emotion

def access_emotion(self, emotion):

"""感情アクセスし、再編集として新しいインスタンスを生成"""

if emotion not in self.unprocessed_emotions:

return None

new_emotion = UnprocessedEmotion(

raw_signals=[SensorySignal(s.modality, s.intensity, s.valence, s.timestamp) for s in emotion.raw_signals],

salience=emotion.salience,

processing_status=emotion.processing_status

)

new_emotion.structure_level = emotion.structure_level * 0.9

new_emotion.language_candidates = emotion.language_candidates.copy()

new_emotion.pattern_matches = emotion.pattern_matches.copy()

new_emotion.associated_memory_paths = emotion.associated_memory_paths.copy()

self.unprocessed_emotions.append(new_emotion)

self._update_modality_index(new_emotion)

emotion.processing_status = "archived_due_to_access"

self.unprocessed_emotions.remove(emotion)

self._update_modality_index(emotion, add=False)

self.archived_emotions.append(emotion)

return new_emotion

def update_queue(self):

"""キュー更新し、処理状態更新"""

self._get_current_time()

for emotion in self.unprocessed_emotions[:]:

time_passed = self.current_time - emotion.last_accessed_time

emotion.apply_decay(time_passed)

if emotion.salience < 0.1:

self.unprocessed_emotions.remove(emotion)

self._update_modality_index(emotion, add=False)

emotion.processing_status = "archived_due_to_low_salience"

self.archived_emotions.append(emotion)

self.processing_queue = []

for emotion in self.unprocessed_emotions:

if emotion.salience >= self.attention_threshold:

if emotion.processing_status == "unattended":

emotion.processing_status = "queued"

self.processing_queue.append(emotion)

self.processing_queue.sort(key=lambda e: e.salience, reverse=True)

def get_next_for_processing(self):

"""処理すべき次の感情を取得"""

self.update_queue()

if not self.processing_queue:

return None

emotion = self.processing_queue[0]

emotion.processing_status = "in_process"

emotion.last_accessed_time = self.current_time

emotion.access_count += 1

return emotion

def lookup_by_pattern(self, pattern_name, min_similarity=0.5):

"""特定パターン類似した感情検索"""

matches = []

for emotion in self.unprocessed_emotions:

if pattern_name in emotion.pattern_matches:

similarity = emotion.pattern_matches[pattern_name]["similarity"]

if similarity >= min_similarity:

matches.append(emotion)

emotion.last_accessed_time = self.current_time

emotion.access_count += 1

return matches

def lookup_by_memory_path(self, partial_path):

"""記憶パスに関連する感情検索"""

matches = []

for emotion in self.unprocessed_emotions:

for path in emotion.associated_memory_paths:

if partial_path in path:

matches.append(emotion)

emotion.last_accessed_time = self.current_time

emotion.access_count += 1

break

return matches

def lookup_by_modality(self, modality):

"""特定モダリティ支配的な感情検索インデックス使用)"""

return self.modality_index.get(modality, [])

def partially_process(self, emotion, language_term=None, confidence=0.0, context=None):

"""感情部分的に処理"""

if emotion not in self.unprocessed_emotions:

return False

if language_term:

emotion.add_language_candidate(language_term, confidence)

if context:

self.learn_language_term(language_term, context)

emotion.structure_level = min(1.0, emotion.structure_level + 0.15)

emotion.processing_status = "partially_processed"

emotion.last_accessed_time = self.current_time

emotion.access_count += 1

if emotion.structure_level >= 0.9:

best_lang = emotion.get_best_language_match()

if best_lang and best_lang["confidence"] >= 0.8:

self.unprocessed_emotions.remove(emotion)

self._update_modality_index(emotion, add=False)

emotion.processing_status = "archived_fully_processed"

self.archived_emotions.append(emotion)

return True

def get_status_summary(self):

"""キュー状態マリーを取得"""

self._get_current_time()

modality_counts = {}

for emotion in self.unprocessed_emotions:

dominant = emotion.get_dominant_modality()

if dominant:

modality_counts[dominant] = modality_counts.get(dominant, 0) + 1

valence_counts = {"negative": 0, "neutral": 0, "positive": 0}

for emotion in self.unprocessed_emotions:

avg_valence = emotion.get_average_valence()

if avg_valence < -0.3:

valence_counts["negative"] += 1

elif avg_valence > 0.3:

valence_counts["positive"] += 1

else:

valence_counts["neutral"] += 1

return {

"total_unprocessed": len(self.unprocessed_emotions),

"processing_queue_size": len(self.processing_queue),

"archived_count": len(self.archived_emotions),

"average_salience": sum(e.salience for e in self.unprocessed_emotions) / max(1, len(self.unprocessed_emotions)),

"average_structure_level": sum(e.structure_level for e in self.unprocessed_emotions) / max(1, len(self.unprocessed_emotions)),

"modality_distribution": modality_counts,

"valence_distribution": valence_counts,

"learned_terms_count": len(self.learned_terms),

"current_time": self.current_time

}

ログイン ユーザー登録
ようこそ ゲスト さん