Back

What is this Gemini thing, and why am I excited about it? (2020)

248 points3 yearsdrewdevault.com
tdeck3 years ago

When I was in high school, I was part of an online community that wrote graphical shells for DOS (really NTVDM) in QBasic. One of the things we all started to want was a web browser, but most of us had no idea how to write a parser, let alone deal with the complexities of HTML and JavaScript.

So we created our own markup language, where each "tag" was on it's own line, with the first character indicating the type of tag. Only HTTP GET requests were supported, all output was in color CP437 text, and there was really limited layout support.

After a while there were maybe 5 or 6 different clients and maybe 10 different people had created websites, including a forum, a chat app, an RSS reader, a search engine, and some pages advertising various software people created. Sometimes it can be really fun to start "from scratch" with something simple.

sergeykish3 years ago

That's pretty close to GML (precursor to SGML)

    :h1.Chapter 1:  Introduction
    :p.GML supported hierarchical containers, such as
    :ol.
    :li.Ordered lists (like this one),
https://en.wikipedia.org/wiki/IBM_Generalized_Markup_Languag...
tester343 years ago

>but most of us had no idea how to write a parser, let alone deal with the complexities of HTML and JavaScript.

>a search engine

how did that search engine work?

tdeck3 years ago

Pretty much all the apps were written in PHP on shared hosting. Since the system had support for a simple kind of forms (using GET requests), it was possible to accept queries for the various web apps. The search engine crawled the pages that existed looking for links from a few "start" pages, and built a primitive index.

qwerty4561273 years ago

> most of us had no idea how to write a parser, let alone deal with the complexities of HTML and JavaScript.

Nice. But couldn't you just use pure well-formed XHTML and make similarly simple pages? Isn't there an XML library for DOS?

tdeck3 years ago

