people say "why is it bad if someone doesnt know what a file is" and then my mom hands me her phone with 64gb of storage and no free space because she keeps downloading things and never deleting them and every time she needs something again she re-downloads it instead of finding it in the file explorer

also apparently chrome notifications on for 100+ websites

60ish open tabs

bluetooth and location services always turned on

apps never closed after use

how do people live like this. the phone is struggling to even unlock the screen at this point

shes not even that old! not even a boomer or anything! and she keeps asking me to teach her how to use things, and i teach her, as clearly as i can, and she just ignores everything i say and goes "oh... so how do i do [thing i just explained 5 minutes ago]"

maybe if we have decided that the humanity will rely on computers on a daily basis, maybe, just maybe, we should teach people some basic computer things and not try to obfuscate everything away with "let your friend apple handle it for you"

@AgathaSorceress im pretty sure u could like optimize 99% of phone use by just having a fast sha1 check before and a thing that comes up and says "hey, you likely have already downloaded this, do you want to continue downloading it?"

@efi @alexandria @AgathaSorceress you could download the file, and if you find that its hash matches a previous download, you can delete the previous download...
But I guess this sounds more like: I'm gonna build a Download object store and not a Download folder.

@IngaLovinde @efi @alexandria @AgathaSorceress I guess not. But on Android Downloads are backed by a folder on an FS right?

@tamtararam @alexandria @AgathaSorceress doesn't solve it, a hash would not match for the same url with different content, even if the changes are not significant to the user

@efi @alexandria @AgathaSorceress Hmm. Then Google, at least turn on automatic deletion by default please.

@tamtararam @alexandria @AgathaSorceress there's just no simple solution to cache invalidation, stop trying XD

@tamtararam @efi @AgathaSorceress Nah cache invalidation is easy to solve when the entire "move/change file" is dealt with by a locked down OS like android. plus Files and all the other apps on your phone already build caches for thumbnails, etc. it wouldn't be hard to add *other* metadata like file hashes -- or even like "wow this thumbnail has a similar hash to this other thumbnail"

@tamtararam @efi @AgathaSorceress like the whole point of this idea (and tbh, all problems in computer science wrt Users) is it doesn't need to be good enough, it just needs to be 99%

type systems deal with "can we properly validate X Y and Z about a program" by rejecting as invalid all other programs for which it's impossible to verify this property.

in a similar vein, my tagging system dealt with cache invalidation by shifting the onus on what a "tag name" was to the tagging program's config file. So you can get 4096 tags to a file and it *stays with the file* across renames and moves without having a background inotify program listening to those events, but if you move it to a different filesystem or system, then the tag exists but is nameless.

text to speech algorithms do a "best approximation" too. in the real world you can't get 100%, but 98 or 99% is good enough

@alexandria @efi @AgathaSorceress

Yeah. There is always a less bad solution. Just going by file creation metadata to delete old downloads if desired is better than nothing.

> At Meta, we operate some of the largest cache deployments in the world, including TAO and Memcache. Over the years, we’ve improved TAO’s cache consistency by one measure, from 99.9999 percent (six nines) to 99.99999999 percent (10 nines).

@tamtararam @efi @AgathaSorceress idk that stuff like memcached is applicable here tbh

regardless, latest google deployed android has a thing that detects large or old files and offers to remove them, and 99% of the time its something that's useful that i dont use

it does have a thing to detect duplicates but it doesn't do it for downloaded media lmao

@alexandria @efi @AgathaSorceress It's not applicable here since mostly used for database servers. but these measure improvements seem quite insane to me.

@alexandria @AgathaSorceress even better, there could be a system-wide storage supervisor that knows a few different types of hashes for each user file and applications can just say I want a file (with these hashes, super unlikely to be a collision, or with this URL) and the system either says sure here you go done or hang on a second, need to get that one from the URL you provided, waiting, now I'm done.

@alinanorakari @AgathaSorceress I mean none of this is necessary because if you can see the image, you already have a copy of it on your device. Saving images on any computer should be near-instant because the version rendered should ideally be the version saved.

Since you already have that image, it's simple enough to do a very very quick cpu-supported hash on it like sha1 (most machine archs have like a sha1 operation as an instruction now, with custom chipset support like Google is doing with Tensor, you could have even better checksums) and ask "do we already have a file in the filesystem's db that matches this". It should be near-instant. And we already keep thumbnails for files anyway so its not like we dont already have that database

@alexandria @AgathaSorceress what I wrote down would already apply to the very first fetch when initially displaying the image, it would just be a totally transparent file access layer. Apps would say "The image I want to download has this hash and this URL, system give me a binary blob, I don't care where from." … if they have no way to get a hash they just provide the URL

@alinanorakari @AgathaSorceress

> "The image I want to download has this hash and this URL, system give me a binary blob, I don't care where from."

You don't know the image hash until you've downloaded it, unless you have a network layer protocol to do that.

If you have a network layer protocol to do that, then that's a whole other ballgame because you're talking to your own servers and your own server-side software, so you can do literally anything. zombocom territory

I meant a generic system-level thing though, not a app-specific thing

@alinanorakari @AgathaSorceress like i can already do this in an app i build or whatever, the struggle is getting os-wide support for it

