thumbhash
s3fs-fuse
thumbhash | s3fs-fuse | |
---|---|---|
9 | 57 | |
3,251 | 8,095 | |
- | 1.1% | |
2.5 | 8.8 | |
about 2 months ago | 12 days ago | |
Swift | C++ | |
MIT License | GNU General Public License v3.0 only |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
thumbhash
-
Gcsfuse: A user-space file system for interacting with Google Cloud Storage
You may wish to investigate cloudflare's image API: https://developers.cloudflare.com/images/cloudflare-images/
If the reason you were unable to use a CDN cache was because your access patterns require a lot of varying end serializations (due to things like image manipulation, resizing, cropping, watermarking, etc.), then this API could be a huge money saver for you. It was for me.
OTOH if the cost was because compute isn't free and the corresponding cloudflare worker compute cost is too much, then yeah, that's a tough one... I don't have a packaged answer for you, but I would investigate something like ThumbHash: https://evanw.github.io/thumbhash/ - my intuition is that you can probably serve some highly optimized/interlaced/"hashed" placeholder. The advantage of thumbhash here could be that you can optimize the access pattern to be less spendy by simply storing all of your hashes in an optimized way, since they will be extremely small, like small enough to be included in an index for index-only scans ("covering indexes").
-
We have backed up the world’s largest comics shadow library
note: I haven't had time but I would live to investigate into keeping tiny thumbnails hashes in my db as mentioned in https://evanw.github.io/thumbhash/
-
How can you use this package (ThumbHash) that makes small representation of your image?
Check the script here: https://github.com/evanw/thumbhash/blob/main/examples/browser/index.html
-
Generate thumbhash at edge for tiny progressive images
While it's similar to BlurHash, the color performance is much better for the same filesize. Here's a a demonstration of this from the demo page (with ThumbHash in the middle and BlurHash on the right):
-
Google's decision to deprecate JPEG-XL emphasizes the need for browser choice and free formats
Webp took a long time to get some broader adoption but it fulfills the roll of jpeg: a decent enough quality looking picture but at a reduced file size. However, it is based on the VP8 video codec. So in other words, you can think of it as a still frame of a VP8 video. This has some disadvantages because it can only load the image line by line from top to bottom (as opposed to a kind of blurry but progressively improving picture like a slow loading jpeg). So this leads to tricks like storing a very small thumbnails version and loading the actual original image. But tricks are tricks, and they're a bit annoying to deal with. For a very advanced version of this "store a small version and load that first" check this out https://evanw.github.io/thumbhash/ (it creates a blur that has the the appearance of the photo that's loading but it can do it within bytes of data).
- thumbhash: A very compact representation of an image placeholder
- Thumbhash: A compact representation of an image placeholder
s3fs-fuse
-
Is Posix Outdated?
The author needs to ask themselves: in this cloud technology stack, is there POSIX involved somewhere lower down, where I can't access it? The answer is, of course, "yes". The sort of cloud storage systems described all run on top of POSIX APIs. They provide convenience (cost efficiency is more debatable) compared to the POSIX alternative, but that's because they exist at an entirely different conceptual layer (hence the presence of POSIX anyway, just buried).
Your point about surfacing a POSIX that's actually there but hidden and thus visible to low-level Amazon employees building the S3 service which makes it invisible to S3 end customers is true but isn't the the point of the article. The author is saying there are motivations for a POSIX-like api visible also the end user.
So your explanation of stack looks like 2 layers: POSIX api <-- AWS S3 built on top of that
Author's essay is actually talking about 3 layers: POSIX <-- AWS S3 <-- POSIX
That's why the blog post has the following links to POSIX-on-top-of-S3-objects :
https://github.com/s3fs-fuse/s3fs-fuse
https://github.com/kahing/goofys
https://www.cuno.io/
- Gcsfuse: A user-space file system for interacting with Google Cloud Storage
-
R2 slow PUT file transfer
sudo apt install build-essential libfuse-dev fuse git clone https://github.com/s3fs-fuse/s3fs-fuse.git cd s3fs-fuse sudo apt install libfuse2 sudo apt install libcurl4-openssl-dev sudo apt install libxml2-dev ./autogen.sh ./configure make
- Cloud Backed SQLite
-
Podman and S3 Storage Driver (Audiobookshelf)
Don’t know actually. Here is project page.
- Uploading hundreds to thousands of files to S3
- Linux Client for R2
-
s3fs-fuse - allows to mount your s3/minio bucket link to your local directory
s3fs-fuse
-
AWS Announces Open Source Mountpoint for Amazon S3
How is this different than these other solutions?
https://github.com/kahing/goofys
https://github.com/s3fs-fuse/s3fs-fuse
-
Introducing Mountpoint for Amazon S3 - A file client that translates local file system API calls to S3 object API calls like GET and LIST.
I don’t get it. Why not just improve https://github.com/s3fs-fuse/s3fs-fuse
What are some alternatives?
blurhash - A very compact representation of a placeholder for an image.
goofys - a high-performance, POSIX-ish Amazon S3 file system written in Go
azurefs - Mount Microsoft Azure Blob Storage as local filesystem in Linux (inactive)
rclone - "rsync for cloud storage" - Google Drive, S3, Dropbox, Backblaze B2, One Drive, Swift, Hubic, Wasabi, Google Cloud Storage, Azure Blob, Azure Files, Yandex Files
mindcastle.io - Massively scalable, cloud-backed distributed block device for Linux and VMs
mountpoint-s3 - A simple, high-throughput file client for mounting an Amazon S3 bucket as a local file system.
pica - Resize image in browser with high quality and high speed
jellyfin-webos - WebOS Client for Jellyfin
jellyfin-tizen - Jellyfin Samsung TV Client
azure-storage-fuse-aur - AUR package for Azure Storage Blobfuse
mediacms - MediaCMS is a modern, fully featured open source video and media CMS, written in Python/Django and React, featuring a REST API.