1. 17

  2. 6

    The loading animations in that webpage should be considered straight up terrorism.

    1. 7

      I’m pretty sure they are intentionally bad. Ted has been a long-standing advocate of no-JS.

      1. 3

        Then that’s an excellent and awful job at the same time

      2. 1

        turn JS off and you are golden.

      3. 2

        I’m not completely sure if I’m missing the joke or if it’s a decent introduction to LD_PRELOAD.

        1. 1

          I also don’t get it

        2. 2

          What is that ?: operator in the article? Is that an actual part of the C standard? A search brought up no results.

          1. 2

            It’s the foo ? bar : baz ternary operator, with the middle term left out so it returns baz if foo is false or… uh, I guess something evil and prototypically C-ish happens if foo is true.

            1. 2

              I think it’s a GNU C extension for basically null coalescing.

            2. 1

              I’ve done something similar by writing a small FUSE filesystem. It’s more transparent to the client process & the interface you need to implement for a read only view is very small. You don’t get unpredictable behaviour from missing one syscall. e.g. mmap.

              1. 2

                Loop devices (losetup) can also achieve similar things, though with the caveats of block granularity instead of byte and probably requiring root.

                [Edit: at least as of the 5.8.x Linux kernel I’m running, it looks like loop devices actually support arbitrary byte granularity for the offset parameter, though the overall size still has to be a whole number of blocks.]

                1. 2

                  Funny you should mention that, the really horrid thing I did was:

                  • use a fuse filesystem to stitch together several large files and present one larger file
                  • set up a /dev/loop device pointing to that
                  • mount it ro

                  Impressively, mounting ext3 on a loopback device on a fake file being provided by fuse actually worked

                  I expect the above could have also been achieved by messing with the jbod options in lvm or md or something, but I have no idea. The inadvisable way worked. ¯\_ʕ •ᴥ•ʔ_/¯