Live data from Hacker News

Hyperspace

hypercritical.co

371–380 of 503 posts

Re: Hyperspace

#371
post #209

Earlier quoted context omitted.

They had long discussions about the pricing on the podcast the author is a part of (atp.fm). It went through a few iterations of one time purchase, fee for each time you free up space and a subscription. There will always be people unhappy about either choice. Edit: Apparently both is possible in the end: https://hypercritical.co/hyperspace/#purchase

Who would be unhappy with $5 owned forever? Other than the author of course for making less money.

Is the author's desire not important here?

Re: Hyperspace

#372

I made a command line utility called `dedup` a while back to do the same thing. It has a dry-run mode, will “intelligently” choose the best clone source, understands hard links and other clones, preserves metadata, deals with HFS compressed files properly. It hasn’t destroyed any of my own data, but like any file system tool, use at your own risk. 0 - https://github.com/ttkb-oss/dedup

Wow, that's some excellent documentation.

I was also really impressed that `make` ran basically instantly.

Re: Hyperspace

#373

Earlier quoted context omitted.

Claude 3.7 just rewrote the whole thing (just based on reading the webpage description) as a commandline app for me, so there's that. And because it has no Internet access yet (and because I prompted it to use a workaround like this in that circumstance), the first thing it asked me to do (after hallucinating the functionality first, and then catching itself) was run `curl https://hypercritical.co/hyperspace/ | sed '…

Would you trust Claude with your hard drive?

Trust, but verify. We should always read and understand what gets spit out anyways.

When doing something with any risk potential I first ask the model for potential risks with the output, and then I manually read the code.

I also "recreated" this tool with Sonnet 3.7. The initial bash script worked (but was slow), and after a few iterations we landed on an fclones one-liner. I hadn't heard of fclones before, but works great! Saved a bunch of disk space today.

Re: Hyperspace

#374
post #88

Earlier quoted context omitted.

On ZFS it consumes a lot of RAM. In part I think this is because ZFS does it on the block level, and has to keep track of a lot of blocks to compare against when a new one is written out. It might be easier on resources if implemented on the file level. Not sure if the implementation would be simpler or more complex. It might also be a little unintuitive that modifying one byte of a large file would result in a lot d…

From a file system design perspective, does anyone know why ZFS chose to use block clones, instead of file clones?

[deleted]

Re: Hyperspace

#377

Hopefully doesn’t have similar bug like jdupes did https://web.archive.org/web/20210506130542/https://github.co...

From the FAQ

> Q: Does Hyperspace preserve file metadata during reclamation?

> A: When Hyperspace replaces a file with a space-saving clone, it attempts to preserve all metadata associated with that file. This includes the creation date, modification date, permissions, ownership, Finder labels, Finder comments, whether or not the file name extension is visible, and even resource forks. If the attempt to preserve any of these piece of metadata fails, then the file is not replaced.

Re: Hyperspace

#378

Earlier quoted context omitted.

The part where he said making a large table in HTML and rendering it with a web view was orders of magnitude faster than using the SwiftUI native platform controls made me bash my head against my desk a couple times. What are we doing here, Apple.

Shoutout to iced, my favorite GUI toolkit, which isn't even in 1.0 yet but can do that with ease and faster than anything I've ever seen: https://github.com/iced-rs/iced https://github.com/tarkah/iced_table is a third-party widget for tables, but you can roll out your own or use other alternatives too It's in Rust, not Swift, but I think switching from the latter to the former is easier than when moving away from man…

It's easy to write a quick and clean UI toolkit, but it's when you add all the stuff for localization (like support for RTL languages - which also means swapping over where icons are) and accessibility (all the screen reader support) is where you really get bogged down and start wanting to add all these abstractions that slow things down.

Re: Hyperspace

#379

Earlier quoted context omitted.

Yea, too bad :( Everyone involved with macOS and iOS development seems to be (intentionally or unintentionally) keeping us on the hardware treadmill.

Expensive. Keeping us on the expensive hardware treadmill. My guess is that it cannot be listed in the Apple store unless its only for Macs released in the last 11 months.

This isn’t true you can set the target multiple versions back. The main problem right now is a huge amount of churn in the language, APIs and multiple UI frameworks means everything is a moving target. SwiftUI has only really become useable in the last coupe of versions.

Re: Hyperspace

#380
post #349

I made a command line utility called `dedup` a while back to do the same thing. It has a dry-run mode, will “intelligently” choose the best clone source, understands hard links and other clones, preserves metadata, deals with HFS compressed files properly. It hasn’t destroyed any of my own data, but like any file system tool, use at your own risk. 0 - https://github.com/ttkb-oss/dedup

Just tried it, and it works well! I didn't realize the potential of this technique until I saw just how many dupes there were of certain types of files, especially in node_modules. It wasn't uncommon to see it replace 50 copies of some js file with one, and that was just in a specific subdirectory. I see it is "pre-release" and sort of low GH stars (== usage?), so I'm curious about the stability since this type of to…

Somewhat unrelated but I believe the dupe issue with node_modules is the main reason to use pnpn instead of npm - pnpm just uses a single global package repo on your machine and creates links inside node_modules as needed.
Post reply on HN