{"id":25244160,"url":"https://github.com/mrc/dude","last_synced_at":"2025-04-05T20:44:24.392Z","repository":{"id":11423361,"uuid":"13875320","full_name":"mrc/dude","owner":"mrc","description":"Disk Usage Difference Enumerator","archived":false,"fork":false,"pushed_at":"2013-10-26T00:43:10.000Z","size":100,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-12T01:17:49.062Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Perl","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mrc.png","metadata":{"files":{"readme":"README.org","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-10-26T00:42:28.000Z","updated_at":"2014-09-09T14:49:31.000Z","dependencies_parsed_at":"2022-08-25T19:20:42.722Z","dependency_job_id":null,"html_url":"https://github.com/mrc/dude","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrc%2Fdude","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrc%2Fdude/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrc%2Fdude/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrc%2Fdude/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mrc","download_url":"https://codeload.github.com/mrc/dude/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247399890,"owners_count":20932876,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-02-12T01:17:53.221Z","updated_at":"2025-04-05T20:44:24.370Z","avatar_url":"https://github.com/mrc.png","language":"Perl","funding_links":[],"categories":[],"sub_categories":[],"readme":"* Dude, Where's My Disk Space?\n\n*dude*: Disk Usage Difference Enumerator\n\n* What?\n\nHow does your disk usage change?\n\nA set of TimeMachine incremental backups has historical information\nsuch as what files were created, deleted, and changed between backups,\nand how much disk space was consumed between backups.\n\n*dude* interrogates TimeMachine (with =tmutil=) like this:\n\n  1. Get a list of all backups\n  2. Taking them in pairs (chronologically adjacent), build a report\n     of the differences between them\n  3. If a report already exists for a pair, it is not rebuilt\n\nThankfully =tmutil= can produce this data in machine readable XML, so\na future project can answer the question: Where's My Disk Space?\n\n* Running\n\n#+BEGIN_SRC sh\n% dude\n#+END_SRC\n\nDifference reports will be stored in =~/Library/Application\nSupport/com.golmac.DudeWheresMyDiskSpace=.\n\nFor me, with a TimeCapsule on 802.11n, it takes a while to run...\n\nAlso, over time as TimeMachine coalesces backups, courser reports will\nbe built. *dude* does nothing special here; the earlier, fine-grained\nreports still exist.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmrc%2Fdude","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmrc%2Fdude","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmrc%2Fdude/lists"}