YoshikuniJujo's avatar
YoshikuniJujo
YoshikuniJujo@yoshikunijujo.github.io
npub1a7y7...fdm2
Haskell好き
YoshikuniJujo's avatar
YoshikuniJujo 4 months ago
「情報が漏洩したので火消しのために、お金をください」 「大変だ。このお金を使いなさい」 「だまされたな、あれがやつの手口なんだ」 「よかった。情報漏洩はなかったんだ」
YoshikuniJujo's avatar
YoshikuniJujo 4 months ago
「『技術的には可能です』とか言って何もしてくれないあいつらより、『それはいいアイデアですね』って言ってくれるこいつのほうを、おれは信じることにする」
YoshikuniJujo's avatar
YoshikuniJujo 4 months ago
「AIの書いたコードなんて信じられない」と思うのは「自分で書いたコード」と比較するからで、プログラマじゃない人からすれば、そのへんの意味わからないこと言ってるプログラマの書いたコードとの比較になるので、「この『人の気持ちによりそうことのできる存在』の書いたコードのほうが信じられる気がする」となってもわかる気はする。
YoshikuniJujo's avatar
YoshikuniJujo 4 months ago
「このLってのは、どういう意味ですか?」 「LはlargeまたはlittleのLです」
YoshikuniJujo's avatar
YoshikuniJujo 4 months ago
開かれた直和型ってのは、data Foo = A | B | Cみたいになってるときに、さらにD, E, Fを追加してdata Foo = A | B | C | D | E | Fとすることが型Fooの定義を書き換えずにできるということ。 開かれた直積型はdata Foo = Foo A B Cみたいになってるときに、さらにD, E, Fを追加してdata Foo = Foo A B C D E Fみたいにできるという話だと思う。 開かれた直積型ってのは「ヘテロリスト」っていう感じ。
YoshikuniJujo's avatar
YoshikuniJujo 4 months ago
フィルター型の値は、大小関係や等値関係を葉としてandとorと必要ならnotを追加した木構造として表現できるかな。 ある意味それをprimitiveとして、もっと具体的なNostr専用の型も用意して、それからprimitiveなほうに変換して使うみたいな感じを考えている。
YoshikuniJujo's avatar
YoshikuniJujo 4 months ago
乱数の品質が良ければ、64ビット整数値2個で、「人間が認識できるあらゆるもの」に唯一無二の名前がつけられるという話って、おもしろいなって思う。 64ビット整数値2つって16バイトじゃん。
YoshikuniJujo's avatar
YoshikuniJujo 4 months ago
リレーの基礎的な部分を組み立ててるのだけど、とりあえずイベントをデータベース(SQLite3)に出し入れするところまでできた。 「出し」のところは半分かな。次はフィルターを設計する必要がある。めんどいな。 まずはフィルターを表すデータ型を作って、それを使ってあたえられたイベントについてFalse/Trueを返す関数を定義するかな。 で、適切なフィルター型ができたところで、それをSQLのwhere句に変換するのだけど、セキュリティの強化のためにプレースホルダーを使うので、たとえば(String, [Value])みたいな形で結果を返すようにする感じかな。 めんどい。
YoshikuniJujo's avatar
YoshikuniJujo 4 months ago
他に理由がなければUUID v7そのものか、あるいはそれに由来する2つの64ビット整数を主キーとしておけばいいのではないか、というのが僕の今の境地。
YoshikuniJujo's avatar
YoshikuniJujo 4 months ago
NostrのAPIだと1秒以内に同一アカウントからされた同一内容の書き込みは、単一のものとしてあつかう(のだと思う)。 これは複数のリレーに重複した書き込みをすることが許されて(推奨されて)いることもあり、重要な意味を持つ。 でも、それぞれのリレー単位では同一アカウントからの同一内容の書き込みであっても、それらを区別して保存することは別に問題ではないし、ある意味では誠実な実装とも言える。
YoshikuniJujo's avatar
YoshikuniJujo 4 months ago
warningが出てた。 all types now auto-derive Typeableらしい。 前はderiving (Typeable)みたいにしてたけど、今は「すべての型が自動でTypeableをderiveする」らしい。
YoshikuniJujo's avatar
YoshikuniJujo 4 months ago
simplest-sqliteっていうパッケージを公開しているのだけど、バグがあった。 たぶんsqlite3_bind_textとかってのは長さのところに-1を指定するとヌル文字までを読み込んでくれるのだけど、sqlite3_bind_blobのほうは、当然のようにちゃんとバイト数を指定しなきゃならない。
YoshikuniJujo's avatar
YoshikuniJujo 4 months ago
クロワッサンがうまく膨らまなくなって、春の訪れを感じる
YoshikuniJujo's avatar
YoshikuniJujo 4 months ago
プログラマーに向いてる資質と、セキュリティ関連の仕事に向いてる資質とは、けっこう違うので、セキュリティ専門の職種をもっとメジャーにする必要があると思う。
YoshikuniJujo's avatar
YoshikuniJujo 4 months ago
上が前回のクロワッサンで下が今回の。 上のほうがキメが詰まっている。 今回は生地をちょいちょい冷凍庫で冷やしたので、それが効いてるのだと思う。
YoshikuniJujo's avatar
YoshikuniJujo 4 months ago
「謎の美人」→こわい 「謎のイケメン」→かっこいい