• kota [he/him]
    ·
    3 years ago

    Come check out Gemini, its a new very simple internet protocol. Kinda like the old internet but without a lot of the crappy parts. Also it has a disproportionately high amount of leftists (not everyone yet though...)

    https://geminiquickst.art/

    Its mostly made up of blog, personal wikis, and stories like this gemini://commie.space/blog/ultraviolence/ or this gemini://gemini.circumlunar.space/users/hundredrabbits/weather.gmi

    Gemini is still small enough that there are aggregators that list and categorized most of the active sites. There's also a search engine which is neat.

    • akakak [they/them]
      ·
      3 years ago

      Remember getting really into gopher around 2018 and losing interest just before this came out. Was really interested in refurbishing old computers but bloated web browsers where always the biggest problem. Was really disheartening during the pandemic to see school’s dependence on chrome browser, complicated enterprise software and zoom/teams when a lot of stuff could have been put up served over genimi or a really simple static web page.

      The tech bros will cry “renewable investment” but there is only so much capacity that we can build every year. And really only so much capacity that should build before seriously damaging the surrounding ecosystems. The efficiency gains of computer hardware has been outdone by the wastefulness of the web and the race for things like better looking videogames. Protocols like this, matrix and bittorrent free us from the cruft of capitalism.

      • kota [he/him]
        ·
        3 years ago

        Yea exactly, we desperately need to stop making new computers and repair the ones we already have. Computers have gotten millions of times faster in recent decades, but feel mostly the same as software have gotten millions of time slower. Gemini's goal isn't really to "replace" the web per say, but to be the best tool for sharing simple plain documents and information around (It's basically just updated gopher made by a lot of the gopher people). Obviously, for some of the web's uses (big ole forums, web apps, video sites, etc) gemini isn't useful and instead other software and protocols would need to be made to fill in those gaps. Arguing that gemini can't replace the web is like saying bikes can't replace cars, like yea obviously we'll also need trains, busses, and a solid public funding for transport. Also not everyone can or wants to ride bikes, but it doesn't mean bikes aren't cool and good for the people like them.

        With schools in particular I think it's really important they build their sites in an accessible and light weight manner. If you know people who work at a university or school you could bring up the fact that lots of people (including potential researchers and students in non-western coutries) still use extremely old unsupported android phones and DSL connections (or worse). One of my co-workers at my last job used to drive over to my house to download shit because his home internet is 3Mbits down on a good sunny day.

        This site is really good at getting the point across. https://whatdoesmysitecost.com/#gniCost

        • akakak [they/them]
          ·
          3 years ago

          That is a really good way of putting it as a percentage of GNI. Reminds me of danluu's blog posts on web bloat and web optimization.

          The developer admits it's not a replacement for the web. It's really a refuge for people sick of dealing with other people's design decisions. Something that puts the content first. One input I would like is from somebody who is visually impaired however. This is where gopher leaves a lot to be desired: http://ssb22.user.srcf.net/css/gopher.html . I imagine gemtext solves the issue of reflows though.

          Still the web is really useful especially for secure forms. There is alot of great work by developers that shouldn't been thrown out with the bathwater but under without any sort of practical restraints it has made the climate problem so much harder to solve.

          • kota [he/him]
            ·
            3 years ago

            Oh yea the reflow stuff is the best improvement of gemini imo, makes it possible to use on a phone. Also theres actually already a good number of blind or visually impaired people using gemini. I read this story recently gemini://the-brannons.com/linux-adventure/

    • blobjim [he/him]
      ·
      edit-2
      3 years ago

      Gemini pages aren’t programs that run in your browser like most modern websites are; they’re just text with a little formatting, so there are no surprises. Once you know how one Gemini page works, you know how they all work.

      Okay but that sounds dumb.

      there are no in-line images

      :wut:

      Gemini has no support for caching, compression, or resumption of interrupted downloads. As such, it's not very well suited to distributing large files, for values of "large" which depend upon the speed and reliability of your network connection.

      Gemini is a "less is more" reaction against web browsers and servers becoming too complicated and too powerful.

      It's a cute system but I don't see how it would ever gain any traction. There isn't even a web hosted view of the source code repository. Also it's a text-based protocol which is like the worst part of HTTP+HTML.

        • blobjim [he/him]
          ·
          edit-2
          3 years ago

          My gripe with text-based stuff is it only benefits developers who want to look at stuff in debug tools (in the browser, since the packets are encrypted). For everything else it's just a nuisance and takes way more computational power and takes up more space.

          It also makes parsing more complex because text has a character set and there's lots of weird little things about text parsing. It also leads to specifications being under-specified, and makes it easier to have security vulnerabilities, etc. Binary protocols are usually a lot more well-defined, because they have to be. Look at how long DNS, SSL/TLS, and almost every binary file format (PNG, JPEG, etc.) have been working for. Then look at how many text-based protocols have lots of incompatible implementations/features: XML, HTML, JavaScript, HTTP headers, markdown, GLSL, etc. have all had parsing and feature incompatibilities. You can't really have incompatibilities with binary protocols because you can't just shove more text in between other stuff. Extensibility has to be explicitly provided for in a binary protocol.

          Binary protocols are also just easier to implement, even though people think the opposite. It's so much easier to read a series of integer values from a byte array than trying to parse text in a specific format. I was able to write a basic WAV file parser really easily, but writing a parser for anything requires a lot more thought.

          Text formats also have the problem that you can't always efficiently include binary data inside them. Encoding stuff in base 64 is really inefficient.

            • blobjim [he/him]
              ·
              edit-2
              3 years ago

              Well, even JPEG files are intelligible to humans. You just need to use an image viewer, one that can show metadata and so on. The file formats themselves have specifications that specify their exact format, often in a pretty understandable way. Text basically just gets replaced with integer enums and counts and so on. It's having the right tools that's important. Most web content would be impossible to parse if web browsers didn't come with fancy developer tools that show everything nicely formatted and everything, with an element picker tool that shows bounds. Java is a good example of a binary system that has tooling that makes it intelligible. It's a big complicated VM with thousands of objects and things, but if you use a debugger like in IntelliJ or Eclipse, or use a monitoring tool like VisualVM, you can basically inspect the entire execution of the program even though the class file format is in binary (with many string names and stuff). You can pause execution and view the stack trace, you can dump all the objects in the heap and look at their fields and see the objects they point to, etc.

              The systems themselves are always going to be more complex than is immediately comprehensible. It's pretty commonly pointed out how it's nearly impossible to implement a web browser from scratch today, at least not without an immense amount of funding and people and determination (because all these text formats are extremely over complicated, because it's really easy to just add another string value to something as a "feature" and call it good, even though that feature takes 1000 lines of code to implement).

              Also, the electronics in every computer are already using binary communication protocols, and those protocols are just about as important to understand. But a lot of things use standard protocols like PCIe or I2C, which anyone can read the specs for (sometimes for a fee).

              Here's the spec for the WAVE file format (which is admittedly much simpler than other formats, since it uses no compression): http://www-mmsp.ece.mcgill.ca/Documents/AudioFormats/WAVE/WAVE.html

              You basically just read it top-to-bottom and implement it as you go.

              edit: I just remembered another amazing tool. Wireshark! You've used it already maybe. Probably the most awesome tool I've ever used. You can inspect internet/ethernet packets and it parses them using its understanding of tons of different protocols. You can inspect exact information about all sorts of things and it shows you the exact bytes those fields correspond to.