icon

ちょっと疲れてしまってる感じがするので、ポテチとジュースで休憩する

icon

ほんのりと眠いなぁ

icon

両手両足にコライダーくっつけて同列で扱いたいからhand colliderやfoot colliderじゃ変だし、なんか良い単語ないかとChatGPTに聞いたらlimbsだって。
確かに正しいようだけど、問題はlimbsが馴染みなさ過ぎてlimbsと見ても手足だと分からん・・・

icon

今年も最低賃金は上がる方向で話が進んでるのは良いけど、物価が全然上がってなかった数年前と違い、今はちょっとずつ上げるだと追っつかなくなってそう。
かといってモリっと上げると弊害あるしなぁ。
最低賃金上げるの年2回にしたら、多少は軟着地にならんだろうか?

icon

外出るとあっちー

icon

そういえば最近、ここ1、2ヶ月の辺りで、Discordで声が聞き取りにくいと言われる事があり、マイクテストで自分で聞いてみても確かに言葉尻が消失してる感があった。
ノイズ抑制を切り替えたり無効にしてもだめだが、マイクとDiscordの間にボイチェンを挟んでそっちでマイクテストしたら問題なく、Discordの何かが影響している。

今日やっと改善が出来て、エコー除去を無効にしたら、自分でのマイクテストでは不自然に言葉尻が消失する事が無くなった。
というか、エコー除去を無効にしたら、設定項目自体がッスと消えたんだけど?
悪影響があるから消したとかなんかな?

Attach image
Attach image
icon

UdonSyncedは、その変数を持つコンポーネントが付くGameObjectのownerだけが更新できる。それはそうで当然なんだけど、難しい。
特にVketのブースだから制約が多いのもあるけど、ちょっと込み入ったゲームとか作ろうとしたら、いわゆるGameManagerとか作って、全体の点数とか持たせたいじゃん。
非ownerなプレイヤーの行動によって点数変化する時、どうやってownerにGameManagerのUdonSyncedな点数を更新してもらうか、これが難しい。
SendCustomNetworkEventに引数が無いのが難しくしてる要因な気はするけど、とにかく無いものは無いので、じゃぁどうするか。

https://x.com/adin1031/status/1773571640237920738
SetOwnerでGameManagerのownerとって更新すれば良いかというと、こういう話もあるし、点数が頻繁に増減する様なゲームだとダメそう。タイミングが競合したらどうなるという問題もある。

UdonSyncedの値変化をトリガーに動くOnVariableChanged (FieldChangeCallback)があるので、各プレイヤーがそれぞれ自身がownerのGameObjectを持ち、そこについたUdonSyncedがあれば、それを更新する事で引数付きSendCustomNetworkEventに近い事が出来る。
一つの方法だけどちょっとテクニカルなのと、VketだとUdonSyncedの数が10個までなので厳しい。

icon

眠くならない程度に、かつ物足りなくもない程度に、丁度良く食べたい

icon

お腹空いてきた・・・

icon

さて・・・先週末はストレージとCPUクーラーの故障で潰れてしまい、Vketのブースが非常にまずい状態にあるが、疲労感もあって現実逃避状態に入ってたけど、いい加減、いい加減にとりかかろう・・・

icon

Microsoftアカウントのアクティビティを確認する流れなので見てみたけど、ニコニコだけじゃなく多分どこにも登録してないやつなのに、ちょいちょい試行されてて草。
なんかドメイン追加されて好きなアカウント取りやすいからとりあえずとったやつだから、どこにも使ってないはずなんだけど。

Attach image
icon

左クリックがチャタリング始まってしまったG300sだけど、接点復活剤で回復ワンチャン有るのか。
ダメ元でやってみるか。こんど。

icon

ミウ レモン&オレンジ|商品情報|ダイドードリンコ https://www.dydo.co.jp/products/detail/1064

2023年の1月末に1日中歩き回る事があって、途中喉乾いて飲んだやつだと思うんだけど、やっぱうまいな。
もちろん歩き回ってから飲んだ時の美味しさには届かないけど、甘味と酸味がちょうどいい。
もう気持ち甘味少ないとより良いんだけど。

