3 ポイント 投稿者 GN⁺ 2024-06-29 | 1件のコメント | WhatsAppで共有
  • Code Galaxies は、複数の言語とオペレーティングシステムにまたがるパッケージ生態系を銀河のように探索できる可視化ページ
  • 各銀河は #/galaxy/... リンクでつながっており、パッケージマネージャーやリポジトリ単位で分かれている
  • 言語別の行き先には npm, PyPI, RubyGems, Composer, NuGet, CRAN, crates.io などが含まれる
  • オペレーティングシステム・ディストリビューション側では Debian, Fedora, Arch Linux, Arch Linux + AUR, Homebrew のパッケージを個別に見られる
  • 一部のリンクにはカメラ座標、ズーム値、バージョン時点のようなパラメータが含まれており、特定の可視化状態に直接入れる

言語別パッケージ銀河

  • JavaScript 生態系

    • Bower: クライアントサイド JavaScript パッケージマネージャー
    • npm: JavaScript パッケージマネージャー
  • 言語別リポジトリとパッケージマネージャー

    • Composer: PHP 向けパッケージマネージャー
    • RubyGems: Ruby 向けパッケージマネージャー
    • Go: go-search.org ベースの Go パッケージ検索
    • Python(PyPI): Python Package Index
    • NuGet: .NET 世界のパッケージ
    • R Language CRAN: R パッケージネットワーク
    • Rust: crates.io の Rust パッケージリポジトリ
    • Elm: Elm 言語

オペレーティングシステムとディストリビューションのパッケージ

  • Debian: Debian パッケージマネージャー
  • Fedora: Fedora パッケージ
  • Arch Linux: AUR なしの Arch Linux パッケージ
  • Arch Linux + AUR: AUR を含む Arch Linux パッケージ
  • Brew: macOS 向け Homebrew パッケージマネージャー

1件のコメント

 
GN⁺ 2024-06-29
Hacker News のコメント
  • それぞれの点が1つのプログラムで、その背後に少なくとも1人の人間がいると想像すると、これらのプロジェクトがどれほど複雑か実感できる
    かなり巨大な人間のアーキテクチャのように見える

    • こうしたプロジェクトに注ぎ込まれた膨大な人間の労力も、よりよく見えてくる
    • Linux Kernel のバージョンも見てみると面白そう
      include をグラフの辺として入れるような形でよい
  • 銀河を動き回る操作が、もどかしいほど難しい
    1本指タッチは前進なので、点をタップして何か確認するのが難しく、特に大きな点は気になって見ようとしても、その向こう側を選び続けてしまう
    デバイスを回すと向きは変わるが、特定の星に照準を合わせるのも難しい。見た目は本当に素晴らしく、実際の銀河もこのくらいの速度で探索できたらいいのにと思うが、操作性はもっと改善されるべき

    • デバイスの向きに移動する方式が一部の探索を難しくしている点には同意するが、不思議な魅力もある
      スマートフォンが別世界への窓になったような感覚
    • 最初は難しそうに見えたが、立ち上がって周囲をパンしてみるとすぐに感覚がつかめた
      宇宙船の中にいて、画面を押すと加速すると考えると、この視点だけで方向感覚がすぐ身につくのが興味深かった
    • PC とキーボードでは簡単だった
    • モバイルはひどかったが、デスクトップでは W-A-S-D + 矢印キーでかなり楽しく移動できる
  • 見た目はとてもかっこいいが、2D 可視化のほうが実用的だったかもしれない
    たとえば、点の大きさが依存パッケージ総数を意味するという事実が、点の大きさがカメラとの距離にも左右されるせいで見えにくくなっている

    • Jurassic Park に出てきた 3D ファイルブラウザ UI を思い出す
      実在のアプリケーションで、見た目はかっこいいが使いやすくはなかった
      3D インターフェースは概してうまくいかないが、Vision Pro や Quest のようなデバイスが 2D より優れた 3D UI を可能にするのかは気になる
    • アーキテクチャ上の判断をする目的なら 2D のほうが実用的かもしれないが、このプロジェクトは作者が宇宙船のメタファーを遊び心をもって受け入れたおかげで、より興味深く楽しいものになったと思う
      2D のコードグラフはすでにたくさん見てきた
    • 距離を何で計算しているのかわからない
      モバイルでは凡例や説明を見つけられなかった
      追記: 右下の about を見つけた: https://github.com/anvaka/pm/tree/master/about#software-gala...
      距離はクラスタリングアルゴリズムが決めているようで、かなり恣意的に見える
  • こういうものが好き:
    https://github.com/acaudwell/Gource : Git リポジトリから美しく有機的な映像を生成する
    https://code.google.com/archive/p/codeswarm/ : Gource に似ている
    https://skyline.github.com : Atom と同じく、今では死んでいる

    • うちの部署では Gource で毎日深夜に映像をレンダリングするようにしておき、オーバーレイやプロフィール写真を大量に載せて、プロジェクトの進捗や誰が何をしたかを見せていた
      部署前の iPad でループ再生し続け、特に短期間参加したインターンの貢献も忘れられないようにしていた
  • 天文学的に少し言うと、これは銀河というより星団に近い
    銀河は通常、ほとんどに円運動量があり、腕のような構造ができる
    マーケティング用語としても “Software star clusters” のほうがよいかもしれない
    さらに、銀河が維持されるには暗黒物質が必要だという仮説が広く受け入れられているが、ソフトウェアの比喩でそこまで踏み込みたくはない

    • だとすると結局、私たち全員を結びつけているのはダークウェブなのか?
    • GitHub スターやその社会的ダイナミクスと混同してはいけない
  • 直感的でなく、見つけにくい操作のせいで、ほとんど使えない
    Android 版 Firefox ではピンチズームやパンといった標準的なタッチスクリーン操作が機能しない
    about ページにはデバイスを回すように書かれているが、ユーザーがそうしたいと思っている、地下鉄やバスに乗っていない、スタンドに固定された大きなタブレットを使っていない、あるいはさまざまなアクセシビリティ上の制約がない、と仮定するのはかなり大胆だ

  • なんてこった、leftpad だらけだ

    • is-even が最初に検索してみたパッケージだった
  • JavaScript 領域を動き回っていると、端のほうにかなり笑えるものが見えた
    ワープコア放出: https://i.imgur.com/h1ngR7A.png
    荒涼とした bare defaults: https://i.imgur.com/hLWXqER.png
    理想的な原子分離: https://i.imgur.com/3lmujgV.png
    黒い馬に乗って地平線を駆ける: https://i.imgur.com/e6NnsDv.png
    冗談はここまでとして、可視化自体は悪くないが、分布は少し混乱している
    Microsoft が自分だけの世界に遠く離れているような明確な例もあったが、関連していそうなものがはっきりしたつながりもなく遠くに配置されているケースも多く、angularJS への参照も端のほうで見つけることになった

  • Go 側のデータセットはかなり古く、時代遅れに見える
    少なくとも5〜10年前のデータのようだ

    • Golang には少し変わった集約サイトを使っていたが、数年前に潰れたようだ
      いくつかパッケージをクリックしてみたらカジノ広告が出てきた
    • R も同じ
  • Golang 銀河をクリックすると、go-search.org というギャンブルサイトのようなところが表示されるのは自分だけ?