• dan@upvote.au
      link
      fedilink
      arrow-up
      9
      ·
      edit-2
      1 year ago

      SQLite explicitly encourages using it as an on-disk binary format. The format is well-documented and well-supported, backwards compatible (there’s been no major version changes since 2004), and the developers have promised to support it at least until the year 2050. It has quick seek times if your data is properly indexed, the SQLite library is distributed as a single C file that you can embed directly into your app, and it’s probably the most tested library in the world, with something like 500x more test code than library code.

      Unless you’re a developer that really understands the intricacies of designing a binary data storage format, it’s usually far better to just use SQLite.

      • H4mi@lemm.ee
        link
        fedilink
        arrow-up
        17
        ·
        1 year ago

        I don’t even use a file system on my storage drives. I just write the file contents raw and try to memorize where.

          • 257m@lemmy.ml
            link
            fedilink
            arrow-up
            3
            ·
            1 year ago

            Sounds inefficient. You can only store 8 gigs and goes away when you shut off your computer? I just put it on punch cards and feed it into my machine.

      • dan@upvote.au
        link
        fedilink
        English
        arrow-up
        2
        ·
        1 year ago

        Linux mostly doesn’t use file extensions… It relies on “magic bytes” in the file.

        Same with the web in general - it relies purely on MIME type (e.g. text/html for HTML files) and doesn’t care about extensions at all.

        • fibojoly@sh.itjust.works
          link
          fedilink
          arrow-up
          0
          ·
          1 year ago

          “Magic bytes”? We just called them headers, back in my day (even if sometimes they are at the end of the file)

          • dan@upvote.au
            link
            fedilink
            arrow-up
            1
            ·
            1 year ago

            The library that handles it is literally called “libmagic”. I’d guess the phrase “magic bytes” comes from the programming concept of a magic number?