Since none of us knew how to write a parser, dealing with the arbitrarily nested nature of XHTML was pretty intimidating (now that I know how to do it it's not too bad, but in 9th grade I made very little progress). To my knowledge there is no XML parsing library for QBasic; it fell out of favor for "serious work" about 10 years before XML was invented.

skissane3 years ago

How did you do networking from QBasic? (And especially when running under NTVDM?)

warpspin3 years ago

Can't speak for the original author but if I had to guess: Files on a world writable shared network volume, as this was a "classic" in school settings ;-)

No matter the decade, allow some pupils a shared network volume somewhere, they'll soon or later write a chat app with whatever programming language they can get their fingers on in that network, at least that was my experience. I did it, heard from other schools were the same happened.

Shared4043 years ago

Can confirm that it was still happening as late as 2019.

tdeck3 years ago

Wow this got a lot of interest.

For that we cheated - someone wrote a xommand-line Windows program called GetWeb (I think) that took in a URL, fetched it, and wrote the result to a particular filename. I believe most of the clients used that, but some (especially those written in FreeBASIC) may have done their own thing.

skissane3 years ago

This is interesting as an example of something that can be done on NTVDM but generally not other DOS emulation solutions such as DOSBox. A DOS program running in NTVDM can have a Windows console application as a subprocess; other DOS emulation solutions such as DOSBox generally don't support that. So a QBASIC program running under NTVDM can use the SHELL statement to run a Windows console program.

Part of how this works is that NTVDM uses the Windows console to host DOS applications. By contrast, DOSBox shows them in a Windows GUI window, not a console window. In principle, DOSBox could display them in a console window too; that works fine for text mode applications, but it can't support graphics. But, actually, NTVDM can run graphical applications in a Windows console window – how? Well, the legacy Windows console subsystem actually supports two different kinds of console buffers – text and graphics – but only the former is documented. NTVDM creates a graphics buffer for graphical DOS applications using an undocumented CONSOLE_GRAPHICS_BUFFER flag to the CreateConsoleScreenBuffer API – http://blog.airesoft.co.uk/2012/10/things-ms-can-do-that-the... – regrettably, creating a console graphics buffer is broken on 64-bit Windows. Another method that would still work on 64-bit Windows is GetConsoleWindow to get HWND of the console Window and draw on it manually. But Microsoft is discouraging console APIs such as CreateConsoleScreenBuffer and GetConsoleWindow since they don't work with pseudoconsoles (Windows 10 equivalent to Unix ptys) – and it actually looks like in more recent Windows code the CONSOLE_GRAPHICS_BUFFER API flag is gone – see https://github.com/microsoft/terminal/blob/fb597ed304ec6eef2... and https://github.com/microsoft/terminal/issues/246

mysterydip3 years ago

Using serial or parallel ports, or communicating over modem was done in QBasic. It's possible they did something like that.

skissane3 years ago

NTVDM has an interface called VDD you can use to write virtual device drivers. Basically a Windows DLL loaded into NTVDM.EXE and you can call the DLL from DOS by executing illegal instructions. Often a VDD would have an associated TSR which would provide a more normal interface to DOS programs (based on software interrupts not illegal instructions.)

Microsoft provides some, and third party vendors and open source provides others (the interface is documented in the Windows DDK, or at least it used to be). In particular, Microsoft had one called REDIR which included a bridge between the DOS and Windows NETBIOS APIs. Microsoft used to ship their own Netware client with old versions of Windows and that included another, VWIPXSPX, which similarly bridges the IPX/SPX API from DOS to Windows. Novel’s Netware client for Windows had an equivalent VDD called IPXVDD - https://support.novell.com/techcenter/articles/ana19970501.h...

And see http://netfoss.com/ for a VDD which connects the DOS FOSSIL API (de facto standard for DOS BBS to talk to multiport serial cards) to TCP/IP.

QBASIC doesn’t support any of these APIs, but it can call code written in assembler, and assembler can.

Another option would be to use a virtual serial port driver which makes a TCP/IP port appear as a serial port. QBASIC has built-in support for talking to serial ports. There are a bunch of these, for example https://pcmicro.com/netserial/ or http://com0com.sourceforge.net/ - it can be done either as a Windows kernel driver (so all Windows apps can access it) or as a VDD (only usable by DOS programs running under NTVDM but a pure user mode solution). Actually, if one uses DOSBox instead of NTVDM it has a serial-to-telnet gateway built in.

So there are lots of ways they could have solved it. Still wondering what they actually did.

tdeck3 years ago

That would indeed have been pretty cool and I remember reading up on ideas like that. What we actually did (as I mentioned in a recent reply) was use a helper program written by someone who knew a language other than QBasic that fetched files given a URL on the command line. I don't think there was a client that ran in actual DOS.

richardfey3 years ago

Please share the code! That project should be in the Internet Archive!

tdeck3 years ago

It looks like at least one example page is online: http://brandoncornell.com/index.qml

advisedwang3 years ago

I understand the desire to use trust-on-first-use to get rid of certificate authorities (some of the most dispicable and untrustworthy organizations around, and the largest security hole in TLS). However trust-on-first-use basically hands any long-term man-in-the-middle a complete victory. Authoritarian regimes are going to require ISPs to mitm every connection from first use, and hand over whatever data is desired to the secret police.

CAA, Key Pinning, certificate transparency all bring the risk of CA abuse way down without opening a huge new vector of ISP abuse.

Lammy3 years ago

Personally I've come to believe none of it matters and that encryption is a total waste of time, at least for the kind of stuff I would want to publish using Gemini (long-form text) where there's nothing interactive or user-specific in any request. Just the act of making a network connection gives away who you are, where you are, when you are online, and what you're reading: https://kieranhealy.org/blog/archives/2013/06/09/using-metad...

sodality23 years ago

Restricting Gemini to just long-form text (one way consumption) is really reducing the possibilities Gemini can have, IMO. Though the whole minimalist attitude would probably preclude most of them.

alexwennerberg3 years ago

> reducing the possibilities Gemini can have

Gemini is all about reducing possibilities. If you want more possibilities, use the web IMO

+1
sodality23 years ago
goodpoint3 years ago

No, we are talking about reducing security here.

zzo38computer3 years ago

I think that this restriction is good, though. For other uses, there are other file formats (Gemini protocol supports the use of other file formats too, e.g. you can use audio/ogg or audio/opus for audio, image/png or image/xpixmap for pictures, etc; a client might not support them and a user might not want them, so really you should use text if that is suitable (I am one who would rather have an explanation in text rather than a video), although you can still have links to other files too if needed) and other protocol (e.g. NNTP for slow communication (including if you want to allow comments for your articles), IRC for fast communication, Telnet/SSH for interactive applications, and other protocol should be made up for database access then you can use a SQLite extension to access them) (the text/gemini format can include links to other protocols too).

R0b0t13 years ago

Alternate streams for rich content.

zzo38computer3 years ago

What I think is that a "insecure-gemini:" scheme should be added, which is the same except without TLS and 6x response is not allowed (if a client certificate is required, it must redirect to the protocol with TLS).

Lammy3 years ago

"pollux://"

LeoPanthera3 years ago

People, or businesses, that you know in real life could exchange certificate hashes in person.

This is one of those things that usually garners the response "normal people would never do that", but honestly I'm surprised that no-one has even tried.

Let's say that web browsers put a short hash of the certificate right in the URL bar. Amazon, for example, could print its hash on every shipping box. Banks could print their hashes on plaques in every branch. Newspapers on their, well, newspapers. Media organizations could occasionally add them to their TV logos and radio jingles. And so on. There's any number of out-of-band channels available.

For most sites, you actually wouldn't need to verify the hash anyway. You usually wouldn't care. But when you did care, I honestly think this isn't such a crazy idea.

II2II3 years ago

Many years ago, I was put into a situation where I had to start using online banking. Being skeptical about security, I asked for something along the lines of a certificate hash that could be verified in person. They couldn't answer that. So I tried asking how I could verify that the certificate displayed by the web browser was correct. They couldn't answer that. In the end, I ended up trusting the padlock icon and being left with the impression that commercial security was mostly about the illusion of security. To this day I'm left with the impression that some sort of MITM attack would be possible through the creative abuse of certificate issuers and proxies since there is no direct means of verifying the certificate is authentic. And they won't take that final step since it shatters the illusion of security being simple.

vagrantJin3 years ago

> mostly about the illusion of security. To this day I'm left with the impression that some sort of MITM attack would be possible through the creative abuse of certificate issuers and proxies since there is no direct means of verifying the certificate is authentic

Why would a bank's customer support agent know about encryption? Usually IT is a siloed function in most banks.

marcosdumay3 years ago

In a sane world, the bank would have a flier for the teller to give to the GP with several ways to verify the bank's key.

We only live without this because the bank can just reverse transactions when there is a problem and the police will fall pretty heavily on anybody that exploits the weakness. And also, because there are plenty of easier to exploit ones.

paxys3 years ago

I think it was more that a random bank teller could not be expected to explain the intricacies of certificate authorities and online encryption. The bank likely has a security whitepaper on their website which explains all this.

DenseComet3 years ago

Nowadays, all certificates have to be submitted to Certificate Transparency Logs and must have attached proof to be considered valid. Also, there are CAA records to ensure that only specific CAs are able to issue certificates.

SilverRed3 years ago

> People, or businesses, that you know in real life could exchange certificate hashes in person.

This happens about as often as using PGP email. Approximately never.

LeoPanthera3 years ago

This is the exact response that I tried to cover with the rest of my comment.

+1
prox3 years ago
jefftk3 years ago

.onion addresses are hashes, but a hash long enough to prevent a brute forcing is also too long for people to consistently recognize. Is facebookwkhpilnemxj7asaniu7vnjjbiltxjghye3mhbshg7kx5tfyd.onion the right URL for Facebook or a clever near-collision?

teddyh3 years ago

(The correct address is facebookwkhpilnemxj7asaniu7vnjjbiltxjqhye3mhbshg7kx5tfyd.onion)

stavros3 years ago

("q" instead of "g").

LeoPanthera3 years ago

This is only true if you limit yourself to standard character based hash representations.

+1
zem3 years ago
jefftk3 years ago

The limit is much more about how many bits a human is capable of distinguishing reliably at a glance, which I think is very likely below the brute-forcible level

jdonaldson3 years ago

It’s a good form of secondary support for authentication, and is a reasonable foothold to start expanding circles of trust (I.e. second hand trust.. or “trust what my trusted source trusts”).

ronsor3 years ago

Trust on first use combined with preloaded public key lists is the best of both worlds in my opinion. You may say that browsers made in authoritarian countries would sabotage the preload lists, but they could also bundle illegitimate CAs or break HTTPS in other ways anyway.

jtl9993 years ago

This. Some standards bodies (arguably) made a big deal about client certificates some time ago to reliably pin client identities for client->server connections (whether it worked is a different story), and I certainly think having functionality for the reverse (pinning server identities) should exist too.

Doesn't have to be Gemini even, but I think getting buy in from browser vendors after the removal of HPKP is going to be a problem...

Seirdy3 years ago

Another option would be something similar to Go's sum database, but with something like a DHT instead of a hosted centralized service.

Or perhaps instead of a DHT, users could export all their certs to a file and combine/compare entries in a grassroots manner with each other and with devices on different networks.

judge20203 years ago
_wldu3 years ago

SSH is TOFU.

password43213 years ago

SSH works.

tptacek3 years ago

SSH has a different service model; there aren’t masses of anonymous clients connecting to a typical SSH server, but rather deliberate 1:1 relationships, which is why the model works there. And still, high-security environments deploy certificate SSH, specifically to avoid this problem.

SilverRed3 years ago

There is no government effort to MitM SSH. And if there was, it would immediately crumble because not a single person manually verifies their ssh connection.

1vuio0pswjnm73 years ago

"My disdain for web browsers is well documented1."

Ha, I am not the only one.

I do like links though, somewhere around 2.3pre2, with stunnel or haproxy for up-to-date TLS.

Someone submitted an "improved" version of linenoise the other day, which added UTF-8 and ANSI codes by default.

But I prefer to avoid Unicode in the console (cf. terminal, I do not use a graphics layer plus emulator).

This is an example of enforcing developer preferences on the user where the result is added complexity. Perhaps nowhere is this added complexity more evident (obvious) than in the "modern" web browser and websites.

Links does not try to enforce its authors preferences too much on the user; for example, it has compile time options to disable utf8, ipv6 and getaddrinfo. The user makes the choice, not the developer.

The fundamental problem with "web development" is that its extremely aggressive in enforcing the developers (or web development cargo cult) preferences on the user.

Anyone remember that period where many commercial sites were a hollow shell that loaded a Flash animation. Perhaps a precursor to todays "SWAs". Funny, the Flash idea didnt last long. It died out long before browsers stop supporting Flash. These "trends in web development" are tiring and annoying.

Gemini doesnt allow for that level of "creativity". The focus is shifted to the information, not the presentation. The user comes first. The protocol may refelect the authors preferences but the result is reduced complexity.

Great project.

john-aj3 years ago

Could you elaborate (or share a configuration example) on how you use stunnel or haproxy to connect an old browser to encrypted websites? I usually use squid for that purpose, but I've been looking for alternatives.

1vuio0pswjnm73 years ago

stunnel configuration is useful for a limited number of sites, since one has to specify every remote ip address in the configuration file. haproxy configuration doesnt have that limitation; it can do dns lookups, use maps, etc.

for example, one can force all http and https to connect to a backend as https with a specific tls version. this is much simpler than eff's "https everywhere", IMHO.

the problem with tls is it keeps changing. as users, we have to bet that every application will stay up-to-date with the changes, and that the software authors wont make mistakes when adding/updating tls support. IME, this has been a losing bet. by just focusing on haproxy and stunnel i only have to worry about a couple of applications staying up-to-date with tls and implementing support correctly.

john-aj3 years ago

Thanks for elaborating. I'd be grateful for any resources or configuration examples that explain how to do this with haproxy in more detail. I couldn't really find anything, but then again, I'm not experienced with haproxy.

1vuio0pswjnm73 years ago

The example configurations I have seen around the web are not representative of what one can actually do with haproxy. Everything I know is from reading the source code and documentation.

gnubison2 years ago

> But I prefer to avoid Unicode in the console (cf. terminal, I do not use a graphics layer plus emulator).

Why? If the alternative is garbled text, is that what you choose?

1vuio0pswjnm72 years ago

"Why?"

Why not?

"If the alternative is garbled text, is that what you choose?"

No. The alternative is not garbled text and thats not what I choose.

The alternative for me is a subset of ASCII. I choose what characters I will accept, delete the rest.

For example, something like

   tr -cd '[\12\40-\176]'
This has worked for me for several decades. Nor am I the only one who uses this approach. I once saw an HN commenter say their favourite regex was

   tr -cd '[ -~]'
gnubison2 years ago

That’s fair. Is that what links without Unicode support does? (Ignore all byte sequences it doesn’t recognize.) Also, I’d still love to know why you prefer stripping out non-ASCII characters — does this sentence become more readable to you with the em dash omitted?

1vuio0pswjnm72 years ago

It just simplfies things for me. If I can read text without Unicode, then I dont need it. Its one less variable I need to worry about. Maybe another way to look at it is cost-benefit analysis. I just dont get much beneft from Unicode in the console (I'm usually just reading text) whereas it almost always causes problems from time to time.

I can see a dash in 7-bit ASCII. I am not going to lose the meaning of a sentence by forgoing a few Unicode chaacters.

soapdog3 years ago

People here saying they'd rather use just text-only HTML, or HTML+CSS sans JS, don't understand that what attracts people to Gemini is the ease of implementation.

The main quality of Gemini is that it is easy to understand and implement thus allowing normal developers to create clients and servers from scratch with minimal fuss.

You can actually keep the whole spec in your head which is no longer something anyone can do with the Web stack. What goes on inside a WebView? There is no single person that can reimplement all of that alone anymore, it is too big, too complex. Meanwhile Gemini is so simple that people like me can craft a simple browser in a couple hours.

GuB-423 years ago

But still, there is TLS.

Gemini is a bit conflicted here. It has both privacy and simplicity as design goals. But privacy (materialized by encryption) is far from simple, so much that "rolling your own crypto" is seen as a cardinal sin, and for good reason. Crypto is an arm race, constantly under attack, constantly updated, and very easy to get wrong. The argument on the Gemini website is to use a library, which is indeed the most sensible thing to do, but if you allow code you don't really understand, one might as well use a webview and call it a day.

soapdog3 years ago

I agree, and to be honest I'd rather the TLS was optional because this would open Gemini to a lot of retro computers. Anyway, there is Mercury which is a simplified Gemini without encryption IIRC which solves that.

The important part is that you can treat the TLS as a black box and still hold the Gemini spec in your head. It is easy to implement by simply leveraging a TLS and a network lib. To implement a modern Web browser you need way more than that these days, which is why almost all browsers are chromium :-/ no company can justify the effort to develop new engines and clients anymore (my opinion).

tenebrisalietum3 years ago

If you want Gemini without TLS there is Gopher. LaGrange supports both Gemini and Gopher - and I believe there's at least one server out there that does serve both as well though I can't remember the name of it.

Semiapies3 years ago

Then why distribute servers and clients? Why not just a spec that everyone involved makes their own servers and clients for?

And why all this noise about how awful the web is?

cortesoft3 years ago

I don't quite get this... it sounds like the author mostly has issues with the HTML part of the web, but much of this seems to focus on the HTTP part.... why not keep http and just make a replacement for HTML? Writing an http server is very simple, too

cheesetable3 years ago

HTTP supports extensibility via HTTP headers and methods.

Gemini to not be evolved:

* HTTP is now for interactivity, complex clients, WebGL, Webassembly, ...

* Gemini is for a segregated simpler web: links and text.

zchrykng3 years ago

And Gemini being its own stand-alone thing that is different from everything is a serious hindrance for people to try it.

I've read Drew's stuff for a while and even wanted to test out Gemini out of interest, but it is really annoying/frustrating to use in my experience. And that is even before you get to the fact that there is nearly nothing there and/or it is nearly impossible. to find.

BrightGlow3 years ago

According to some other blogs posted here (links are are elsewhere in this thread) the entire point of Gemini is that it's useless and annoying to use, so useless and annoying that it drives out any advertisers or businesses that would be potentially interested to use it.

I understand the designer's reasons to dislike online advertising but the train of logic here seems to be "internet businesses like to make things that are convenient, so let's make something which is intentionally not convenient at all" which in my opinion is a really convoluted and nonsensical way to reach the intended goal. This one is a swing and a miss for me. I hope the designer keeps trying and comes up with something that is actually useful eventually.

+1
Jetrel3 years ago
+2
toomuchtodo3 years ago
tdeck3 years ago

I don't see any reason why someone couldn't create a web gateway and/or search engine for browsing Gemini if they were so inclined.

mattowen_uk3 years ago
corobo3 years ago

> Gemini being its own stand-alone thing that is different from everything is a serious hindrance for people to try it

This is the only reason it has any attention. People who understand it like it because others are excluded

It's trivial to serve your site as .txt files if you want. This is the digital equivalent of sticking a "no girls allowed" sign on your treehouse

cheesetable3 years ago

That's a fair critique.

I expect the designers foresaw this.

I don't think wide popularity was a goal.

goodpoint3 years ago

There is nothing Gemini can do to prevent people from adding complexity on top of it.

It's exactly how the web evolved. It did not have activex/java applets/flash/javascript at the beginning.

The_Colonel3 years ago

Lack of extension points will just mean that the extensions will be uglier.

Semiapies3 years ago

So, like most of the web's history.

dmitriid3 years ago

> it sounds like the author mostly has issues with the HTML part of the web

Nope. And he has links to his blogs about what he doesn't like.

--- start quote ---

I used wget to download all 1,217 of the W3C specifications which have been published at the time of writing, of which web browsers need to implement a substantial subset in order to provide a modern web experience. I ran a word count on all of these specifications. How complex would you guess the web is?

The total word count of the W3C specification catalogue is 114 million words at the time of writing. If you added the combined word counts of the C11, C++17, UEFI, USB 3.2, and POSIX specifications, all 8,754 published RFCs, and the combined word counts of everything on Wikipedia’s list of longest novels, you would be 12 million words short of the W3C specifications.

I conclude that it is impossible to build a new web browser. The complexity of the web is obscene. The creation of a new web browser would be comparable in effort to the Apollo program or the Manhattan project.

It is impossible to:

- Implement the web correctly

- Implement the web securely

- Implement the web at all

Starting a bespoke browser engine with the intention of competing with Google or Mozilla is a fool’s errand.

--- end quote ---

https://drewdevault.com/2020/03/18/Reckless-limitless-scope....

mminer2373 years ago

That's all concerning the content though. If you don't want HTML and Javascript and video streaming and EPUBs on the web, you don't have to use them. None of that concerns HTTP itself, which is developed by IETF.

You could fairly easily make your own web browser that uses HTTP and only reads (gem)text files and ignore the rest of the web.

Or just use Lynx.

Pushing your own standard seems to only add to the complexity of it all. Now if you want to make browser that can read all the text pages, you have implement HTTPS and Gemini.

dmitriid3 years ago

> That's all concerning the content though

Ah yes. Just the content. Including things like WebUSB, WebHID, and a bunch of others.

> You could fairly easily make your own web browser that uses HTTP and only reads (gem)text files and ignore the rest of the web.

Yes, you probably could. And it wouldn't work with most of the web.

mminer2372 years ago

I still feel like that's better than Gemini, which doesn't work with any of the web.

Text over HTTP:

  - Easy to write browsers
  - Viewable by those browsers
  - Can use other browsers
  - Viewable by everyone else
  - Can only see some other websites
Text over Gemini:

  - Easy to write browsers
  - Viewable by those browsers
  - Cannot use other browsers
  - Not viewable by everyone else
  - Cannot see any other websites
What's the advantage of Gemini again?
+1
cortesoft3 years ago
RodgerTheGreat3 years ago

Writing an http client, on the other hand, is rather complex.

cyounkins3 years ago
NoGravitas3 years ago

It's not complicated, if you only care about implementing HTTP/1.0 and selected easy/high-value parts of HTTP/1.1. If you want to comprehensively implement an HTTP/1.1 client, it's much harder. Doubly so for HTTP/2.

Semiapies3 years ago

This all seemed interesting at first, but the more I look at Gemini, the more I shrug and say, "Why not just build some text web sites without ads or trackers?" Literally millions of those exist, some dating back to the first eta of the web that every geek my age or older seems nostalgic for.

(Really, they're nostalgic for an era when almost everybody else they ran into on the internet shared the background of being a white, male American geek, very few people were online, and nobody cared about anything said online. Not anything technical.)

You don't want JavaScript, videos, images, styles, or fonts? Don't use them. Nobody is going to come and force your site to have them. On the other hand, your site will load so fast that it won't feel remotely retro. ;)

You can use a static builder (or slap one together that fits your needs) if you don't like hand-coding HTML. Though, really, basic HTML is dead simple for pages of text. If you want to go full 1994, set your robots.txt to block all search engines. Make it so people can only find your site by following links from the sites of the like-minded. Don't link out to anything that isn't a similar site. Boom, you've done everything Gemini does with off-the-shelf software, leaving you with more time to read and write.

(I've seen the counter-arguments from Gemini boosters, but none are very convincing. A Dogme 95-esque approach to the web accomplishes everything interesting about Gemini.)

abrazame3 years ago

> Really, they're nostalgic for an era when almost everybody else they ran into on the internet shared the background of being a white, male American geek

As someone who doesn’t fit into that pigeon hole, and whose friends mostly don’t either, it’s so disheartening to read essentialist assumptions like these. We liked the Internet better back then too!

You’re taking something that’s objectively good, and saying it’s associated with white people, and implying that’s bad. So not only do we collectively lose the objectively good thing (because it’s now guilty by association of racism - the greatest social crime of our day), but you’re also erasing non-white contributions to that good thing. It’s an own goal all round.

Guthur3 years ago

Is there something similar to Godwin's law for when white male comes up on internet discourse? If there isn't there should be :)

Karrot_Kream3 years ago

Well as someone who doesn't fit into that pigeon hole either, but spent a bunch of time on Gemini in the beginning of Gemini (and I might have written something you use on Gemini lol), I disagree with you. A lot of Gemini really is just culture in-group signaling. There's nothing "essentially white, male, American geek" in there but it does harken back to the cultural trappings of the early internet which was largely white, male, and American.

Moreover I don't see what's "objectively good" here, is it the gatekeeping of Gemini or is it the fact that Gemini is mostly just people writing about Gemini and digital minimalism?

Semiapies3 years ago

Ignoring that you're ignoring the "almost" in that sentence...What's the "objective good" in the retro-internet obsession? I was there, I enjoyed it, too, but there was no objective good to the gatekeeping, there was just a very small, blinkered culture that thought it would be able to enforce its standards on everyone who ever showed up.

If anything, the objective good is that rather than a toy for people mostly at universities, we now have an internet that's a communications medium for most of the people on the planet.

AstralStorm3 years ago

> Nobody is going to force you to use JavaScript.

But they sure try. Latest iteration of coercion is called Google AMP.

Images, videos and other embeds are fine, because they're clear siloes; it's easy to make sure the website degrades gracefully.

JS is not, and fonts are not. These do not degrade gracefully. Neither do complex styles in CSS. Canvas does not degrade either.

Gemini is a bit too simple to be really useful. What is needed is something closer to old HTML 2 before all the browser warfare, with a few small extras tossed in from later versions. Maybe with bit more of semantic format than representational.

Semiapies3 years ago

Google AMP is five years old. Hardly the latest anything. And it's yet another thing you simply don't have to use.

maxwell3 years ago

> Latest iteration of coercion is called Google AMP.

I changed my default search engine from GSearch to DDG a couple years ago because of AMP, but it's now thankfully dead in the water, e.g.

https://searchengineland.com/google-news-app-will-display-no...

https://www.mediapost.com/publications/article/366242/amp-de...

https://www.seroundtable.com/google-remove-amp-no-search-ran...

why_only_153 years ago

I don't understand the level of interest in degrading some people have. Really I don't understand any level at all. What percent of users are running something other than an auto-updating browser?

Santosh833 years ago

Are you sure fonts don't degrade gracefully? The font stack can always fallback to serif/sans-serif right? Icon fonts are a different beast though.

foxfluff3 years ago

I disable web fonts. That makes many sites very difficult to use. Yes, icon fonts are a part of that, but also the change in metrics messes up some layouts rather bad.

mattlondon3 years ago

Non-american, non-white, and non-males were using the internet back in the early 90s too! Can't vouch for prior to that but there was at least one :)

I think of it as more of a "childhood memories" type thing rather than a bias thing - just like for a child everything they see is novel and new and interesting to them because they've not encountered it before. The internet was the same for a lot of us in the early days because it was novel and new and interesting because we'd never seen or used anything like it before.

Now people take it for granted and we're totally 100% used to it (and it has been commercialised sure), so it is not novel or new or exciting for many of us any more, and we wistfully look back on "the good old days" like we might do the same when we spent hours playing with lego or on an old 8-bit micro etc as a kid.

krapp3 years ago

Except the web of the 90s had quirky stylesheets and images and pages longer than a couple of paragraphs. Almost everything people miss about the old web is Considered Harmful on Gemini.

Semiapies3 years ago

People in this context are talking early 90s, not mid-late 90s.

Semiapies3 years ago

I can vouch that nobody sees the word "almost".

soapdog3 years ago

Gemini is not about the pages without JS and stuff. Gemini for me and many other people is about having a specification that is simple enough that normal people can implement clients and servers from scratch and have fun doing it.

You can keep the whole spec in your head. You can develop both clients and servers from scratch just by leveraging some network and TLS libraries. It is friendly to retrocomputers that are able to do TLS but not beefy enough to run the Web.

Semiapies3 years ago

If all people want to do is play with clients and servers, why all the noise about text and how awful the Web is?

tenebrisalietum3 years ago

> Why not just build some text web sites without ads or trackers?

If I am visiting a site I've never visited before, I have no guarantee what it will do or try to do until I load it/use it. Yes there are ways to control what sites do but the ways to block or manage them always seem to be changing and require keeping up on plugins, whitelists, extensions, which browser is better this week, which NewFeatureKit or TurningWebBrowserInToOSKit needs to be disabled or settings adjusted this time, etc. It's tiring.

We can have an inclusive Internet without this bullshit.

With Gemini, there's pretty much never going to be ads or trackers, because it's as physically impossible as it can be from a protocol standpoint. I can also tell people "install this Gemini browser and you're good" instead of having to explain how modern Internet properties seek to pervasively surveil everything and what needs to be done to prevent it.

Karrot_Kream3 years ago

> We can have an inclusive Internet without this bullshit.

We can but it won't be Gemini. Gemini has fought _tooth and nail_ against accessibility and accessibility metadata. And Geminauts still mostly produce GMI files even though Gemini says nothing about distributing only GMI files. The early Gemini days had optimism about using screen readers to view pages, but that went nowhere. The mailing list has consistently chosen a desire for ascetic, technical minimalism over accessibility. If those are the preferences, then it sounds a lot less like "inclusive Internet without this bullshit" and more like "our cool club where only the plain text kids hang out".

tenebrisalietum2 years ago

Gemini is really just anti-metadata in general. We don't even get anything resembling a Content-Length header because supporting delimiters can lead to extensibility which can lead to tracking mechanisms like cookies and ETags.

So educate me: since Gemini has limited formatting and is text-only, why can't a screen reader just read you the text? I'm admittedly ignorant here because I don't have vision-related needs, but to me the fact that you can depend on a .GMI document to be text only would make it seem like screen or text reader software could easily handle it.

Karrot_Kream2 years ago

> So educate me: since Gemini has limited formatting and is text-only, why can't a screen reader just read you the text?

In practice there's a lot of stuff that isn't just plain text. Things like embedded Figlet images for one. And languages for the other; UTF-8 makes it trivial to switch languages, but how do you get the screen reader to change which language it's reading? That's usually the problem. Plain-text fans, like CLI fans, often claim it's easy to wrap things or display things in other formats, but in practice, only other techie workflows actually become well supported. That's also why most Geminauts are techies.

Semiapies3 years ago

Beyond that these complaints are exaggerated for most people using most common browsers, what on Earth is "inclusive" about Gemini?

vgb2k183 years ago

> Gemini is designed to be difficult to extend without breaking backwards compatibility, and almost all proposals for expansion on the mailing list are ultimately shot down.

This could lead to some interesting adaptations. I'm thinking like the way usenet, news-groups were adapted to store and transmit binary files in the form of NZB's. So while the underlying protocol remains pure and simplistic (relatively), the overlays and adaptations build upon it may bring unweildly levels of complexity. Not inherently good or bad, but interesting to think about.

cyounkins3 years ago

Is extensibility really the Pandora's box the author makes it out to be? Just because something is extensible doesn't mean it has to be extended in monstrous ways.

slx263 years ago

It's interesting to think about this: a simple and ordered space is the most seductive platform to start messing with.

When something is complex and chaotic enough, we start losing the drive to make it even more complex, as it takes too much effort and it's too painful to do. But when a system is simple enough... you have ideas, you think them possible, you feel the opportunity, you want to experiment and explore and create; and it's hard to resist. Therefore, software systems (and many others, maybe we could spend a few thousand pages discussing this for societies as a whole) develop a tendency towards complexity. You could describe programmers as data manipulators or complexity managers. Don't make your first job harder, don't make your second one impossible.

NateEag3 years ago

Human nature being what it is, anything that can be extended will be extended in monstrous ways.

It is no coincidence that "hack" means both "abuse of a system's intended design" and "clever trick that we all admire."

mattlondon3 years ago

Yeah I agree with you here. Gopher had Gopher+ that allowed for quite rich extensions - the original gopher authors had early prototypes of a 3D "VR" interface for example.

No one really used it for anything though, and then most people moved on as technology moved on.

I think perhaps the Gemini folks are acting slightly paranoid here - like the minute they allow extensions they will be flooded with ads and tracking. I am reminded of https://xkcd.com/538/ - I suspect that really no one cares enough to flood Gemini sites with ads and tracking, and likely never will.

goodpoint3 years ago

No: extensibility is absolutely OK if managed properly. Both the web and gemini do not manage it.

severak_cz3 years ago

Gemini is not extensible by design.

krapp3 years ago

Gemini is not extensible by intent. There's no such thing as a protocol not extensible by design. Nature... will find a way.

MartijnBraam3 years ago

I'm a bit annoyed with the lack of _some_ inline image support. but making a browser for gemini is really really easy at least.

haolez3 years ago

You could create a client that uses a non-standard markup and be able to render inline images just fine... oops! I think I just broke the web again :)

SilverRed3 years ago

Just put them in markdown and have compatible clients inline render an image and non compatible clients get a link.

edflsafoiewq3 years ago

Compare this thread with the thread about <img> 30 years ago: http://1997.webhistory.org/www.lists/www-talk.1993q1/0182.ht...

krapp3 years ago

The generic <include> tag being discussed there might have been nice to have.

Also Marc Andreeson's suggestion of "a general-purpose procedural graphics language within which we can embed arbitrary hyperlinks attached to icons, images, or text, or anything" before JS or HTML5 canvas arrived on the scene is interesting.

An alternative protocol that explored some of these evolutionary dead ends of the early web could be fun.

[0]http://1997.webhistory.org/www.lists/www-talk.1993q1/0209.ht...

+1
goodpoint3 years ago
MartijnBraam3 years ago

That would be against the spirit of the whole Gemini thing

mostlylurks3 years ago

You could very easily make a browser that displays image links inline. Contrary to what is suggested in the sibling comments, you don't need to extend the format with special syntax for inline images.

woodrowbarlow3 years ago

lagrange has inline images. it doesn't prefetch them, but when you click an image link they get displayed inline.

https://github.com/skyjake/lagrange (not affiliated)

gorjusborg3 years ago

I can appreciate your desire for images, but I like the lack of images!

I like the idea of text-only, for the same reason I like retro games: you can't hide your lack of real content with flashy presentation.

I think if people look at tech like this as the 'next web' they won't get it, but I think of it as something completely different: using gemini is more akin to reading a book to the current web being more like watching television.

I can like television while also reading books. And to beat the metaphor to death, most of my favorite books do not have pictures.

I would love to see a world where a vast trove of writing was available in a constrained environment like this.

Seirdy3 years ago

Lots of people have been spreading misinfo that Gemini doesn't support inline images.

Gemini doesn't support auto-downloading of inline linked content. You click an image to load, and the image can be displayed inline if you choose a client that does so.

That image can load inline, in a new window, be printed out twenty niles away and delivered by carrier pigeons, etc; presentation is up to the client.

martinrue3 years ago

For anyone reading this and jumping into Gemini for the first time, I made a micro social network which already has a nice little community – come hang out on Station: gemini://station.martinrue.com

kemiller3 years ago

An evolution of Gopher. I love it. The internet in 1993 was a special place.

Daegalus3 years ago

Gemini is great, but I'm would love one step up from this. html/css support, no JS. or Markdown with CSS styling or something that's just a little more than plain text but still close.

I've been meaning to try and make my own browser that only supports html/css or Markdown and maybe its own protocol like Gemini's

I'll add it to my ever growing Todo list.

chipotle_coyote3 years ago

Gemini's text specification is kind of a subset of Markdown -- it supports three levels of headings, block quotes, bulleted (but not numbered) lists, preformatted text, and links (but not inline links).

While I'm a fan of richer text styling -- I'm often the dingus on HN being downvoted for suggesting that web fonts are not an intrinsically bad thing -- I think Gemini is mostly just fine the way it is. The thing that's kind of a blocker for me is, of all things, no way to emphasize inline text. Changing text from regular to italic/oblique carries semantic meaning. If you could mark it with _underlines_ like Markdown, for instance, it could be just like some of the other Gemini text that's described as "strictly optional for clients to do anything special with".

NoGravitas3 years ago

In the very first days of Gemini's design, I was arguing with other implementers for using a large subset of CommonMark (no raw HTML, no inline images, but pretty much everything else) as the preferred content-type to serve over Gemini. In the end, the goal of ease of implementation for client authors won out. The main arguments were that while there are Markdown parsers for many languages, most of them are narrowly aimed at converting to HTML; Markdown has known ambiguities; the line-oriented markup we ended up with was a strict improvement over Gophermaps while remaining equally simple to parse.

I also miss inline emphasis and other kinds of text-oriented typography, but the reasons gemtext omits them are fairly good.

__void2 years ago

I come to think of it, this is a client problem (specifically the client used to write the pages): gemini is natively utf8, bold and italic are present in unicode!

In general, on gemini, all "problems" are with the client and not with the protocol ;)

gorjusborg3 years ago

That would be pretty cool, but I do think that having CSS would be worse for what I like about gemini.

To me, the point is that you don't need style if the idea and writing is great.

It would be lovely if something like gemini caught on. I'd love to discover a treasure trove of great writing and ideas (again). That's how I felt in the early days of the internet, and it was amazing.

To me, the current web feels like walking down the street while being verbally accosted by a gauntlet of strip mall sign spinners.

Andrex3 years ago

Nothing stopping you from turning off JS in your web browser. ;)