しかし、めっちゃ歩いて汗かいた印象だったけど、あれは真冬だったか。

ミウ レモン&オレンジ|商品情報|ダイドードリンコ
icon

CLIP STUDIO PAINTのセール、待ってたのに終わってた・・・

icon

「SLIM」応答せず──JAXA「今後、SLIMと通信できる可能性は低い」 - ITmedia NEWS https://www.itmedia.co.jp/news/articles/2406/27/news187.html
流石に4回目の越夜は無理だったか

Web site image
「SLIM」応答せず──JAXA「今後、SLIMと通信できる可能性は低い」
icon

目がしょぼになった。この状態って一般に眠いっていうんだろうけど、目がしょぼしょぼするだけで頭は動いてるし、食べすぎた時の眠気の方がよっぽど眠いって感じする。

icon

ラーメン食べたかったけど、それどころでもないな

icon

昨日から今日にかけて再び休止モード入って復帰を1度したけど、SSDまだ認識されている。
とりあえずデータは全部コピーしたから、再びダメになってもあんまり問題はないけど。

WSLからアクセスしようとしたら、マウントされてなかったので、このSSDはPC起動時にはまだ無かったのかもしれない。
でも、認識できる様になったのも起動時じゃなくて休止モードからの復帰のタイミングっぽいから、別に矛盾はないか。

icon

今日も尻が凝ってる

icon

そういえばKADOKAWAはランサムしてきたやつにお金を払ったらしい話があったけど、もし本当に払っててデータの暗号化の解除が受けられてなかったり、あまつさえ7月1日のリークがあるとしたら、これ以降の他のランサムでは身代金はもう得られない事になるんじゃなかろうか。
基本的に払ってはいけないという通念がある上に、払っても解決しない実績が出来たら、流石にもう払うやつはいないはずだし。

icon

ネットで買った交換用のHDD、一番早い日を選んだはずなのに、買った翌日である昨日には既に最寄りの営業所に来てて、昨日今日と営業所保管になってる・・・

icon

あれ?GitHubのPull Request、タイトルに書いた[WIP]を消してからマージしたのに、マージコミットのメッセージに[WIP]が入っちゃったぞ?

icon

Misskey.ioの絵文字ピッカー、軽くなった?
この時のCSSの改造したままだと思うけど、なんか重くなる感じが、いつの間にかしなくなってた

RE:
https://misskey.io/notes/9o87j7lmzkfh02lk

icon

炭酸水飲んで元気出した

icon

眠い、から外出るか

icon

なんか今日は目が乾く

icon

CloudflareがChatGPTに入れてくれない・・・

icon

復帰したSSDからデータコピーしてるけど、まだ45%だからつけっぱで寝るしかないな。うっかり休止モードにしない様にしないと。

icon

あーしまった。mapだから実行する度に順番変わっちゃうじゃん。

icon

ちょっとエアコンにやられて寒気がした気がしたので、エアコン切って暑いの我慢してる

icon

実際壊れたのは異音してたHDDで、SSDはなんで認識しなくなったのか良く分からずで、こうして何もしてないのに復帰すると、ほんとなんだったんだって感じだ

多分異音出したHDDを、シャットダウンせずうっかり休止モード中に引っこ抜いて復帰したのが、何故か分からんけどSSDにも影響してしまったのかなって思ってたけど、それ位しか思いつかないし・・・

icon

ファイルの中身がおかしくなってないかとかはまだ残るけど、とりあえずexplorerでのファイルのコピーは滞りなく進んでいる

icon

データ、読めるな・・・読めてる・・・

icon

ファイナルデータ体験版でドライブを検出してて全然進まんってやつだけど、スキャンしたセクタ数が減ってる。
ペース的に全部スキャンして振出しに戻った訳じゃないと思うが、どっかのタイミングで戻ってるっぽい。謎。
これはもう終わるはずもないという事でキャンセルして、今度System RescueのBootable USBの方でMBRというかGPTの修復を試みようと思った。

