[{"data":1,"prerenderedAt":359},["ShallowReactive",2],{"project-49438865":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":28,"sentiment":29,"stance_mix":30,"scored_comments":34,"aspects":35,"strip":43,"post_text":44,"what":45,"said":66,"maker_in_thread":159,"shape":164,"grid":168,"attempts":322,"same_week":323,"maker_shows":280,"maker_hidden":351,"reader_version":352,"card":353},"49438865","defragger","I missed the moving blocks, so I built a real Linux disk defragmenter","title","Show HN: I missed the moving blocks, so I built a real Linux disk defragmenter","https:\u002F\u002Fgithub.com\u002Fgbin\u002Fdefragger","github.com","gbin",1787684247,2026,97,69,698,4366,16,"notable","dev_tools","disk defragmenter","cli",[24,25,26,27],"linux defragmenter","disk defrag","ext4 fragmentation","ssd defrag","mixed",-0.229,{"positive":31,"neutral":32,"mixed":31,"critical":33},2,6,8,18,{"idea":36,"performance":39,"design":41},{"positive":37,"critical":38},1,5,{"positive":37,"critical":40},3,{"positive":42,"critical":42},0,[38,42,42,42,42,42,42,42,42,42,42,42,37,42,42,42,42,37,42,40,40,42,37,37,42,42,37,38,42,40,42,40,37,40,42,40,37,42,42,40],null,{"problem":46,"audience":44,"pricing":44,"motivation":57,"time_to_build":44,"stack":63,"openness":64,"stage":65,"team_size":65},{"value":47,"source":48,"evidence":49},"Linux filesystems fragment files; the maker wanted a defragmenter for reproducible storage layouts and benchmarking","maker",[50,53],{"id":51,"by":11,"text":52},"49498882","What actually triggered me to do that was to be able to test repeatably my other open source project in rust were the compile target directory can go to hundreds of gigabytes of…",{"id":54,"by":55,"text":56},"49497005","dspillett","> I needed a reproducible storage layout while testing a high-throughput logger. Of course just having a compressed filesystem image to restore for each test, or a collection of…",{"value":58,"source":48,"evidence":59},"Missed the moving blocks of classic Windows defragmenters and needed reproducible storage layout for testing a high-throughput logger",[60,62],{"id":61},"post",{"id":54,"by":55,"text":56},[],"open_source","unknown",{"praise":67,"objections":89,"requests":127,"questions":136,"alternatives":144},[68,80],{"value":69,"source":70,"evidence":71},"Nostalgic graphical view of moving blocks","commenter",[72,76],{"id":73,"by":74,"text":75},"49495543","AnonHP","I like the graphical interface and the movement of the blocks. Brings back memories of defragmenting hard drives once a month and seeing noticeable performance improvements…",{"id":77,"by":78,"text":79},"49495828","d3Xt3r","This cool, but can we get an option to emulate HDD noises please? I really miss the whirrs, clicks and creaks. And the little LED that indicated disk activity... but that'd be a…",{"value":81,"source":70,"evidence":82},"Useful benchmark results from the maker on fragmentation impact",[83,86],{"id":84,"by":11,"text":85},"49498822","I discovered that tested performance on copper-rs a high performance OS for robotics when I run it on ext4 and what is annoying in robotics is the max latency & jitter.…",{"id":87,"by":11,"text":88},"49498829","Yes: I discovered that tested performance on copper-rs a high performance OS for robotics when I run it on ext4 and what is annoying in robotics is the max latency & jitter.…",[90,105,116],{"value":91,"source":70,"evidence":92},"Defragmenting SSDs is pointless and harms flash lifetime",[93,97,101],{"id":94,"by":95,"text":96},"49495434","bitwize","This is the most useless thing I've seen on here lately. It's not necessary on hard drives, as the page cache did a decent job of improving disk access even in the 90s, let alone…",{"id":98,"by":99,"text":100},"49497431","rasz","Pointless and harmful to flash storage. SSD sector numbers are virtual anyway. Its like defragging emails in your inbox.",{"id":102,"by":103,"text":104},"49495664","Joel_Mckay","Except most SSD also don't store pages sequentially internally (hidden flash wear leveling is even in microsd cards now), and the dram\u002FSLC buffer areas are finite especially on…",{"value":106,"source":70,"evidence":107},"Filesystem and SSD firmware remapping make logical defragmentation ineffective",[108,112],{"id":109,"by":110,"text":111},"49495720","__d","Is it possible to determine which sectors are physically sequential given remapping for wear-leveling? Otherwise the claimed defragmentation here is not actually resulting in…",{"id":113,"by":114,"text":115},"49495778","wtallis","You cannot directly inspect the degree of fragmentation, because it has less to do with being contiguous in the Logical Block Address (LBA) space and more to do with having been…",{"value":117,"source":70,"evidence":118},"Benchmarks on the maker's device are needed to support the claims",[119,123],{"id":120,"by":121,"text":122},"49496148","dsemakin","Would be really cool to see two things. First some kind of before and after benchmark, so you can actually see if defragging made a difference. Second is a recommendation for…",{"id":124,"by":125,"text":126},"49504571","_g0xr","The page you linked to doesn't say that anywhere.",[128,132],{"value":129,"source":70,"evidence":130},"Emulated HDD noises and disk activity LED",[131],{"id":77,"by":78,"text":79},{"value":133,"source":70,"evidence":134},"Before and after benchmark and a recommendation based on drive type",[135],{"id":120,"by":121,"text":122},[137],{"value":138,"source":70,"evidence":139},"Why Linux needs defragmentation at all and whether it helps on SSDs",[140],{"id":141,"by":142,"text":143},"49496850","andai","Neat! I have several questions here. First of all, why does Linux not need defragmentation? Second, is it actually true that it doesn't need it? The readme implies that this…",[145,152],{"value":146,"source":70,"evidence":147},"fragview, a Linux partition fragmentation visualiser",[148],{"id":149,"by":150,"text":151},"49505416","kvemkon","To visually inspect fragmentation of a partition on Linux, a tool exists since 15 years: https:\u002F\u002Fgithub.com\u002Fi-rinat\u002Ffragview. Just in case.",{"value":153,"source":70,"evidence":154},"e4rat, which reorders boot files sequentially",[155],{"id":156,"by":157,"text":158},"49495170","jewel","This made me think of https:\u002F\u002Fe4rat.sourceforge.net\u002F, which moves boot files into sequential runs, which was helpful on spinning disks where seeks were slow but sequential reads…",{"comments":32,"answered":37,"key":160},[161,162,163],{"id":84,"text":85},{"id":87,"text":88},{"id":51,"text":52},{"commenters":165,"max_depth":33,"maker_replies":32,"first_comment_mins":166,"lifespan_hours":167},40,193,165,[169,173,177,180,183,187,189,192,194,197,199,201,202,205,208,211,214,217,219,223,226,227,228,230,232,235,237,240,243,245,249,251,253,256,258,261,263,264,267,270,272,273,275,277,279,282,285,287,288,290,291,293,296,298,300,302,304,306,310,312,317],[170,42,38,171,172,42],"49441390","project\u002Fpositive\u002Fidea","blobdole",[174,42,42,175,176,42],"49495283","other\u002Fneutral\u002Fnone","throwaway17_17",[178,42,42,175,179,42],"49495558","prmoustache",[181,42,42,175,182,42],"49495588","snailmailman",[184,42,42,185,186,42],"49495689","commenter\u002Fneutral\u002Fnone","charcircuit",[188,42,42,185,182,42],"49495773",[190,42,42,185,191,42],"49495934","gregglain",[193,42,42,185,186,42],"49496442",[195,42,42,185,196,42],"49495844","akdev1l",[198,42,42,185,186,42],"49496443",[200,42,42,185,196,42],"49523508",[124,42,42,185,125,42],[203,42,42,175,204,42],"49496033","ButlerianJihad",[206,42,42,175,207,42],"49497867","netsharc",[209,42,42,185,210,42],"49497066","laweijfmvo",[212,42,42,185,213,42],"49522800","1718627440",[215,42,42,175,216,42],"49495787","Brian_K_White",[218,42,42,175,176,42],"49496305",[220,42,37,221,222,42],"49495381","project\u002Fcritical\u002Fidea","socalgal2",[224,42,42,225,186,42],"49495515","commenter\u002Fneutral\u002Fperformance",[109,42,42,225,110,42],[113,42,42,225,114,42],[229,42,42,225,150,42],"49505554",[231,42,42,225,186,42],"49495929",[233,42,42,225,234,42],"49495800","Groxx",[236,42,37,221,222,42],"49496002",[238,42,42,185,239,42],"49495477","doublepg23",[241,42,42,175,242,42],"49497147","Modified3019",[244,42,42,185,239,42],"49498171",[246,42,40,247,248,42],"49496537","project\u002Fneutral\u002Fidea","ErroneousBosh",[84,42,42,250,11,37],"project\u002Fpositive\u002Fperformance",[73,37,40,252,74,42],"project\u002Fmixed\u002Fperformance",[254,37,42,225,255,42],"49495607","gertop",[102,37,37,257,103,42],"project\u002Fcritical\u002Fperformance",[259,37,42,225,260,42],"49495674","toast0",[262,37,37,257,103,42],"49495639",[87,37,42,250,11,37],[265,31,42,175,266,42],"49497324","_puk",[268,31,42,175,269,42],"49498189","newtwentysix",[51,31,42,271,11,37],"project\u002Fneutral\u002Fperformance",[94,40,37,221,95,42],[274,40,38,250,260,42],"49495743",[276,40,42,175,95,42],"49503416",[278,40,42,271,11,37],"49498948",[77,280,40,281,78,42],4,"project\u002Fneutral\u002Fdesign",[283,280,42,185,284,42],"49495850","londons_explore",[286,280,42,175,103,42],"49495904",[156,38,40,247,157,42],[289,38,37,257,260,42],"49495764",[120,32,40,281,121,42],[141,292,40,247,142,42],7,[294,292,42,175,295,42],"49497076","vbernat",[297,292,42,225,11,37],"49498912",[54,33,40,299,55,42],"project\u002Fmixed\u002Fidea",[149,301,37,221,150,42],9,[98,303,37,221,99,42],10,[305,303,42,271,11,37],"49498921",[307,308,42,175,309,42],"49496645",11,"Jemm",[311,308,42,175,142,42],"49496863",[313,314,40,315,316,42],"49495237",12,"project\u002Fneutral\u002Fnone","collabs",[318,319,42,320,321,42],"49495911",13,"commenter\u002Fcritical\u002Fnone","rvz",[],[324,329,333,337,342,346],{"id":325,"name":326,"points":327,"category":328},"49373456","simedw.com",598,"creative",{"id":330,"name":331,"points":332,"category":20},"49378768","Huzzah",384,{"id":334,"name":335,"points":336,"category":328},"49419351","rack-02",240,{"id":338,"name":339,"points":340,"category":341},"49437049","LatticeDB",190,"data",{"id":343,"name":344,"points":345,"category":341},"49421806","PicoMQ",159,{"id":347,"name":348,"points":349,"category":350},"49410814","Thoreau BASIC",156,"languages",false,"v2",{"id":354,"name":5,"line":6,"ai":351,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":355,"top":18,"kw":356,"maker":11,"domain":10,"tier":19,"attempts":42,"strip":357,"url":9,"mix":358,"praise":69,"objection":91,"sub":21},49438865,-0.23,[24,25,26,27],"5000000000001000010330110015030313031003",[31,32,31,33],1793991164776]