@alexandria @AgathaSorceress yeah I'm envisioning something that would integrate with HTTP (HTTP/4 maybe?). I'm not talking about now, I'm talking about a fun and useful concept that could be realized down the line if people making OSes and people making protocols actually talked to each other and didn't consider all ressources as essentially infinite

@alinanorakari @alexandria @AgathaSorceress Content-based identification and deduplication seem like a must-have for today's file systems, since most of the files you have in them are immutable anyway. I wonder why that still isn't a thing.

@samgai @alexandria @AgathaSorceress I literally have software that can identify duplicates on my drives in seconds and give me options to delete all but one copy. That part seems to be very solved

@alinanorakari @alexandria @AgathaSorceress I want to see digital storage managed in such a way that any kind of immutable content – software package, executable, library, picture, audio file, video file, PDF, etc. – gets stored exactly once, no matter how many times you download it, unless you specifically ask for redundancy at another layer. And then you can give this content different names and paths. Perhaps even run two different Linux distros from the same files. How cool would that be?

@alinanorakari @alexandria @AgathaSorceress Or I guess I should have said "try to download it".

Looking at HTTP headers, there's Content-MD5, but it doesn't cover the whole resource if you are requesting just a range, and also having MD5 as the only option sucks so much. Then there's ETag but it can contain anything the server wants.

The best you can get are subresource integrity checksums from HTML links...

No good way to prevent redundant downloads. 😢

@meganeko @alinanorakari @alexandria @AgathaSorceress That's true. 😔 I guess it would make most sense for things that you download explicitly, like a PDF. Then the checksum would be best placed on a link.

@samgai @meganeko @alinanorakari @AgathaSorceress btw, there are already filesystems that do copy-on-write. this would just be a variation on that i think

@samgai @meganeko @alexandria @AgathaSorceress it would require some careful design but browser cache already does very similar things based on different criteria (URL + download date + caching directive) and I think it would have the biggest impact on explicit downloads like in agatha's original example her mom downloading the same thing several times because she does not have a concept of files and file systems and storage

@alinanorakari @alexandria @AgathaSorceress not nearly on the level that you're intending, but I use git-annex to store my "finished" documents, which deduplicates files automatically based on their hash. it's a little awkward for modifying files but otherwise it does exactly what I want!

@AgathaSorceress yeah but then they can't pretend anymore that all the shit they keep pushing, like their 200 cookies, are necessary

@AgathaSorceress Fuck, I just realized that your mom is probably more like... my generation?? 🙄

@AgathaSorceress That's on the OS developers. None of those need be any problem.

@AgathaSorceress the chrome notifications should not exist, it's mostly used to scam ads

not closing apps shouldn't be an issue, it's less than a 5 megabytes of ram, as Android will close apps but save state

I've had 100+ tabs, I don't know how many because it turns into an infinity symbol after 99
- Having Bluetooth and GPS on all the time is not wrong
- You don't have to close apps after use, the only thing that does is make them open slower if you reopen them in short succession

@himbeer bluetooth is more optimized but having gps on all the time /does/ drain the battery quite a lot faster Isn't it rather apps that have locations perms waking the phone from sleep rather than having GPS enabled?

@himbeer im not sure, i havent measured it on a phone without location-using apps, but it might as well be the same thing when i get a location usage notification from google maps running in background every 30s-1m and most people who have that type of messy phone don't bother with disabling location access for each map that requests it Not sure how new that is, but my Android 12 phone defaults to "only allow location while using the app"

@himbeer yeah i think my mom is using android 8 and just enables every permission requested

@himbeer @AgathaSorceress The recent apps thing is just that. The most recently visible apps. Phone OSes will close apps in the background automatically as resources are needed and unless you explicitely enable them, background apps only use ram

@himbeer @AgathaSorceress as for turning off location, I have location on 24/7 and it doesn’t appear in the battery usage breakdown at all

@himbeer @AgathaSorceress same with tabs, open tabs in mobile browsers doesn’t actually take memory or cpu power as webpages eventually get unloaded. I have >100 tabs in firefox rn and it does not perform sluggish or use excessive memory at all

@lotte @himbeer well idk where yall get these hyper optimized phones that turn everything off when not needed, but my mom's samsung phone from a few years ago running android 8 is basically unusable and takes ages to load anything until I close unneeded tabs and open apps and disable unused background things

@AgathaSorceress @himbeer Really just any smartphone released within the past few years. That said I don’t download and install malware because ads tell me my phone has virus (12) I've got a Pixel 3a currently, but I had the same experience on my Windows Phones and on my Apple tablet (minus the GPS part as it does not have GPS).
Funny thing, when I got my phone new I always compulsively swiped away all the recent apps, it took a while for me to stop doing that (which is weird because I already stopped doing it on my older phone), because not doing it makes opening apps and interacting between them much faster (I'm guessing the state gets saved to disk partially?)

@himbeer the state first gets saved to RAM and then to storage, yes. Some apps don't ever save it to storage though :( @AgathaSorceress @lotte

Sign in to participate in the conversation
Eldritch Café

Une instance se voulant accueillante pour les personnes queers, féministes et anarchistes ainsi que pour leurs sympathisant·e·s. Nous sommes principalement francophones, mais vous êtes les bienvenu·e·s quelle que soit votre langue.

A welcoming instance for queer, feminist and anarchist people as well as their sympathizers. We are mainly French-speaking people, but you are welcome whatever your language might be.