タグ

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

  • 時雨堂創業 12 年目

    2013 年 3 月 8 日に時雨堂を創業し、2024 年 3 月 8 日で時雨堂創業 11 年、そして 12 年目にはいりました。あっという間です。 起業のきっかけは、ある経営者に「貴方がどんなに一生懸命に製品を作ってもそれは会社のものでしかないので、自分の会社を持って自分の製品を作って、売った方がいい」といわれた事なんですが、それから 11 年立ちました。 起業したときから状況も大きく変わりました。自社製品の売り上げだけで会社が回っています。今後の時雨堂について雑に書いて行きます。 少人数でスケールする製品を作り続ける時雨堂はパッケージソフトウェアのサブスクリプションで稼いでいる会社です。営業もいないため、買いたいといってくれる企業に売るだけです。 社員が社内にあるライセンス発行サーバーに Tailscale でリモートで繋いでライセンス (JSON ファイル) を発行し、ライセンスフ

  • GitHub Copilot Enterprise のススメ

    GitHubGitHub Copilot Enterprise というサービスをはじめました。かなり革命的なのですが、とにかく高い。利用するには一人 60 ドル/月 (GitHub Enterprise Cloud 21 ドル/月 + GitHub Copilot Enterprise 39 ドル/月)かかります。なので、気になってる人向けに実際に使ってみて何が嬉しいのかを雑に書いてみます。 Pull-Request サマリーの自動生成GitHub の Pull-Request を出すとき、レビューして貰うためにこの Pull-Request の変更点を整理して書くと思うのですが、これを自動生成してくれます。 https://github.com/sile/pixcil/pull/2これは弊社の社員が個人のリポジトリで GitHub Copilot Enterprise の機能を利用

    GitHub Copilot Enterprise のススメ
    takutakuma
    takutakuma 2024/03/07
    今まで以上にちゃんとアウトプットしておくことが重要になりそう。
  • 中国圏で時雨堂が紹介された話

    X(旧Twitter) で突然フォロワーが恐ろしく増えた。それも中国圏の方々からのフォローでなんだなんだとドキドキしていた。正直スパムか?と思った。 ただ、フォローしてくる人たちのプロフィールには、 GitHub アカウントだったり、ソフトウェアエンジニアとか、プログラマーとか C++ とか Python とかの文字がやけに多かったので、ブロックしたりはせず、ドキドキしたままだった。 そして理由はこれ。有名なオープンソースプログラマーの方が、時雨堂を紹介してくれていた。 私は時雨堂という素晴らしい日の会社を発見しました。 日のインターネット企業とは違う。 彼らは新しいテクノロジー (zig) を追いかけているだけでなく、オープンソースを特に受け入れており、主に使用しているテクノロジーの開発者のほとんどをスポンサーしており、公式 Web サイトにもリストされています。 海外の方に OSS

  • 2023 年に学んで良かった技術や知識

    雑に書いていきます。 バックグラウンド自分のスキルは以下の通り。専門はリアルタイムな通信プロトコルを利用した製品の設計と開発、マーケティング。 Erlang/OTPWebRTC細かいのはこちら。 PyPIhttps://pypi.org/ 自社製品の Python SDK をリリースにあたりかなり調べた。スゴイ大変だった … 。 WebAuthn / Passkeys自社サービスに使おうと思って調べて、実装したりもしてみたがコスパが見合わないのでどこかのサービスを使おうと考えてる。いつか自作したい。 Biomehttps://biomejs.dev/ フォーマッターとリンターの設定に疲れていたので、採用したところ最高だった。勢い余ってゴールドスポンサーにもなった。 pnpmhttps://pnpm.io/ npm 遅いし、使いづらいなと思っていたので覚えた。workspace も便利。pn

  • 零細企業が OSS スポンサーになる際に気をつけてること

    今期も充分な利益を出すことができましたので、普段お世話になっている OSS のスポンサーになったり、経済的な理由で修学に困難がある学生や子どもの貧困対策への寄付をしました。 スポンサーであり、寄付ではないあくまでスポンサーであり、スポンサーになる事で「宣伝になる」事を前提としています。そのため名前やロゴをウェブサイトやブログ、リリースノートに載せてくれる事はとても重要です。 惰性でスポンサーを続けない自分たちがその OSS を利用しなくなったり、スポンサーしている開発者がOSS から距離を置いた場合、スポンサーを停止するようにしています。 OSS スポンサーをするのが嫌だと思う人を採用しないそもそも、OSS スポンサーしているのは「OSS への貢献をよしとしない」人と勝手に距離が取れるというのもあります。 零細企業による OSS スポンサーは社員の理解があってこそだと思います。 業の売上

  • Business Source License 1.1

    HashiCorp が OSI オープンソース・ライセンス のソフトウェア (以降 OSS) 製品を Mozilla Public License 2.0 (以降 MPL) から Business Source License 1.1 (以降 BUSL) にライセンス変更して話題になっています。 自社は主力製品はクローズドソース、それ以外は Apache License 2.0 で OSS として公開という戦略をとっていることもあり、 BUSL について自分の考えを雑に書いておこうと思います。 法律の専門家ではないので、間違いもあると思います。きっちり理解したい人は弁護士に相談しましょう。

  • ChatGPT で何が変わったか

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

    ChatGPT で何が変わったか
  • パッケージ製品のクラウド版を公開して1ヶ月で利益がでるまで

    ポエムです。 自社パッケージ製品のクラウド版を提供して1ヶ月で利益が出たので、どんな感じだったのかを時系列で雑に書いていきます。 前提従業員が片手で足りる人数の零細企業パッケージ製品で充分な利益を出しているパッケージ製品のクラウド化 (2022 年 1 月)自社では WebRTC に関連するミドルウェアのパッケージ製品を提供しており、これが主力商品となっています。パッケージ製品ということで運用はお客様にしてもらいます。閉じた環境でも使えるため多くのお客様に使って頂いています。 パッケージ製品の開発が落ち着いてきたこともあり、クラウド化としてとして提供することにしました。 目的としてはパッケージ運用したくないという企業の取り込みです。またパッケージは年間ライセンスですが、クラウド版は月額利用モデルにすることで、収入の安定化です。 無料のサービスで検証 (2022 年 1–3 月)まずやったこ

  • 2022 年に学んで良かった技術

    雑に書いていきます。 バックグラウンド自分のバックグラウンドスキルは以下の通り。専門はリアルタイムな通信プロトコルを利用したサーバーの設計と開発とマーケティング。 Erlang/OTPWebRTCEnd to End Encryption細かいのはこちら。 SQLGosqlc を使うために学ぶことにした。sqlc を採用したのは複数人数で開発するときの共通言語としては SQL の方がいいだろうというのと、SQL はどんなデータを持たせたいのかを伝えるのに便利と判断したため。 今までずっと通信系ミドルウェアの開発をしてきたこともあって SQL を学ぶ必要が無かったが、今回いい機会なのでちゃんと学ぶことにした。 まずは利用データベースを完全にしぼって TimescaleDB (PostgreSQL ベース) で利用する SQL だけを学ぶことにした。 書籍は元 SIer のガチ SQL

  • 時雨堂は何をしている会社なのか

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

  • オンラインドキュメントと日本語全文検索

    自社では Sphinx というドキュメントツールを利用しているのですが、残念ながらこれに付属している検索機能の日語検索はかなり厳しいです。また残念ながら Sphinx 開発側も検索周りを改善するという予定は直近ではないようです。 そして検索というのはとても難しい技術なため自分のような素人では導入して「普通に期待する動作」をさせるまでの距離はとても遠いです。 ただ、なんとかして日語全文検索を実現したいという思いはここ10 年くらいずっと思っていました。これは自社の Sphinx テーマを作ってくれている社員ともよく話をしていたのですが、どうしてもリソースをつぎ込めずにいました。 まとめ日語検索に対応している Meilisearch を採用したドキュメントスクレイパーの実行は GItHub Actions (Self-hosted Runner) を採用した自社 Sphinx テーマの検

    オンラインドキュメントと日本語全文検索
  • なぜ Zig の採用を検討しているのか

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

  • 無償での情報搾取

    IT 系零細企業を経営していて、特定の技術に強いと外から思われ始めると無償での技術情報の搾取を目的とした問い合わせが多くなる。 自分は残念ながら無償で技術情報の搾取をされた経験があるので、注意喚起として書いておく。この悪しき習慣を潰したい。 情報交換をしたいこのフレーズがメールの文章に含まれていた場合は、とても注意すべきだ。殆どの場合であなたの会社の方が情報を持っており、相手は無償で技術的な情報を得たいと考えていることが多い。 技術の分野の世界はとても狭いので、ほんとうの意味で情報交換を申し込んで来る人はあなたがすでに知っている人の可能性が高い。全く知らない人が情報交換を持ちかけてくるのはまず疑ったほうがいい。 知らない会社から「情報交換をしたい」と言われたら、丁重にお断りをするべきだ。情報交換をしたいと言ってきた会社から仕事につながった経験はまったくない。彼らは一方的な搾取を望んでいるだ

  • ニッチプログラマー

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

  • 一方通行な「情報交換させてください」

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

  • なぜ WebAssembly 生成を Go にしたのか

    オンラインイベントで聞かれて、ツイッターにつぶやいたら思った以上に反響があったので、もう少し詳細に書いてみます。 思ったより反響があったまとめ信頼できる暗号ライブラリがある自分が TypeScript より Go のほうが書けるGoWasm バイナリサイズを気にする必要がないWebCrypto にない暗号が必要自社の WebRTC SFU において End to End Encryption (E2EE) をブラウザ上で実現するためにはいくつかの壁がありました。 一つは WebCrypto が提供していない暗号を利用したいというものです。 今回 E2EE を実装するにあたり採用した Signal プロトコルでは公開鍵暗号に Curve25519 を採用しています。残念ながら WebCrypto では Curve25519 に対応していません。この時点で「暗号ライブラリをどこからもって

  • 同時接続 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 を学び始めた頃にはすでにありまし

  • HTTP API の設計方向

    Twitter の TL に Dropbox が API v2 で REST をやめたという内容がかかれている記事が流れてきた。

  • 1