I have, and whitelist the sites that really need it.

Seirdy3 years ago

If I see an http(s) URL, I have no idea whether I'll have to play whack-a-mole with selective attack-surface expansion (enabling JS, media, SVG, third-party JS, or JIT) for a rich text document to load.

If I see a gemini:// link, I know in advance that a singe download will give me a single readable page, and that it probably won't make my old laptop's fans spin or kill my battery. This significantly improves usability.

Daegalus3 years ago

I did that for a while, but I want to kind of enforce it. If a sight is unusuable without JS, maybe its worth finding an alternative.

Or maybe form a new sub-internet of just javascript-less web. HTML, server-side rendering, etc.

Andrex3 years ago

Definitely a cool idea. I've thought a lot about this idea as I'm sure many others on this post have. A protocol for just HTML/CSS (and a lightweight bridge) could be cool to see. This desire was why I was initially on board with AMP (before I saw the bigger problems with that format.)

I've also thought about a JSON-only protocol. In my mind this would make it simple to do AJAX-type interactions for loading content (the core benefit of JS to me) while still excising JS in its entirety, but I haven't thought it through very far admittedly.

This is the first time I'm hearing about Gemini and I'm really intrigued, especially how it's handling input and identity. There's potential here...

betwixthewires3 years ago

I've been a reader of this gemlog and a fan of Gemini, I have been looking at minimal featured Gemini servers (everyone seems to be building one) and looking for one specifically that offers an http mirror, text and maybe inline images only. Particularly I'd like to do everything in markdown, does anyone know of a good one?

