{"id":1051,"date":"2023-10-29T21:25:29","date_gmt":"2023-10-29T20:25:29","guid":{"rendered":"https:\/\/mattiesworld.gotdns.org\/weblog\/?p=1051"},"modified":"2024-10-03T00:12:29","modified_gmt":"2024-10-02T23:12:29","slug":"new-app-fdupes-gui","status":"publish","type":"post","link":"https:\/\/mattiesworld.gotdns.org\/weblog\/2023\/10\/29\/new-app-fdupes-gui\/","title":{"rendered":"new app: fdupes-gui"},"content":{"rendered":"\n<p>A few years ago, I wanted to clear out the duplicates I had in my Google Drive. It&#8217;s not a trivial task as deleting files with the same filename does not cut it: I receive tons of generated pdf&#8217;s with the same filename and when time is short (or when being lazy &#x1f609;), I just save it to Google Drive as is. The inevitable consequence is: one day cleanup is needed. &#x1f601;<\/p>\n\n\n\n<p>Anyone familiar with linux might think of the &#8216;<a href=\"https:\/\/linux.die.net\/man\/1\/fdupes\" data-type=\"link\" data-id=\"https:\/\/linux.die.net\/man\/1\/fdupes\">fdupes<\/a>&#8216; utility: it not simply compares the filename but, according to the manual:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>comparing file sizes and MD5 signatures, followed by a byte-by-byte comparison<\/p>\n<\/blockquote>\n\n\n\n<p>Excellent. Except, when you have to go through tons of documents and files, it&#8217;s not that practical. So, with my 2021 new year&#8217;s resolutions still fresh in my head, I persevered and coded a quick gui mashup.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/mattiesworld.gotdns.org\/weblog\/wp-content\/uploads\/2023\/10\/screenshot.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"711\" src=\"https:\/\/mattiesworld.gotdns.org\/weblog\/wp-content\/uploads\/2023\/10\/screenshot-1024x711.png\" alt=\"\" class=\"wp-image-1053\" srcset=\"https:\/\/mattiesworld.gotdns.org\/weblog\/wp-content\/uploads\/2023\/10\/screenshot-1024x711.png 1024w, https:\/\/mattiesworld.gotdns.org\/weblog\/wp-content\/uploads\/2023\/10\/screenshot-300x208.png 300w, https:\/\/mattiesworld.gotdns.org\/weblog\/wp-content\/uploads\/2023\/10\/screenshot-768x533.png 768w, https:\/\/mattiesworld.gotdns.org\/weblog\/wp-content\/uploads\/2023\/10\/screenshot-1536x1066.png 1536w, https:\/\/mattiesworld.gotdns.org\/weblog\/wp-content\/uploads\/2023\/10\/screenshot-2048x1422.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Workflow<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The gui presents a list of all file duplicate groups. <\/li>\n\n\n\n<li>When you click on a group, you are presented with a list of all duplicates.<\/li>\n\n\n\n<li>You inspect what the document is about by clicking on the filename, which opens it with the default viewer for this file type.<\/li>\n\n\n\n<li>You rename one of duplicates to the desired final filename by clicking the &#8216;Edit&#8217; icon.<\/li>\n\n\n\n<li>You delete the renaming files using the &#8216;Trash&#8217; icon.<\/li>\n\n\n\n<li>The UI prevents you from deleting the last one &#x1f609;<\/li>\n<\/ul>\n\n\n\n<p>Simple, but effective!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Release<\/h2>\n\n\n\n<p>I coded this a few years ago, but apparently never got to publishing the code, or even just a blog post. This weekend, I cleaned up the project and added the macOS platform (originally only linux was supported). I feel weird about supporting macOS, but the world is how it is: if you want to publish your app for iOS, you need to buy Apple hardware.. <\/p>\n\n\n\n<p>Find the project on <a href=\"https:\/\/github.com\/mx1up\/fdupes-gui\" data-type=\"link\" data-id=\"https:\/\/github.com\/mx1up\/fdupes-gui\">github<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A few years ago, I wanted to clear out the duplicates I had in my Google Drive. It&#8217;s not a trivial task as deleting files with the same filename does not cut it: I receive tons of generated pdf&#8217;s with the same filename and when time is short (or when being lazy &#x1f609;), I just &hellip; <a href=\"https:\/\/mattiesworld.gotdns.org\/weblog\/2023\/10\/29\/new-app-fdupes-gui\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">new app: fdupes-gui<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[45,4,46,6],"tags":[],"class_list":["post-1051","post","type-post","status-publish","format-standard","hentry","category-fdupes-gui","category-linux","category-macos","category-software"],"_links":{"self":[{"href":"https:\/\/mattiesworld.gotdns.org\/weblog\/wp-json\/wp\/v2\/posts\/1051","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mattiesworld.gotdns.org\/weblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mattiesworld.gotdns.org\/weblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mattiesworld.gotdns.org\/weblog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mattiesworld.gotdns.org\/weblog\/wp-json\/wp\/v2\/comments?post=1051"}],"version-history":[{"count":1,"href":"https:\/\/mattiesworld.gotdns.org\/weblog\/wp-json\/wp\/v2\/posts\/1051\/revisions"}],"predecessor-version":[{"id":1054,"href":"https:\/\/mattiesworld.gotdns.org\/weblog\/wp-json\/wp\/v2\/posts\/1051\/revisions\/1054"}],"wp:attachment":[{"href":"https:\/\/mattiesworld.gotdns.org\/weblog\/wp-json\/wp\/v2\/media?parent=1051"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mattiesworld.gotdns.org\/weblog\/wp-json\/wp\/v2\/categories?post=1051"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mattiesworld.gotdns.org\/weblog\/wp-json\/wp\/v2\/tags?post=1051"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}