が、キャンセルして直ぐ、念のため他のスキャンとかあるかなと再度実行しようとしたら、ハードディスク2だったものがちゃんとストレージ名が取れてる・・・
そして、explorerで見たら、普通にマウント出来てる・・・

実は昨日寝る前にうっかり休止モードに入れてしまったので寝てる間はスキャンしてなくて、復帰したらエラーにならずにスキャン継続してたからほっといたんだけど、まぁこれはファイナルデータのお陰というより、休止から復帰したタイミングで認識したんかなぁ。
スキャンだけで好転にせよ悪化にせよ変化するとはあんま考えられないし。

まぁ、ほぼ何もしてないのに認識する様になったという事は、また認識できなくなる可能性高いし、今からデータのコピーを試みる。
容量空いてるのがNASしかないから、ddコマンドとかじゃなくexplorerでファイルをコピーするしかないけど。
さて、うまく読み取り出来るだろうか・・・

Attach image
Attach image
icon

webサイトに仕込まれるヤバイって話ばかりで、仕込まれたwebサイトにアクセスした端末にどんな影響があるものだったのかの情報が全然ないな。
英語の記事に当たらないとだろうか・・・
そんな暇じゃないんだが

icon

セキュリティ企業のSanSecによると、オーナーが方能に変わったのち、cdn.polyfill.ioを埋め込んだサイトを介して、モバイル端末にマルウェアを感染させる試みが確認されているとのこと。Polyfill.ioを利用中のサイトは10万以上あるとみられます。
https://gigazine.net/news/20240626-polyfill-supply-chain-attack/

uBlock Originのルールに
||polyfill.io書いておいてたしと思ったが、モバイルか・・・
AndroidのFirefoxはuBlock Origin入ってるけど、iPhoneのFirefoxはアドオン無いからなぁ、大丈夫かな・・・?

Web site image
JavaScriptライブラリ「Polyfill.io」にマルウェアが混入され10万以上のサイトに影響
icon

JavaScriptライブラリ「Polyfill.io」にマルウェアが混入され10万以上のサイトに影響 - GIGAZINE https://gigazine.net/news/20240626-polyfill-supply-chain-attack/

下の売却の記事が2024年3月6日だから4ヶ月弱でか

[注意喚起]ブラウザ互換ライブラリ「Polyfill.io」がドメイン名ごと中国企業に売却、CloudflareとFastlyが代替となる配信を開始 - Publickey
https://www.publickey1.jp/blog/24/polyfilliocloudflarefastly.html

Web site image
JavaScriptライブラリ「Polyfill.io」にマルウェアが混入され10万以上のサイトに影響
Web site image
[注意喚起]ブラウザ互換ライブラリ「Polyfill.io」がドメイン名ごと中国企業に売却、CloudflareとFastlyが代替となる配信を開始
icon

こねてる間、ChatGPTは何かにつけて[T any, PT TreeNode[T]]にしようとしてきた。
別の行を修正する回答なのに、無言及でこれに変えてくる位に。

という事はそういう学習をしてるって事だから、その方が良いのかと思って一応この路線も確認してみた。
まぁ、ChatGPTの書いたコードは動かなくて、型アサーション挟む必要あったけど。

interfaceの方の
Children() []*Tが、戻り値ポインター型であると分かりやすいメリットはあるけど、断然良いという感じでは、ないかなぁ。

package main

import "fmt"

type TreeNode[T any] interface {
	Id() int
	Children() []*T
}

func PrintAllDescendants[T any, PT TreeNode[T]](node PT) {
	children := node.Children()
	for _, child := range children {
		// childは*T型として返ってくるので、型アサーションでPTにする
		childNode, ok := interface{}(child).(PT)
		if !ok {
			panic("Failed to cast child to PT")
		}
		fmt.Println("Id:", childNode.Id())
		PrintAllDescendants(childNode)
	}
}

type MyNode struct {
	id       int
	children []*MyNode
}

func (m *MyNode) Id() int {
	return m.id
}

func (m *MyNode) Children() []*MyNode {
	return m.children
}