alexwennerberg3 years ago

Kineto might be what you're looking for: https://sr.ht/~sircmpwn/kineto/

Inline images is a violation of the Gemini spec:

> clients MUST NOT automatically make any network connections as part of displaying links whose scheme corresponds to a network protocol (e.g. links beginning with gemini://, gopher://, https://, ftp:// , etc.).

betwixthewires3 years ago

I'm aware, I meant inline images in an HTML mirror.

Looks like this might not be exactly what I'm looking for though. It's an HTTP to Gemini proxy, I'm looking for a Gemini to HTTP proxy, I want Gemini to be a first class citizen. The only reason I want to be able to deliver over HTTP is in the event someone doesn't want to mess with Gemini, but Gemini will come first for me.

Y_Y3 years ago

On a related note, it seems strange that I can't access sr.ht content over gemini. I know that it's not quite trivial to render something suitable if you're starting with DHTML (lol) but it seems like srcmpwn would be the kind of person to bother doing it.

e3bc54b23 years ago

His posted sometime in his blog that this is on agenda. Can't say when though.

Y_Y3 years ago

He mentions it at the end of this entry: https://drewdevault.com/2021/09/11/visurf-announcement.html

selfhoster113 years ago

Isn't it OK to offer that option, but disabled by default?

alexwennerberg3 years ago

It's not OK in the sense that it is a spec violation, at least. Some clients have images that load in-line on mouseover or click, which isn't a spec violation. You could do that with HTML.

+2
Andrex3 years ago
napolux3 years ago

I only read about Gemini here on HN. Pretty sure an HTTPS website with text only is way superior.

skybrian3 years ago

What’s something interesting to read that’s on Gemini?

anigbrowl3 years ago

I keep asking this question and not getting a useful answer. Someone made a Wikipedia bridge for it, which is the best thing I've seen so far, but it took me a while to find it.

Most Gemini users with their own pages seem to be coming at it from the perspective of 'you are someone who is already interested in me, so you be motivated to investigate my Gemini address.' But if I don't know anyone else who is using it, why do I want to click on a bunch of random links with no context in hopes of finding something interesting? The darkweb has a similar discoverability problem though there it's more reasonable to assume that page owners may not want to be found by casual users.

tadfisher3 years ago

Because it's exactly how the Web used to be.

Gemini supports form input, BTW, so a search engine could be built if someone wanted one.

Calamitous3 years ago

Gemini is gaining some traction in Tildeverse communities. I run a Gemini server on http://Ctrl-C.club that has a pretty good number of users posting things: gemini://gemini.ctrl-c.club

dflock3 years ago

This is the Capcom aggregator, have a poke around: gemini://gemini.circumlunar.space/capcom/

This is a fun episodic fiction thing that I found on there: gemini://republic.circumlunar.space/users/joneworlds/index.gmi

If not, there always the pub: gemini://midnight.pub/

ativzzz3 years ago

I think the problem is that there is a pretty narrow set of highly technical people using Gemini, the kind that exists on so many other communities on the regular web (like here on HN)

t-33 years ago

Not much, unless you follow some of the bloggers on it. It's a nice idea, but doesn't really have anything to recommend it over just making a website without javascript and ads.

doublepg233 years ago

I've already made a Gemini friend on gemini://station.martinrue.com/ (I think one of the benefits is the self-selecting people you meet in Gemini Space) he has lead me to gemini://cosmic.voyage which is a collaborative creative writing exercise and gemini://konpeito.media/ which is an exclusive Gemini mixtape.

dang3 years ago

Here are the major past threads. Others?

Gemini's "uselessness" is its killer feature - https://news.ycombinator.com/item?id=27490769 - June 2021 (193 comments)

Gemini Space - https://news.ycombinator.com/item?id=26670464 - April 2021 (27 comments)

Agate, a simple Gemini server written in Rust - https://news.ycombinator.com/item?id=26401158 - March 2021 (34 comments)

Beyond the Web: Gopher, Gemini, and the Rise of the Small Internet - https://news.ycombinator.com/item?id=26359454 - March 2021 (5 comments)

gemini:// space - https://news.ycombinator.com/item?id=25986378 - Feb 2021 (170 comments)

The Tragedy of Gemini - https://news.ycombinator.com/item?id=25807633 - Jan 2021 (28 comments)

Hacker News over Gemini - https://news.ycombinator.com/item?id=25225810 - Nov 2020 (21 comments)

Show HN: Taurus – A Concurrent Gemini Server - https://news.ycombinator.com/item?id=25045130 - Nov 2020 (5 comments)

A Gopher View of Gemini - https://news.ycombinator.com/item?id=25005307 - Nov 2020 (9 comments)

A look at the Gemini protocol: a brutally simple alternative to the web - https://news.ycombinator.com/item?id=23730408 - July 2020 (347 comments)

Castor: A browser for the small internet (Gemini, Gopher, Finger) - https://news.ycombinator.com/item?id=23161922 - May 2020 (75 comments)

Gemini – A new, collaboratively designed internet protocol - https://news.ycombinator.com/item?id=23042424 - May 2020 (62 comments)

nervuri3 years ago

Bombadillo: a non-web browser - https://news.ycombinator.com/item?id=25223184 - Nov 2020 (50 comments)

0xCMP3 years ago

I have really enjoyed using Elaho on iOS to explore gemini sites.

I think there is some value to it and would love to see it grow.

That said I wasn't aware of the TOFU aspect. I think thats a mistake. At the very least it should support WoT and etc.

Animats3 years ago

It's like Gopher, but dumber.

plebianRube3 years ago

Gopher was my intro to the internet. Coming from BBSs it was very natural. I loved Gopher and I am happy to see it's ideology progress to the next evolutionary step. I am aware that that the protocol still exists, but I'm hoping Gemini can bring back the desire for text content. I don't ever want to watch a video of a solution that can be written down in 3 lines.

hammyhavoc3 years ago

Yes, videos are a poor method of distributing most types of information IMO, especially solutions.

juice_bus3 years ago

I think "dumber" is a feature in this case.

anigbrowl3 years ago

It really isn't. If you want people to use it, you have to provide some utility. If you just want to make a point about how things could be different, you may as well print up stickers that say 'get off the internet and talk to people in person'.

alexwennerberg3 years ago

> If you want people to use it, you have to provide some utility

People do use it, though.

> you may as well print up stickers that say 'get off the internet and talk to people in person'.

Gemini is basically a movement in this direction

Talanes3 years ago

>you may as well print up stickers that say 'get off the internet and talk to people in person'.

The stickers would have less of a discoverability problem too.

selfhoster113 years ago

On the contrary, I would say a bit smarter than Gopher. For one, it has optional support for markdown, nicer native markup, and encryption support.

mattlondon3 years ago

So for what it is worth, gopher has support for encryption these days, and some gopher browsers can also trivially auto-render markdown.

ziml773 years ago

I just browsed around a bit and was left annoyed by the lack of styling. I clicked on a link that I knew was supposed to bring me to another Gemini site and yet I couldn't tell that's what happened. Until I compared the domains, I thought I may have still been on the same Gemini site.

On the web, even sites that use templates tend to have customizations that make them distinct (even if it's just a logo change in the header). As long as no one is intentionally trying to trick me, I can tell without thinking about it when I've clicked a link that's brought me to a new website.

jokoon3 years ago

Seems to use some sort of markdown

To be honest I really wish a markdown-like syntax would replace HTML.

But I would rather see HTML remove old features and have a stricter syntax.

blacktriangle3 years ago

Markdown-like maybe, but certainly not markdown. Markdown itself has tons of rabbit holes and is deceptively complex, and that's before you get into the issue where you can just insert HTML as HTML.

I really wish more people would give AsciiDoc a shot, it's basically a stricly better Markdown with awesome tooling, sadly it lacks the general in-app support that Markdown has accumulated.

bencollier493 years ago

Is there the equivalent of a Gemini "home page" anywhere? I'm after some links.

0xdeadb00f3 years ago

There are a few....but on Gemini itself :p

bencollier493 years ago

Oh I finally found the Gemini search engine. That'll do!

Shtirlic3 years ago

Gemini looks extremely close to "Hypertext" Fidonet ideas circulated some time ago.

richardfey3 years ago

I don't understand why HTTP over TLS could not be used here

andrewstuart3 years ago

So sort of like Teletext or Prestel, is that right?

selfhoster113 years ago

A bit more interactive. Teletext was mostly one-way, where Gemini is sort-of two way and interactive.

TedDoesntTalk3 years ago

This name is so overused that when I see it, I think I know the project in several different contexts.

Choose another name… please.

Y_Y3 years ago

Overloading names is frustrating. It's also disappointingly ubiquitous, and whether or not it's a problem depends strongly on your context and expectations. For example, the English dialect I learned growing up exclusively used "autumn" to refer to the season after summer and before winter. Every time I see a phrase like "we will complete this project after the fall" I end up parsing it as something like "after the fall [of civilization]" and have to manually correct.

Presumably when people give something a name that has conflicts, they themselves don't see it that way. This makes it an especially difficult kind of problem, since you have to then argue that a) people like you (but unlike them) have a problem and b) this problem is worth caring about and maybe even c) this isn't going to happen all over again when the new solution is troublesome for some other group.

I find that societal issues fitting this pattern are a real sticky wicket generally.

selfhoster113 years ago

That ship has sailed a while ago. Gemini is already the established name, and doesn't clash with other names in its context.

TedDoesntTalk3 years ago

Sorry to hear that; the project is simply ignored because of naming conflicts “oh, I know that already.”

There’s precedent for renaming projects.

nathias3 years ago

for me the real benefit of gemini is the separation from the rest of the internet, a part where only the technically savy can go to escape what internet has become