1. 9
  1. 3

    Oh, that is a really interesting idea!

    Some thoughts that came to my mind regarding some of the points raised:

    - one thing that’s not super clear to me, is the situation around images; I read somewhere that git is not great for storing big binary files, though I don’t know details about that; is that true? does anyone know more? (i.e. why things like “git-lfs” were created? would that be a problem if I wanted to host images too over such git-like protocol?) I’m notably especially interested in image galleries - could they work well enough here or would that be a problem?

    - kinda 2nd level off the point above: if images are ok enough due to being small enough, that would be cool already, and allow blogging and a lot other stuff like scientific articles or image galleries; with that said, what if I also wanted to host e.g. binaries of some programs I compiled? would that make git unfeasible already, or not necessarily, or not at all? how about scientific datasets? this point is kinda “non-critical” I think, but I’m just curious how far this could get;

    - I wonder about “blog comments” and other “user-submitted content” - including “chats” as in SSB; but I guess it could possibly be actually done by means of git commits authored by different users - with authorship presumably verified by git signing; interestingly, this can “automatically” piggyback on git merge resolution etc. workflow;

    - I’m also wondering about “how to get newest content” challenge that the author also mentions; though I guess SSB is at a similar place, and their answer seems to be mostly “sneakernet + signing” in theory (which seems like it could work with git as well); this possibly ties somewhat into the URL question posed later in the post, which makes me think of a possiblity for a kinda “IPFS-like” piggybacking on (an) existing URI scheme(s) - i.e., something like: https://[best-effort-url]/gitweb/[commit-hash]/[file-path], and/or similarly gemini://[best-effort-url]/gitweb/[commit-hash]/[file-path] (or however gemini: URIs are composed, I don’t know them well enough); though the idea of magnet links is certainly also interesting;

    - kinda related & intertwined with the above point, I’m kinda wishing there was possibility for some equivalent of IPNS here; for now, there’s no clear one to me (also I don’t know much about how IPNS works), and all that I can think of is public GPG (or whatsit) key being the “hook” to fetch data by; that makes me wonder if a GPG public key should be included in the above proposed “/gitweb/” URI approach 🤔;

    - interestingly, AFAIR git provides an option of --depth 1 when cloning, which can kinda undermine the “you always archive everything” notion; which can be arguably in a way good for clients (for not having to store all history), but is a subtle thing to consider when discussing this, I think; regardless, I think there’s no way to protect against some clients trying to “optimize” by just doing --depth 1, so this would need to be discussed at least to some extent;

    - interestingly, I believe there are already explorations (or even ready to use apps) of how to store & share git repositories over IPFS, DAT/hypercore, SSB, etc; so this “gitweb” approach can kinda “transparently”/easily benefit off those I believe;

    - I’m not 100% sure there’s “no possibility of tracking which posts you downloaded”; I don’t know specifics of git protocol well enough, but I would say it needs to be verified whether it allows just downloading specific hashed blobs, or mandates downloading whole commits; I wouldn’t be very surprised if it allowed the client to be picky and just clone some files/blobs (“objects” in git parlance I think?); but maybe it doesn’t allow that - I just don’t know; but then if it did, again similar situation as with --depth 1 - it would have some notable pros and cons;

    Does anyone know if the author of this post has a lobste.rs account if I wanted to try passing this to them? or should I try contacting them via email? I imagine they may be already aware of the aspects I wrote about above, but maybe not, or some of them might be still interesting to them.

    edit:

    - a somewhat “nuclear” way of “disowning” (and thus kinda “erasing”) one’s past posts could be by publishing one’s private keys for the particular blog/repo - obviously, assuming they were not used for something else too; it’s certainly arguable if this would be a good enough way, but I think it’s a possibly interesting idea; now this is a vague idea from me, I’m not yet sure if there’s a way to “safely” (at least to some extent) “jump” to a rewritten git history via some alternative set of GPG keys to keep staying in touch with people (could maybe one have a private “master key” that would be used to sign “blog keys”, and those would then be interchangeable? kinda like https/ssl root certs system? or is this already how GPG is typically used?)

    1. 3

      Hi,

      I’m the author of the original gemlog post which prompted the discussion and I’m in direct contact with the author of this post. I will let him/her know that there are comments to read here.

      1. 1

        Re: images, it’s not really a big focus for gemini and gopher, from which it sprang. Text is where it’s at!

        About contacting the author, maybe find their email from the Gemini mailing list, or get your own gemini site, publish a piece titled “RE: ” (as in the link I posted upstream), and submit it to an aggregator like Antenna.

      2. 2

        More on this

        https://portal.mozz.us/gemini/mntn.xyz/posts/2021-10-25-a-proposal-for-a-git-link-url/

        I immediately thought about IPFS (and Freenet) when I read about this.

        I can recommend this service for regular updates from (some) geminauts:

        https://portal.mozz.us/gemini/warmedal.se/~antenna/

        1. 1

          So how can I use my smartphone with this? Because there are lots of situations when I want content and I have my phone, but I don’t have a laptop/desktop/RPi/what have you. And how can I share P2P things with others who are non-technical? SSB, DAT, and IPFS have flows that are still somewhat explainable to someone who doesn’t write code as a hobby/living. I dread explaining git to other engineers, let alone lay people…

          1. 1

            TLDR? (Wow! A blue car!)