ちょっと疲れてしまってる感じがするので、ポテチとジュースで休憩する
両手両足にコライダーくっつけて同列で扱いたいからhand colliderやfoot colliderじゃ変だし、なんか良い単語ないかとChatGPTに聞いたらlimbsだって。
確かに正しいようだけど、問題はlimbsが馴染みなさ過ぎてlimbsと見ても手足だと分からん・・・
今年も最低賃金は上がる方向で話が進んでるのは良いけど、物価が全然上がってなかった数年前と違い、今はちょっとずつ上げるだと追っつかなくなってそう。
かといってモリっと上げると弊害あるしなぁ。
最低賃金上げるの年2回にしたら、多少は軟着地にならんだろうか?
そういえば最近、ここ1、2ヶ月の辺りで、Discordで声が聞き取りにくいと言われる事があり、マイクテストで自分で聞いてみても確かに言葉尻が消失してる感があった。
ノイズ抑制を切り替えたり無効にしてもだめだが、マイクとDiscordの間にボイチェンを挟んでそっちでマイクテストしたら問題なく、Discordの何かが影響している。
今日やっと改善が出来て、エコー除去を無効にしたら、自分でのマイクテストでは不自然に言葉尻が消失する事が無くなった。
というか、エコー除去を無効にしたら、設定項目自体がッスと消えたんだけど?
悪影響があるから消したとかなんかな?
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個までなので厳しい。
さて・・・先週末はストレージとCPUクーラーの故障で潰れてしまい、Vketのブースが非常にまずい状態にあるが、疲労感もあって現実逃避状態に入ってたけど、いい加減、いい加減にとりかかろう・・・
Microsoftアカウントのアクティビティを確認する流れなので見てみたけど、ニコニコだけじゃなく多分どこにも登録してないやつなのに、ちょいちょい試行されてて草。
なんかドメイン追加されて好きなアカウント取りやすいからとりあえずとったやつだから、どこにも使ってないはずなんだけど。
左クリックがチャタリング始まってしまったG300sだけど、接点復活剤で回復ワンチャン有るのか。
ダメ元でやってみるか。こんど。
ミウ レモン&オレンジ|商品情報|ダイドードリンコ https://www.dydo.co.jp/products/detail/1064
2023年の1月末に1日中歩き回る事があって、途中喉乾いて飲んだやつだと思うんだけど、やっぱうまいな。
もちろん歩き回ってから飲んだ時の美味しさには届かないけど、甘味と酸味がちょうどいい。
もう気持ち甘味少ないとより良いんだけど。
しかし、めっちゃ歩いて汗かいた印象だったけど、あれは真冬だったか。
「SLIM」応答せず──JAXA「今後、SLIMと通信できる可能性は低い」 - ITmedia NEWS https://www.itmedia.co.jp/news/articles/2406/27/news187.html
流石に4回目の越夜は無理だったか
目がしょぼになった。この状態って一般に眠いっていうんだろうけど、目がしょぼしょぼするだけで頭は動いてるし、食べすぎた時の眠気の方がよっぽど眠いって感じする。
昨日から今日にかけて再び休止モード入って復帰を1度したけど、SSDまだ認識されている。
とりあえずデータは全部コピーしたから、再びダメになってもあんまり問題はないけど。
WSLからアクセスしようとしたら、マウントされてなかったので、このSSDはPC起動時にはまだ無かったのかもしれない。
でも、認識できる様になったのも起動時じゃなくて休止モードからの復帰のタイミングっぽいから、別に矛盾はないか。
そういえばKADOKAWAはランサムしてきたやつにお金を払ったらしい話があったけど、もし本当に払っててデータの暗号化の解除が受けられてなかったり、あまつさえ7月1日のリークがあるとしたら、これ以降の他のランサムでは身代金はもう得られない事になるんじゃなかろうか。
基本的に払ってはいけないという通念がある上に、払っても解決しない実績が出来たら、流石にもう払うやつはいないはずだし。
ネットで買った交換用のHDD、一番早い日を選んだはずなのに、買った翌日である昨日には既に最寄りの営業所に来てて、昨日今日と営業所保管になってる・・・
あれ?GitHubのPull Request、タイトルに書いた[WIP]
を消してからマージしたのに、マージコミットのメッセージに[WIP]
が入っちゃったぞ?
Misskey.ioの絵文字ピッカー、軽くなった?
この時のCSSの改造したままだと思うけど、なんか重くなる感じが、いつの間にかしなくなってた
RE: https://misskey.io/notes/9o87j7lmzkfh02lk
復帰したSSDからデータコピーしてるけど、まだ45%だからつけっぱで寝るしかないな。うっかり休止モードにしない様にしないと。
実際壊れたのは異音してたHDDで、SSDはなんで認識しなくなったのか良く分からずで、こうして何もしてないのに復帰すると、ほんとなんだったんだって感じだ
多分異音出したHDDを、シャットダウンせずうっかり休止モード中に引っこ抜いて復帰したのが、何故か分からんけどSSDにも影響してしまったのかなって思ってたけど、それ位しか思いつかないし・・・
ファイルの中身がおかしくなってないかとかはまだ残るけど、とりあえずexplorerでのファイルのコピーは滞りなく進んでいる
ファイナルデータ体験版でドライブを検出してて全然進まんってやつだけど、スキャンしたセクタ数が減ってる。
ペース的に全部スキャンして振出しに戻った訳じゃないと思うが、どっかのタイミングで戻ってるっぽい。謎。
これはもう終わるはずもないという事でキャンセルして、今度System RescueのBootable USBの方でMBRというかGPTの修復を試みようと思った。
が、キャンセルして直ぐ、念のため他のスキャンとかあるかなと再度実行しようとしたら、ハードディスク2だったものがちゃんとストレージ名が取れてる・・・
そして、explorerで見たら、普通にマウント出来てる・・・
実は昨日寝る前にうっかり休止モードに入れてしまったので寝てる間はスキャンしてなくて、復帰したらエラーにならずにスキャン継続してたからほっといたんだけど、まぁこれはファイナルデータのお陰というより、休止から復帰したタイミングで認識したんかなぁ。
スキャンだけで好転にせよ悪化にせよ変化するとはあんま考えられないし。
まぁ、ほぼ何もしてないのに認識する様になったという事は、また認識できなくなる可能性高いし、今からデータのコピーを試みる。
容量空いてるのがNASしかないから、ddコマンドとかじゃなくexplorerでファイルをコピーするしかないけど。
さて、うまく読み取り出来るだろうか・・・
webサイトに仕込まれるヤバイって話ばかりで、仕込まれたwebサイトにアクセスした端末にどんな影響があるものだったのかの情報が全然ないな。
英語の記事に当たらないとだろうか・・・
そんな暇じゃないんだが
セキュリティ企業のSanSecによると、オーナーが方能に変わったのち、cdn.polyfill.ioを埋め込んだサイトを介して、モバイル端末にマルウェアを感染させる試みが確認されているとのこと。Polyfill.ioを利用中のサイトは10万以上あるとみられます。https://gigazine.net/news/20240626-polyfill-supply-chain-attack/
||polyfill.io
書いておいてたしと思ったが、モバイルか・・・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
こねてる間、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グラフの木構造を、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/yPzu6uY6KxNCursorとClaudeも名前は見かけるから気になってるけど、この記事だと両方使って40ドルかぁ。
自分もChatGPTとGitHub Copilotで30ドルだからそんな変わらんって言われたらそうかもだけど。
GitHub CopilotはともかくGitHub Copilot Chatは役に立ってないから、とりあえずCursorの方を試してみるのが良いかねぇ。10ドル増えちゃうけど。
CursorとClaudeを使った最近の私の開発環境|ニケちゃん https://note.com/nike_cha_n/n/n444e28ec0c73
ってあれ?スクショ取ってノート書いてる数分の間に、なんか一気に進んだ?
全体からすると全然なんだけど、24時間かけて辿り着いた最上の位が数分目を離した間に1から2になるって、どういう事だ。
挙動が謎すぎる
CPUクーラーを交換後改めてファイナルデータでドライブを検出を実行してるけど、24時間経ってもこの進捗。
やっぱこれ現実的な時間では終わらないぞ。
なお、ドライブを検出(形式の検出)をディスク全領域で行うと相当な時間がかかります。ディスクの管理画面などを参照し、あらかじめ目的のパーティションの物理的な位置を把握しておいてください。
[検索するセクタ範囲]画面のスライドバーを動かし、目的のパーティションがあった場所付近を選択してください。
ドライブを検出機能はどのような機能ですか? どういう場合に有効でしょうか? - ファイナルデータシリーズ FAQ https://faq.aosdata.co.jp/fd_series/2008/09/post-15.html
全領域だと時間かかると書いてある通りではあるんだけど、スライドバーを動かすと0か最大値かしかなくて、書いてある様に目的のパーティションがあった場所付近を指定できなかった。
このストレージはパーティション複数作って無いし、冒頭のセクタだけスキャンすれば済むはずだと思うんだけど・・・
ChatGPT4oになっても、謎の融通の利かなさというか、違うそうじゃないって感じの回答になる事、やっぱあるなぁ。
自分「こういう事がしたいからコードを書いて。」
ChatGPT4o「書いたで。」
自分「そのコードは、こういう処理をするという理解であってる?」
ChatGPT4oさん、合ってるとも間違ってるとも判断つかない事を言いつつ、何故か修正コードを書き始める。
修正は求めてないし、修正が必要な理由も、そもそも修正が必要だったのかも分からない・・・
寝不足で失われた「記憶」、後で十分寝ても手遅れ? 繰り返し高速再生する機能は戻らず 米研究者らが検証:Innovative Tech - ITmedia NEWS https://www.itmedia.co.jp/news/articles/2406/24/news053.html
そんな事言われても、目が覚めちゃうんだよねぇ
あーモニターが足らん
Immersed Visorどうなったかなぁ?
機器がどうなったかもあるけど、なんか物理モニタが複数ついてると利用できないソフトウェアになっちゃったらしいから、微妙になっちゃったぽいんだよなぁ。
軽量で十分な解像度のVR HMDが欲しい。有線で良いから。
解像度が十分ならAR HMDにカバーでも良い。空間上に複数のモニタを置いて作業が出来れば。
ChatGPTに一時チャットが追加されて、残しておいてもしょうもない事は一時チャットにしてたけど、やっぱりもっかい見たいってなったので、やっぱ普通に聞いて、要らなくなったら消す方が良いかなぁ
水って熱容量大きいし、住居の熱対策に使えないのかなと思ったら、なんかあるらしい。
空気層の2重窓と比べてどうなんだろう?
光熱費を25%削減できる「水で満たされたガラス窓」 - ナゾロジー
https://nazology.net/archives/121089
https://github.com/darccio/mergo
2つのstructやmapをマージするの、たまに必要になるし手書きで詰め直すのは面倒なのでそのうち使うだろうとタブ開いたままだったけど、なんか使う機会が来なかったので、メモってタブ閉じる事に
日本の銀行とか電気ガスの会社とか、紙の明細など廃止してwebで見れますPDFダウンロードできますって感じで、なんでpush型だったのをpull型にして人間の手間と注意を消費させるのかって思ってたけど、Googleが同じようなことをしてくるとはなぁ。
定期的 or 必要なタイミングで忘れずに〇〇をするというのは、一つ一つは大した事じゃなくても沢山あるとやってられないし、今の世はそんな大事ではないものまでそういうので溢れてるから、何もしなくても自動でやっといて欲しいんだけど・・・
タイムライン機能について 重要な機能変更(デバイスへのデータ保存) - 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のストレージ容量使っていいからそこに置いといてほしいなぁ
マーケットプレイスのG300Sは、PCに刺してまで確認はしてないけど、まぁ普通に並行輸入品だなって感じだった。なので追加しようと思ったら値上がりしてた・・・
けど、またタイミングが良いのか悪いのか、今使ってるG300Sの左クリックのチャタリングが始まってしまった。
ストックが増えたと思ったらすぐ減る事になってつらい。
去年の夏に調子悪くなったCPUファンというか簡易水冷だけど、なんか時間を置くと動くから騙し騙し使ってたんだけど、なんかストレージトラブル起きた昨日、ついでに簡易水冷もダメになった。いくら時間を置いても動かず。畳み掛けてきよる。
簡易水冷が調子悪いからHDDが壊れたかというと、HDDはHDD用のファンがあって取れてる温度的には問題なかったはず。
ともあれ、めんどくさくてやってなかった簡易水冷の交換を、遂にやらざるを得ずという感じで頑張って交換した。
PCがHPのOMEN Xで、奇抜な形をしてる割にメンテナンスはしやすいケースだったんだけど、簡易水冷のDEEPCOOL LS320がSATA電源コネクタからも給電が必要で、これがマザーボードの下にあってめちゃくちゃ大変。
グラボ外して、マザボに刺さってるケーブルも20本近く全部外して、マザボも外して、マザボ支えるボードを外してようやく電源にアクセス。
電源が見えるまで、空いてるSATA電源コネクタが1個も無い可能性あったけど、幸いあったのでそれをボードの上に出る様にしつつ今度は逆順に取り付け。全部じゃないけど割と丁寧にケーブルにラベルが付けられてて助かった。
問題は1個残っていて、もともと簡易水冷が調子悪く動かない時、起動時のメーカーロゴの次に"PUMP SPEED( 90B )"と、異常を知らせる画面が出るんだけど、交換後もこれが出てる。
交換前は無視して起動すると、当然CPUが冷却されずやばいので慌てて電源落とすしかなくなるところ、交換後は問題なく冷却される。
これはDEEPCOOL LS320の存在を正しく認識出来てないのかもしれない。
アドレサブルRGBの為のコネクタを、別にLEDはどうでもよかったしマザボにピンヘッダがあるかも分からなかったから刺さなかったけど、もしかしてそれで認識出来ないとかなのかどうか。
とまぁPCは起動するようになったけど、後はストレージの問題が未解決。けど今日はもう疲れた。
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