世界を動かす技術を、日本語で。

rsyncアルゴリズム(1996年)[pdf]

2026年1月3日原文(andrew.cmu.edu)

概要

  • お送りいただいたデータは、 PDFファイルのバイナリデータ です。
  • テキスト抽出や内容要約は直接できません
  • PDFの内容を知りたい場合は、 テキストデータとして再投稿 をお願いします。
  • 画像やスキャンの場合は、 OCRツールの利用が必要 です。
  • 詳細な内容説明や要約をご希望の場合、 本文データの提供が必須 です。

PDFデータの内容確認・要約依頼について

  • 現在投稿されている内容は PDFファイルの生データ (バイナリデータ)です。
  • テキスト情報が含まれていないため、内容の確認や要約はできません
  • PDFファイルの中身を知りたい場合は、 PDFからテキストを抽出し、そのテキストを投稿してください
    • 例:PDFビューワーで「テキストをコピー」し、貼り付けて投稿
    • 例:OCRツールで画像PDFからテキスト化
  • PDFファイル自体のアップロードや解析はこのチャットでは対応できません
  • テキストデータを投稿いただければ、 要約や構造化、翻訳などの対応が可能 です。

ご協力のお願い

  • 内容要約や説明をご希望の場合は、PDFの本文テキストを投稿してください
  • PDFが長い場合は、 必要なページや抜粋部分のみでも対応可能 です。
  • ご不明点があれば、 どのような内容か、どの部分に興味があるかを具体的にご相談ください

Hackerたちの意見

よく書けてるし、簡潔だね。この小さな文書は、僕がコンピュータサイエンスを始めた頃の印象を示してる。コンピュータをもっと効率的で賢くする方法、実際の問題を解決するための手段だよ。自称「コンピュータサイエンティスト」や「エンジニア」の人たちが、こういう実際の問題(効率的なファイル同期)に取り組んでくれたらいいのに。新しいReact APIの使い方を学んだり、いろんなサービスに影響を与えてるNextJSのCVEを修正するのに時間を使うのはもったいないと思う。

まあ、当時のシステムのセキュリティレベルは本当にひどかったからね。

自称「マネージャー」が「エンジニア」にこういう仕事をさせることができればいいんだけど、彼らの製品や利益、パフォーマンスレビューには関係ないからね。少なくとも彼らの頭の中では。

最近これをかなり使ってるよ。リモートの仮想マシンをセットアップしてて、すべてのソフトウェアが入ったライブISOを起動するんだ。時々、小さな設定ファイルを変更する必要があって、それが新しい1.7GiBのISOを生成することになるんだけど、その99.9%は前のものと同じなんだ。だからrsyncを使ったんだ。これらのイメージを一日中作業して、1.7GiBのISOを次々とアップロードしてたら、wireguardが送信したのは600MiBだけだって表示して、びっくりしたよ。面白いことに、rsyncは最初にファイルサイズと最終更新時間を使ってファイルが同じかどうかを確認するんだ。これらのISOはnixで作ってるんだけど、nixは再現可能なビルドのために時間を1970年1月1日に設定するから、ISOが次のセクターまでパディングされてると思う。だから、設定ファイルを少し変更したときに新しいISOイメージにrsyncが気づかなかったんだ。--checksumフラグを追加するまでね。

昔は、数MBの毎日の差分をISOからダウンロードしてたんだ。それを昨日のISOに適用してたけど、そのツールの名前は忘れちゃった。自分のマシンでやってたから、親がリモートマシンで更新したい場合は同じようにできるかは分からないな。

もし100GBのイメージだったら—運が良いね!rsyncを使うよりも、毎回最初からコピーした方が早いよ。

BorgBackupみたいなものは、rsyncよりずっと効率的だよ。

面白いタイミングだね、今日NASをセットアップする時にこれを使ったばかりだよ。

面白い事実だけど、rsyncの作者であるアンドリュー・トリッジェルは、Sambaの基礎を築いたMicrosoft SMBを逆アセンブルした人でもあるんだ。彼がどうやってMicrosoftからの訴訟を避けたのかは謎だね。[1] サーバーメッセージブロック: https://en.wikipedia.org/wiki/Server_Message_Block

プロトコルはソフトウェアじゃなくて、相互運用性のために必要なんだ。ヘッダーファイルも同じ。実際には互換性がない競合するソリューションを導き出す「誤用」があると問題が起きるよ。

彼は無料のBitKeeperクライアントも書いてて、ラリー・マクボイと対立したんだ。それが主にgitが生まれた理由でもあるよ。https://blog.brachiosoft.com/en/posts/git/

オーストラリア人は、彼がANUで博士課程の学生だった時にrsyncとSambaに取り組んでいたことを知っておくといいかもね。

Hacker Newsで議論の続きを見る