タグ

ブックマーク / voluntas.medium.com (17)

  • ChatGPT で何が変わったか

    2023 年 3 月時点で、自分の開発スタイルがどう変わったかを雑に書いておく。 どんなタイミングで何を聞いているか主に GoTypeScript や W3C や IETF の仕様について聞く場合はほぼ ChatGPT Plus を利用している。間違いとかはどうせ公式ドキュメントを読めばいいので、正しさは求めておらず、きっかけを求めている。 最近では Cloudflare Workers 上で動く WebAuthn サーバーを実装しているが W3C の WebAuthn を開きつつも、ほぼ ChatGPT相談しながら実装している。 TypeScriptUint8Array から ArrayBuffer に変換する方法を聞いたり、証明書について聞いたりと色々。参考までにどんなことを聞いているかを紹介しておきたい。 WebAuthn で送られてくる署名の r と s がたまに

    ChatGPT で何が変わったか
    mitukiii
    mitukiii 2023/03/28
  • 時雨堂は何をしている会社なのか

    大変反省したので、何をやっていて、どんな会社なのか書いていきます。知ってもらうためにも定期的に更新していければ思っています。 まとめ零細企業リアルタイムな音声と映像を扱うミドルウェア製品を作って売ってるミドルウェアのクラウド版を作って売っているサブスクリプションモデルの積み上げ型OSS 重視何をやってるのか時雨堂はミドルウェアソフトウェアをパッケージとして開発、販売しています。最近は「リアルタイムな音声と映像、データの配信」に特化したミドルウェアがメインです。 現在の主力製品は WebRTC SFU Sora (以降 Sora)という来は P2P で利用する WebRTC を、クライアント・サーバー方式で利用するソフトウェアを1 から開発して、販売しています。売上のほとんどはこの製品関連になります。 製品はサブスクリプションを採用しており、 3 ヶ月、6 ヶ月、 12 ヶ月単位で Sor

    mitukiii
    mitukiii 2022/11/24
  • なぜ Zig の採用を検討しているのか

    かなり雑に書いてるので、雑に読んでください。 BunZig で開発されていることを知り、そこから Zig を調べてみています。 調べていくと自分が求めていた言語っぽいというのがあり、社外では学生に QUIC や TLS 1.3 を Zig で OSS を開発してもらうお仕事を出したり、社内では実際に採用に向けて調査を進めています。 そもそもの目的自分の会社では Erlang VM を利用した製品をメインに利用しています。ただ Erlang VM 遅いんです。少なくとも暗号処理であれば Rust の方が 2 倍ほど速いです。Erlang VM 自体 JIT を採用したり、いろいろ頑張ってくれているのですが劇的な高速化というのは今すぐには難しいのが現実です。 そこで NIFs (Native Implemented Functions) を使って頑張るという戦略があります。早い話が Er

    mitukiii
    mitukiii 2022/07/25
  • ニッチプログラマー

    Twitter で “The Nitche Programmer” という記事が流れてきたので、自分もおそらくニッチプログラマーのくくりには入ると思うので雑に何か書いておこうと思います。 思ったことを適当に書いていくので読みにくいと思います。適当に流し読みしてください。 まとめニッチかどうかはどうでもいい。 ニッチプログラマーはじめてのちゃんとしたプログラミングは Python 2.2 あたりから始まり、その後 Erlang/OTP へ切り替えて 10 年以上 Erlang/OTP を書いてご飯をべています。ここ数年は開発に注力はせず、ビジネス考える人になっています。 最近では WebRTC をメインでやっており、 Erlang/OTP + WebRTC という組み合わせであればおそらく日では社員を除けば自分だけというくらいニッチです。世界的に見ても Erlang/OTP + WebR

    mitukiii
    mitukiii 2022/05/04
  • E2EE を開発していて思うこと

    ここ数ヶ月は自社製品向けの End to End (Media) Encryption の設計と実装をしています。年内での提供を目標として開発を進めてい見ていますが、色々感じることがあったので雑に書いていこうと思います。 前提自分は暗号やセキュリティの専門家ではない自社製品向けの E2EE は Signal や Google Duo が利用している実績のある仕組みを採用しているE2EE や暗号の専門家を招聘し、相談しながら開発している自分の E2EE に対する考え悪意あるサービス管理者からユーザを守るために存在する機能と考えています。 Signal プロトコルはよく考えられすぎているSignal が考えた Curve25519 (x25519/ed25519) を利用した X3DH / Double Ratchet の仕組みは安全すぎると感じるくらいです。 相手からメッセージを受信するたび

    mitukiii
    mitukiii 2020/10/12
  • 自社製品で食べていけるようになるまでやったこと

    ミドルウェアのパッケージ製品でべていけるようになるまでやったことを自分のメモ代わりにまとめておきます。 製品の事業計画を明確にしない自分が想定したとおりに行くことが少ないこともあり事業計画を書いたりしません。日々の状況を見ながら判断をしていくということをしています。そのため中長期的な計画は品質の向上くらいにしておき、機能追加に関してはその度々に考えて実装していくのが一番です。 変化が早い分野でもあるので、事業計画を用意するメリットが零細企業にはないと考えています。 リリース前の開発進捗を共有するステルスはデメリットが多いと判断し、今開発しているもの開発中の状況などを共有しました。これは「製品をステルスで開発して、出したとしても買ってもらうまでの時間がかかる」と考えたからです。 それよりはあの会社があんなの作ってるそろそろ出るらしいと思ってもらえたほうが検討してもらいやすくなります。 今、

    mitukiii
    mitukiii 2019/01/09
  • 評価制度について – V – Medium

    評価制度について年一回、自分の考えを書いていくということをやっていくことにする。 自社の評価制度評価制度自体がないので、評価は行っていない。給与も同じで賞与も同じ。詳細を知りたい方は評価制度の無い評価制度という資料があるので見てもらいたい。 従業員が数名であることもあり、評価制度がない状況でうまく回っている。実際社員に聞いても評価制度がないのは働きやすいとのこと。 会社の事業に対してコミットし、会社の利益がでれば賞与として還元される。この仕組で困っていない。 評価制度に対する考え上司による評価、経営者による評価、全方位評価、様々な評価を受けてきたが、残念ながらどれも満足した評価制度だったことはない。 評価制度は「その評価制度」をハックする仕組みがあるのが問題だと考えている。自分はどうもその評価制度をハックするのがうまいようで、今の所不当な評価をされたことはない。 ただ、ハックできない人が評

    mitukiii
    mitukiii 2018/12/23
  • Discord Game Store – V – Medium

    なんというか、正直にいって衝撃を受けてる。Discord は「ある程度ユーザ数を集めたら MS とかに買収されて終わりなのでは?」なんて思っていたからだ。 月 4.99 ドルの Nitro なんかではこの大規模なサービスを支えきれないだろう。 Discord は自分の大好きなサービスの一つだ。WebRTC や Electron 、Elixir 、ReactReact Native 、GCP といった自分好みな技術選定。 自分が運営している技術コミュニティや、自社の OSS な製品のサポートツールとして使ったりもしている。安定感があり、軽量でパーミッションも考えられていてとても使いやすい。 お金大丈夫なのか?ともずっと思っていた。もと OpenFeint の CEO起業したこともあり、(GREE に買収されたので) お金はあるんだろう。さらに調達も 30,000,000 ドル以上を調

    mitukiii
    mitukiii 2018/10/17
  • 自分が働きたい会社にしない

    時雨堂は会社の仕組みを Gist でオープンにしている。実はあの仕組みは自分が働きたいと思う会社の仕組みではない。 時雨堂は 10:00–17:00 の定時制で 6 時間労働。さらには仕事は選べない。技術もあまり選べない。月給は安く抑えられており、賞与は保証なし。ただし儲かった場合は賞与を高めに出す。評価制度はない。 時雨堂で自分が従業員として働きたいとは思っていない。自分が従業員として働くのであれば、裁量労働で、仕事は好き勝手に選べて、給与は稼いだ分だけほしい。さらに技術は自分が使いたいものを使う。ただし堂はあってほしい。 ではなぜ時雨堂は自分の働きたい会社になっていないのか。それは単純で自分はあくまで経営者であり、従業員ではないからだ。そして自分は社会不適合者であるため、従業員としてやっていけなかったから起業した身であるからだ。 つまり従業員としてやっていけなかった人が望む会社の仕組

    mitukiii
    mitukiii 2018/08/13
  • 同時接続 700 万、秒間 2 万通という Nintendo Switch 向けプッシュ通知システム NPNS の資料を読んで

    AWS Summit Tokyo 2018 で実施されたセッション資料・動画をダウンロードすることができます。(順次公開) ※AWS Summit 2018 へお申し込みいただいていない場合、別途ダウンロード申し込みが必要となります。… 【任天堂様ご登壇事例】Nintendo Switch (TM) 向けプッシュ通知システム「NPNS」AWS はよくわからないので Erlang/OTP 視点のみです。 ejabberdejabberd はフランスの ProcessOne という会社が開発している XMPP サーバです。XMPP が何かはここでは説明しません。 ejabberd は TLS や XML 周りの性能を出すため C で書かれている以外、他はすべて Erlang/OTP で書かれています。 ejabberd の歴史はとても古く、自分が Erlang を学び始めた頃にはすでにありまし

    mitukiii
    mitukiii 2018/06/26
  • フルリモートワークを諦めた

    正社員のフルリモートワーク採用を目標としていたが諦めた。 現在、自社では週1出社それ以外は自宅からのリモートワーク社員がいる。一緒に働いて感じたことはフルリモートワークの場合はうまくやっていくことはかなり難しいだろうと感じたことだ。 自社では自社パッケージ製品を開発している。この開発には双方向のコミニュケーションがかなり必要になる。特に顔を突き合わせて話すというのがとても重要になる。さらに感覚的な話も多くなりがちだ。 実際、週1出社してる社員とはよく話をする。仕事の話、雑談。当に色々話をする。 特に自社は社員も少なく1社員が担う範囲も多く、意思疎通がとても重要になる。これが週1出社してもらうだけで、かなり違う。ギャーギャー面と向かって話ができるというのはとても重要だと感じたのだ。 フルリモートワークになると出社は月1回とかになるだろうか、大きめの企業であればうまくタスクが分担できたりして

    mitukiii
    mitukiii 2018/05/21
  • 製品品質と評価制度

    時雨堂には自社製品の検証を専門に行う社員がいる。具体的な指示は特になく「自社製品の検証よろしく」しかお願いしていない。 朝会社に来てから夜帰るまで、特に何か言われることもない。負荷試験をしていたり、ロングラン試験をしかけたり、異常系の検証をしたり。つまり何をやってもいい。 成果報告も一切不要。コミットログをみて検証したり、ドキュメントを見て検証したり。ドキュメントはわかりにくい部分を修正。 ちなみに製品にバグを見つけた場合はパッチをチャットに貼ってくる。製品の修正は開発者がやれということらしい。 勘違いしてもらいたくないのが、担当している社員はコードはゴリゴリかけるし、AWSGCP といったクラウドも使える。さらには社内ネットワークを構築したり、自社サーバの運用などもできる。 コードが書けないから検証を専門にしているとかではない。検証で利用する WebSocket クライアントは 1

    mitukiii
    mitukiii 2018/04/26
  • Discord の採用している技術

    Discord はゲーマー向けのボイスチャットサービス。テキストチャットもできるし最近ではビデオチャットや画面共有もできるようになった。 UI はかなり Slack に似ている、モダンなデザインということなんだろう。 WebRTC 技術を利用しているということで、とても気にはなっていたが使うタイミングがなかったことからあまり追いかけていなかったが、先日ビデオチャットと画面共有が追加されたということで色々調べてみることにした。

    mitukiii
    mitukiii 2017/10/13
  • 値下げをしない

    自分の方針としてもう一つ。値下げに応じないというのがある。 製品を売っていれば一度はかならず顧客から「料金交渉をお願いしたい」という名の値下げ交渉をされることがあるだろう。その場合は値下げは一切しないことを伝える。 もし値下げを粘られた場合は取引をしないほうが良い。また、値下げを一度でもしてしまうと、交渉さえすれば値下げをしてくれる会社と勝手に認識されてしまう。 顧客ごとの料金表は提供しないほうが良い。なぜなら世間は狭い。あの会社にはこの料金でだしているのに、なんてめんどくさい話も出てくる。 そのため、自分はすべての顧客に同一な料金表の提示。そして大量購入による割引。これ以上のことは一切やらない。顧客は相談はできず選択しかできない。 自分の会社の料金体系に合わない顧客とは取引をしないという方針を取っている。無理に値引きするのはその製品の寿命を縮めてしまう上に、会社の寿命も縮めてしまうと思う

    mitukiii
    mitukiii 2017/08/30
  • 一方通行な「情報交換させてください」

    Twitter では何度もつぶやいていたのだけれど、自分の意見をまとめておく。 「情報交換させてください」は殆どの場合で「自分はよく知らないので、貴方ならよく知ってるんだから教えて欲しい、タダで」というパターン。つまり一方通行が多い。 何者かわからない初対面の人に「Erlang/OTP の情報交換しましょう」と言われる怖さ。いや、貴方は誰なんだ。 特にビジネスでの「情報交換させてください」はネガティブな印象しか持たれないので当にやめたほうが良い。特に、その技術お金を稼いでいる会社に対して大変失礼だということを理解してほしい。 普通に技術的に困っているなら「困っているので相談にのってほしい」でいいし、興味があるなら「今はわからないが興味がある」でダメなのだろうか。 一方通行な「情報交換させてください」を撲滅したい。 一方通行な「情報交換をさせてほしい」の方に「技術相談ということであれば、

    mitukiii
    mitukiii 2017/06/28
  • 一つの技術で食べていく怖さ

    自分が経営する会社は今年の 7 月から自社製品が WebRTC という技術を利用したサーバ製品のみになる。 現段階ではすごく売れているというよりは、だんだん売れてきたという段階だ。大手にも採用され始めてきた。リリースして 2 年目。順調な方だろう。 一つの技術に依存する怖さは、前職で恐ろしいほど学んだ。特にある程度売れてくると怖い。 なぜなら売れるとリソースを集中し始めるからだ。まさに今のタイミングだ。リソースを集中すると他のことに目が向かなくなる。 ではどうしたらいいのか、自分が取った行動をまとめてみた。 一つの技術べていくためにその技術で、なんとなく一番を取り続けていくのが一番手っ取り早いと考えている。そのため WebRTC といえば時雨堂というのを市場に刷り込む必要がある。 継続は力なりじゃないが、とにかく継続的に発信していく。 発信だけだと難しいのでうまく顧客や一緒に組んでくれ

    mitukiii
    mitukiii 2017/05/30
  • カスタマイズをしない

    自分の会社ではパッケージ製品、つまりお客様の環境で動かして頂く製品を販売している。 そのため、カスタマイズを希望される事もある。今の機能では簡単に実現するのが難しいというのがほとんどの希望理由だ。 カスタマイズの定義は製品に対して+アルファの何らかの特別な対応を機能を追加することという事にしておく。 結論から言うと自分の会社では一切のカスタマイズを受けないというスタンスだ。カスタマイズはメリットよりデメリットの方が多いという考え方からだ。 カスタマイズのメリットまちがいなく売り上げを上げやすい事だろう。カスタマイズが必須な場合の顧客はカスタマイズを受け付けない製品を購入しない。 さらにカスタマイズ対応ということで、追加の開発費やサポート費を手にすることができる。これは前職で十分実感できた。 ただメリットはこれしか無い。 カスタマイズのデメリット一番大きいのはコードのフォークが発生してしまう

    mitukiii
    mitukiii 2017/03/21
  • 1