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

夢に出てきた謎の設計図共有サイト
夢に出てきた謎のAI半導体メーカー
「謎の美人」→こわい
「謎のイケメン」→かっこいい