func main() {
	grandChild1 := &MyNode{id: 3}
	grandChild2 := &MyNode{id: 4}

	child1 := &MyNode{
		id:       1,
		children: []*MyNode{grandChild1},
	}
	child2 := &MyNode{
		id:       2,
		children: []*MyNode{grandChild2},
	}

	root := &MyNode{
		id:       0,
		children: []*MyNode{child1, child2},
	}

	PrintAllDescendants(root)
}
https://go.dev/play/p/4I8sQ88iS_R

Web site image
Go Playground - The Go Programming Language
icon

グラフの木構造を、interfaceを介して、特定のnode structに依存せず扱いたくて、ChatGPTにも聞きつつこね回してこうなった。
func PrintAllDescendants[T TreeNode[*T]](node *T)からスタートしたけど、どうにも動かず、こねて下の様になったんだけど、暗黙的にポインター型じゃないと動かないのでせめてPTという名前にしてみた。
ChatGPTの力を借りて動いたけど、正直100の理解をしてないのでどうだろうなという所。

package main

import "fmt"

type TreeNode[PT any] interface {
	Id() int
	Children() []PT
}

func PrintAllDescendants[PT TreeNode[PT]](node PT) {
	children := node.Children()
	for _, child := range children {
		fmt.Println("Id:", child.Id())
		PrintAllDescendants(child)
	}
}

type MyNode struct {
	id       int
	children []*MyNode
}

func (m *MyNode) Id() int {
	return m.id
}

func (m *MyNode) Children() []*MyNode {
	return m.children
}

func main() {
	grandChild1 := &MyNode{id: 3}
	grandChild2 := &MyNode{id: 4}

	child1 := &MyNode{
		id:       1,
		children: []*MyNode{grandChild1},
	}
	child2 := &MyNode{
		id:       2,
		children: []*MyNode{grandChild2},
	}

	root := &MyNode{
		id:       0,
		children: []*MyNode{child1, child2},
	}

	PrintAllDescendants(root)
}
https://go.dev/play/p/yPzu6uY6KxN

Web site image
Go Playground - The Go Programming Language
icon

CursorとClaudeも名前は見かけるから気になってるけど、この記事だと両方使って40ドルかぁ。
自分もChatGPTとGitHub Copilotで30ドルだからそんな変わらんって言われたらそうかもだけど。
GitHub CopilotはともかくGitHub Copilot Chatは役に立ってないから、とりあえずCursorの方を試してみるのが良いかねぇ。10ドル増えちゃうけど。

CursorとClaudeを使った最近の私の開発環境|ニケちゃん
https://note.com/nike_cha_n/n/n444e28ec0c73

Web site image
CursorとClaudeを使った最近の私の開発環境|ニケちゃん
icon

:hotsprings:​♨️
なんか2種類ある

icon

ってあれ?スクショ取ってノート書いてる数分の間に、なんか一気に進んだ?
全体からすると全然なんだけど、24時間かけて辿り着いた最上の位が数分目を離した間に1から2になるって、どういう事だ。
挙動が謎すぎる

Attach image
icon

CPUクーラーを交換後改めてファイナルデータでドライブを検出を実行してるけど、24時間経ってもこの進捗。
やっぱこれ現実的な時間では終わらないぞ。

なお、ドライブを検出(形式の検出)をディスク全領域で行うと相当な時間がかかります。ディスクの管理画面などを参照し、あらかじめ目的のパーティションの物理的な位置を把握しておいてください。
[検索するセクタ範囲]画面のスライドバーを動かし、目的のパーティションがあった場所付近を選択してください。

ドライブを検出機能はどのような機能ですか? どういう場合に有効でしょうか? - ファイナルデータシリーズ FAQ https://faq.aosdata.co.jp/fd_series/2008/09/post-15.html
全領域だと時間かかると書いてある通りではあるんだけど、スライドバーを動かすと0か最大値かしかなくて、書いてある様に目的のパーティションがあった場所付近を指定できなかった。

このストレージはパーティション複数作って無いし、冒頭のセクタだけスキャンすれば済むはずだと思うんだけど・・・

ドライブを検出機能はどのような機能ですか? どういう場合に有効でしょうか? - ファイナルデータシリーズ FAQ
Attach image
icon

