• 0 Posts
  • 14 Comments
Joined 1 year ago
cake
Cake day: July 5th, 2023

help-circle

  • You say that it is sorted in the order of most significants, so for a date it is more significant if it happend 1024, 2024 or 9024?

    Most significant to least significant digit has a strict mathematical definition, that you don’t seem to be following, and applies to all numbers, not just numerical representations of dates.

    And most importantly, the YYYY-MM-DD format is extensible into hh:mm:as too, within the same schema, out to the level of precision appropriate for the context. I can identify a specific year when the month doesn’t matter, a specific month when the day doesn’t matter, a specific day when the hour doesn’t matter, and on down to minutes, seconds, and decimal portions of seconds to whatever precision I’d like.


  • This isn’t exactly what you asked, but our URI/URL schema is basically a bunch of missed opportunities, and I wish it was better designed.

    Ok so it starts off with the scheme name, which makes sense. http: or ftp: or even tel:

    But then it goes into the domain name system, which suffers from the problem that the root, then top level domain, then domain, then progressively smaller subdomains, go right to left. www.example.com requires the system look up the root domain, to see who manages the .com tld, then who owns example.com, then a lookup of the www subdomain. Then, if there needs to be a port number specified, that goes after the domain name, right next to the implied root domain. Then the rest of the URL, by default, goes left to right in decreasing order of significance. It’s just a weird mismatch, and would make a ton more sense if it were all left to right, including the domain name.

    Then don’t get me started about how the www subdomain itself no longer makes sense. I get that the system was designed long before HTTP and the WWW took over the internet as basically the default, but if we had known that in advance it would’ve made sense to not try to push www in front of all website domains throughout the 90"s and early 2000’s.


  • Your day to day use isn’t everyone else’s. We use times for a lot more than “I wonder what day it is today.” When it comes to recording events, or planning future events, pretty much everyone needs to include the year. Getting things wrong by a single digit is presented exactly in order of significance in YYYY-MM-DD.

    And no matter what, the first digit of a two-digit day or two-digit month is still more significant in a mathematical sense, even if you think that you’re more likely to need the day or the month. The 15th of May is only one digit off of the 5th of May, but that first digit in a DD/MM format is more significant in a mathematical sense and less likely to change on a day to day basis.


  • Functionally speaking, I don’t see this as a significant issue.

    JPEG quality settings can run a pretty wide gamut, and obviously wouldn’t be immediately apparent without viewing the file and analyzing the metadata. But if we’re looking at metadata, JPEG XL reports that stuff, too.

    Of course, the metadata might only report the most recent conversion, but that’s still a problem with all image formats, where conversion between GIF/PNG/JPG, or even edits to JPGs, would likely create lots of artifacts even if the last step happens to be lossless.

    You’re right that we should ensure that the metadata does accurately describe whether an image has ever been encoded in a lossy manner, though. It’s especially important for things like medical scans where every pixel matters, and needs to be trusted as coming from the sensor rather than an artifact of the encoding process, to eliminate some types of error. That’s why I’m hopeful that a full JXL based workflow for those images will preserve the details when necessary, and give fewer opportunities for that type of silent/unknown loss of data to occur.


    • Existing JPEG files (which are the vast, vast majority of images currently on the web and in people’s own libraries/catalogs) can be losslessly compressed even further with zero loss of quality. This alone means that there’s benefits to adoption, if nothing else for archival and serving old stuff.
    • JPEG XL encoding and decoding is much, much faster than pretty much any other format.
    • The format works for both lossy and lossless compression, depending on the use case and need. Photographs can be encoded in a lossy way much more efficiently than JPEG and things like screenshots can be losslessly encoded more efficiently than PNG.
    • The format anticipates being useful for both screen and prints. Webp, HEIF, and AVIF are all optimized for screen resolutions, and fail at truly high resolution uses appropriate for prints. The JPEG XL format isn’t ready to replace camera RAW files, but there’s room in the spec to accommodate that use case, too.

    It’s great and should be adopted everywhere, to replace every raster format from JPEG photographs to animated GIFs (or the more modern live photos format with full color depth in moving pictures) to PNGs to scanned TIFFs with zero compression/loss.





  • One of the areas where YouTube/Vimeo/Facebook/Twitch really excel, compared to things like PeerTube, is storing a shitload of file formats with all the different options of resolution/quality and codec. When a user uploads a supported file, YouTube automatically generates files containing h.264 video in mp4 containers at several different resolutions/bandwidth/quality settings, and then processes the more popularly viewed videos into more bandwidth-efficient codecs, like VP9 or AV1 (at the cost of much more processing/server load, which is why they only do this for videos that reach a particular threshold of views).

    Then, when someone views a video, it seamlessly sends the “best” video for that person’s resources and supported codecs, including stepping up or down in quality mid-stream based on the performance of that connection.

    Decentralization of these functions is a complex task, because not everyone will have the right hardware to do these things efficiently. Intel, AMD, and Apple CPUs support different hardware acceleration for video encoding or decoding, while Intel, AMD, Nvidia, and Apple have different GPU support, too. So transcoding and related functionality tends to be much more device-dependent. It’s not an insumountable problem, but in the meantime we’ll just basically live with less efficient quality-per-bandwidth settings on PeerTube videos. So that’ll exacerbate the cost of storage and bandwidth (or the quality) in a service that relies on user-donated storage and bandwidth.