目がショボになってしまってもう何も出来ない

icon

ChatGPT4oになっても、謎の融通の利かなさというか、違うそうじゃないって感じの回答になる事、やっぱあるなぁ。

自分「こういう事がしたいからコードを書いて。」
ChatGPT4o「書いたで。」
自分「そのコードは、こういう処理をするという理解であってる?」
ChatGPT4oさん、合ってるとも間違ってるとも判断つかない事を言いつつ、何故か修正コードを書き始める。

修正は求めてないし、修正が必要な理由も、そもそも修正が必要だったのかも分からない・・・

icon

寝不足で失われた「記憶」、後で十分寝ても手遅れ? 繰り返し高速再生する機能は戻らず 米研究者らが検証:Innovative Tech - ITmedia NEWS https://www.itmedia.co.jp/news/articles/2406/24/news053.html

そんな事言われても、目が覚めちゃうんだよねぇ

Web site image
寝不足で失われた「記憶」、後で十分寝ても手遅れ? 繰り返し高速再生する機能は戻らず 米研究者らが検証
icon

不意にラーメンとか食べたくなってしまった
この時間だと難しい・・・

icon

あーモニターが足らん
Immersed Visorどうなったかなぁ?
機器がどうなったかもあるけど、なんか物理モニタが複数ついてると利用できないソフトウェアになっちゃったらしいから、微妙になっちゃったぽいんだよなぁ。
軽量で十分な解像度のVR HMDが欲しい。有線で良いから。
解像度が十分ならAR HMDにカバーでも良い。空間上に複数のモニタを置いて作業が出来れば。

icon

一時チャットからやっぱり通常に移行が出来ればいいのに
ChatGPT

icon

ChatGPTに一時チャットが追加されて、残しておいてもしょうもない事は一時チャットにしてたけど、やっぱりもっかい見たいってなったので、やっぱ普通に聞いて、要らなくなったら消す方が良いかなぁ

icon

水って熱容量大きいし、住居の熱対策に使えないのかなと思ったら、なんかあるらしい。
空気層の2重窓と比べてどうなんだろう?

光熱費を25%削減できる「水で満たされたガラス窓」 - ナゾロジー
https://nazology.net/archives/121089

Web site image
小惑星落下を衝突3時間前に予報!偶然ではない「火球」の撮影が実施される! - ナゾロジー
icon

一気に飲んでも意味ない事は知ってるけど、止められない

icon

まだ早いが意識してしまってお腹減ったになってる

icon

ずっと尻が凝ってる

icon

https://github.com/darccio/mergo

2つのstructやmapをマージするの、たまに必要になるし手書きで詰め直すのは面倒なのでそのうち使うだろうとタブ開いたままだったけど、なんか使う機会が来なかったので、メモってタブ閉じる事に

Web site image
GitHub - darccio/mergo: Mergo: merging Go structs and maps since 2013
icon

日本の銀行とか電気ガスの会社とか、紙の明細など廃止してwebで見れますPDFダウンロードできますって感じで、なんでpush型だったのをpull型にして人間の手間と注意を消費させるのかって思ってたけど、Googleが同じようなことをしてくるとはなぁ。
定期的 or 必要なタイミングで忘れずに〇〇をするというのは、一つ一つは大した事じゃなくても沢山あるとやってられないし、今の世はそんな大事ではないものまでそういうので溢れてるから、何もしなくても自動でやっといて欲しいんだけど・・・

icon

タイムライン機能について 重要な機能変更(デバイスへのデータ保存) - Google マップ コミュニティ
https://support.google.com/maps/community-guide/278276932/%E3%82%BF%E3%82%A4%E3%83%A0%E3%83%A9%E3%82%A4%E3%83%B3%E6%A9%9F%E8%83%BD%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6%E3%80%80%E9%87%8D%E8%A6%81%E3%81%AA%E6%A9%9F%E8%83%BD%E5%A4%89%E6%9B%B4%EF%BC%88%E3%83%87%E3%83%90%E3%82%A4%E3%82%B9%E3%81%B8%E3%81%AE%E3%83%87%E3%83%BC%E3%82%BF%E4%BF%9D%E5%AD%98%EF%BC%89?hl=ja

スマートフォンを買い替えた時、Googleのサービスで端末にしかデータが無くて、エクスポートしてインポートしないといけないデータがあるとか、覚えてられないから実質想定外だしやめてほしいというか、Google Oneのストレージ容量使っていいからそこに置いといてほしいなぁ

icon

この気温じゃ窓開けてももうダメだなー。軽めのエアコンに移行するかぁ

icon

この時間に外出ても涼しくない季節になってしまったなぁ

icon

マーケットプレイスのG300Sは、PCに刺してまで確認はしてないけど、まぁ普通に並行輸入品だなって感じだった。なので追加しようと思ったら値上がりしてた・・・
けど、またタイミングが良いのか悪いのか、今使ってるG300Sの左クリックのチャタリングが始まってしまった。
ストックが増えたと思ったらすぐ減る事になってつらい。

icon

去年の夏に調子悪くなったCPUファンというか簡易水冷だけど、なんか時間を置くと動くから騙し騙し使ってたんだけど、なんかストレージトラブル起きた昨日、ついでに簡易水冷もダメになった。いくら時間を置いても動かず。畳み掛けてきよる。

簡易水冷が調子悪いからHDDが壊れたかというと、HDDはHDD用のファンがあって取れてる温度的には問題なかったはず。
ともあれ、めんどくさくてやってなかった簡易水冷の交換を、遂にやらざるを得ずという感じで頑張って交換した。

PCがHPのOMEN Xで、奇抜な形をしてる割にメンテナンスはしやすいケースだったんだけど、簡易水冷のDEEPCOOL LS320がSATA電源コネクタからも給電が必要で、これがマザーボードの下にあってめちゃくちゃ大変。
グラボ外して、マザボに刺さってるケーブルも20本近く全部外して、マザボも外して、マザボ支えるボードを外してようやく電源にアクセス。
電源が見えるまで、空いてるSATA電源コネクタが1個も無い可能性あったけど、幸いあったのでそれをボードの上に出る様にしつつ今度は逆順に取り付け。全部じゃないけど割と丁寧にケーブルにラベルが付けられてて助かった。

問題は1個残っていて、もともと簡易水冷が調子悪く動かない時、起動時のメーカーロゴの次に"PUMP SPEED( 90B )"と、異常を知らせる画面が出るんだけど、交換後もこれが出てる。
交換前は無視して起動すると、当然CPUが冷却されずやばいので慌てて電源落とすしかなくなるところ、交換後は問題なく冷却される。
これはDEEPCOOL LS320の存在を正しく認識出来てないのかもしれない。
アドレサブルRGBの為のコネクタを、別にLEDはどうでもよかったしマザボにピンヘッダがあるかも分からなかったから刺さなかったけど、もしかしてそれで認識出来ないとかなのかどうか。

とまぁPCは起動するようになったけど、後はストレージの問題が未解決。けど今日はもう疲れた。

icon

ジュース飲んで休憩しよ・・・

icon

やっとPC起動したストレージが直ったわけじゃないけど。とりあえず疲れた

icon

昨日はVketのブースとか作りたかったのに、マシントラブルでなんも出来なかったのでちょっとまずい・・・

icon

PRQL
https://prql-lang.org/

モダンな文法を備えた言語で書いて、SQLにトランスパイル的な事するやつっぽい。トランスパイルとは書いてなかったけど。

確かにモダンだなとは思うけど、そんなに頻繁に生のSQL書かないから、PRQLを覚えてもあんまりという気もする。最初からこれだったらいいんだけど。

from track_plays
filter plays > 10_000                # Readable numbers
filter (length | in 60..240)         # Ranges with `..`
filter recorded > @2008-01-01        # Simple date literals
filter released - recorded < 180days # Nice interval literals
sort {-length}                       # Concise order direction
SELECT
  *
FROM
  track_plays
WHERE
  plays > 10000
  AND length BETWEEN 60 AND 240
  AND recorded > DATE '2008-01-01'
  AND released - recorded < INTERVAL 180 DAY
ORDER BY
  length DESC