this post was submitted on 24 Jan 2025
71 points (93.8% liked)

Web Revival

160 readers
9 users here now

A movement focused on capturing the creativity and openness of the early Internet.

We aren't here to watch Big Web burn (we have plenty of communities for that) but to find positive ways we can make the Small Web better.

Elsewhere in the Fediverse:

founded 1 week ago
MODERATORS
 

The Gemini protocol is brutally simple, which makes it just about too useless for apps, tracking, and commercial purposes. Gemtext, the format for Gemini pages, is very basic; with about half as many features as markdown, it's barely a step above plain text. As a result, Gemini is a small universe of blogs and personal sites.

Its simplicity makes it easy for people to create compatible clients and services for it. It's self-hosting friendly and there are also hosting services, like smol.pub and some pubnixes.

Of course, you'll need to get a Gemini browser or visit a Gemini-to-web proxy to access it.

top 44 comments
sorted by: hot top controversial new old
[–] [email protected] 1 points 1 day ago (1 children)

I’m pretty interested in Gemini but the learning curve to self-host is pretty steep. Not sure why someone can’t just create a docker image for those of us who believe in self-hosting but haven’t the skills (yet) to CLI .

[–] [email protected] 1 points 1 day ago (1 children)

Agate is a popular and actively maintained server that only serves static files, and it hosts images on ghcr.io. It's a pretty short Dockerfile.

[–] [email protected] 1 points 22 hours ago

Thanks. I’ll give this a go.

[–] [email protected] 37 points 6 days ago (3 children)

I would consider renaming it so people don't think it's AI

[–] [email protected] 17 points 6 days ago (3 children)

Gemini protocol: 2019, Gemini crap machine: 2023. Google can change the name if they want.

[–] Valmond 24 points 6 days ago

Well yes but good luck.

[–] Odo 20 points 6 days ago
[–] [email protected] 8 points 6 days ago

The swastika was around wayy before the nazis started using it! They should change!!

[–] [email protected] 7 points 6 days ago

What if that's what the corpos want?

"Oh it's the Tiniverse protocol now? Well check out Apple's new Tiniverse microblogging product!"

[–] [email protected] 1 points 6 days ago (1 children)

I think you're AI, maybe you should rename yourself.

[–] [email protected] 6 points 6 days ago (1 children)

In order to be artificial intelligence you need to be both artificial and intelligent, and I truthfully am neither

[–] [email protected] 1 points 5 days ago

On the plus side, it appears at least you are honest!

[–] Valmond 23 points 6 days ago (4 children)

You can just scrap the protocol and serve plaintext, or with just basic html tags like bold , links etc if you want to, works with any navigator.

What is the benefit of using a special navigator?

I'm asking because I think the idea kind of neat, and I'm working on something similar.

[–] [email protected] 22 points 6 days ago (1 children)

Because it was designed on purpose to not even have the ability to be enshittified. No scripting engine, on purpose -- no popup ads. No cookies, no tracking.

Things that were originally thought as good things to add to the browser in retrospect have been abused so much, it's better to not have them available for mis-use.

[–] moseschrute 20 points 6 days ago (2 children)

The issue is the structures motivating companies to enshittify. Not the technology. Blame late stage capitalism not JavaScript.

[–] Windex007 11 points 6 days ago (1 children)

I will never NOT blame JavaScript for ANYTHING

[–] moseschrute -2 points 6 days ago* (last edited 6 days ago) (1 children)

You know JavaScript allows websites to be more local first, right? Apps that would otherwise require a server to handle a lot of the rendering logic. Sure, you can wish we had a front-end scripting language other than JavaScript, but modern JavaScript is pretty good actually. There’s been a ton of work by browsers to optimize performance, and TypeScript has made shipping JavaScript with confidence much easier. Facebook has made it possible with Hermes to ship bite code pre-compiled JavaScript. The entire JavaScript tool chain is currently being rewritten to Rust and Go for massive speed increases. I’ve been writing JavaScript for a decade, and it used to suck. It’s a wonderful time to write JavaScript.

[–] Windex007 9 points 6 days ago (1 children)

I know what JavaScript is.

I'm saying any language could perform the same function.

My issue is with the design of the language and its gargbage feature set.

[–] moseschrute 1 points 5 days ago (2 children)

What would you change about JavaScript? Like specific language features you don’t like. Not general statements.

[–] Windex007 6 points 5 days ago* (last edited 5 days ago) (1 children)

Types?

Edit:

For clarity, consider all the shit an actual real production scenario demands of layering on library after library and framework after fucking framework to make it usable.

Nobody even USES "JavaScript", they use like 7 layers to try and turn it into a production ready environment.

Why.

Because JavaScript sucks.

Look at what they need to mimic a fraction of what other languages come with out of the box.

[–] moseschrute 0 points 5 days ago

TypeScript solves most of your type issues. Zod gives you runtime enforcement of those types if you want, if you can stomach installing a library. But it’s true it’s not actually a statically typed language with built-in runtime enforcement of types. I hope in the next 5-10 years we see browsers that are able to run TypeScript with both runtime enforcement and performance benefits from using actual static typing. But IMO TypeScript is good enough solving most of the type problems with JavaScript.

You’re welcome to use as many or as few libraries as you want. There are tons of JavaScript libraries, and some of those libraries have way too many dependencies. But if you cut through the noise, there are actually a lot of high-quality libraries that don’t have an absurd number of dependencies and bring a lot of value.

JavaScript is by no means perfect, but I think it’s become trendy to hate on it. Every language has its issues. JavaScript has done an amazing job outgrowing many of its problems. Growth has brought new problems, but I’ve been writing JS/TypeScript for 10 years, and would not like to go back to JS 10 years ago. It kind of sucked compared to today.

[–] Valmond 1 points 5 days ago (1 children)

Try to learn it and you'll see!

At least if you know programming beforehand.

[–] moseschrute 2 points 5 days ago* (last edited 5 days ago) (1 children)

I've been writing JavaScript for 10 years, the majority of that professionally. I have a formal education in computer science. In college, I wrote Java, assembly, C, Python, Lisp, Prolog, and SQL. Outside of school, I've written Go, Rust, Ruby, and probably dabbled in a bunch of others.

As someone that knows programming and that has learned JavaScript, I don't get the sense that people here have actually given JavaScript a fair chance. Sure, it’s not without its issues, but why don't you learn it and see?

Voyager, which I believe is the most popular Lemmy iOS client, is written in JavaScript. It's a fantastic app. There are a bunch of people that love hating on JS, but there are also a bunch of people that hate being locked into cloud services that can be shut down at any time. JavaScript allows you to build local-first apps that are less dependent on a server (obviously, backend is still a thing).

[–] Valmond 1 points 5 days ago* (last edited 5 days ago) (1 children)

Learn C++ or a modern high level language (not Java). You seem stuck in the old stuff which might be why you don't see the obvious flaws with js.

That a nice program is written in a language says nothing positive about the language IMO. Everything was written in old clunky languages at a certain point.

[–] moseschrute 1 points 5 days ago (1 children)

Lol isn’t C++ insanely bloated? Surely there are more modern languages. Like Zig maybe?

Also I mentioned I’ve written Rust and Go, which are pretty modern. I’d be interested in learning Zig if I had more time. As for the other languages, CS programs just use older languages, but it was more about learning the concepts like data structures.

But it’s very much a right tool for the right job. JavaScript is a very good tool for front end development. C++ is a very good tool for writing a rendering pipeline or doing signal processing (I’m guessing idk I haven’t tried doing that stuff).

But my original read in this thread was “JavaScript sucks” not “JavaScript sucks when you use it for the wrong task”. It doesn’t suck, but I agree don’t use it for the wrong task.

[–] Valmond 1 points 3 days ago (1 children)

Missed you're still in school, which explains a couple of things.

Doing a little 100k lines soft is doable in any language, and you are right trying out lots of popular languages, there's a high probability you'll end up working with one of them.

Okay so why is javascript crap, and C/C++ not? Javascript is just a scriptung language, it's made for a simple front end displaying simple things, sure you can make a software with it but the reason you should isn't about the language or the "task" but 1) what tech choice some guy did 15 years ago and now you're stuck with it, or 2) you know how to program in javascript. No sane person is doing a javascript program otherwise (except learning maybe) because, its, and it is even in the name, a scripting language. And a very poorly made too.

Which means you can't do large software with it, and you'll hit performance bottlenecks if you try. Also it will be an architectural nightmare.

C/C++ is lots. That's probably why you think it's bloated, you can do anything from assembler up to template metaprogramming, so yeah, a steep learning curve if you try to master even a subset. But classes and inheritance is something you should learn anyways so if you try, I'd advice you to start there. C/C++ is extremely fast, versatile and can handle extremely large projects, but it's also complex, and will blow your stuff up if used badly, a glass vial of nitroglycerin of sorts. Modern C++ helps a lot with the dangers of classic C/C++.

The best language for the task (with the exception of 1) and 2) already mentioned) is probably between the two.

Cheers

[–] moseschrute 1 points 3 days ago* (last edited 3 days ago) (1 children)

I’m not still in school. I graduated a few years ago. And officially I’m a “senior engineer”. Though admittedly I feel more mid-level.

Parts of what you said are true, but I disagree with your overall sentiment. Node.js, which is extremely popular, has put JavaScript on the backend. I’ve seen large-scale backends, with no JS performance issues, written in JavaScript.

Then you have React/React Native. I’ve heard Facebook has at least 100 thousand React components. It’s possible that’s shared across a few projects, but the point is Facebook is running massive projects with JavaScript.

I’m writing this comment on a Lemmy client I wrote. I used JavaScript to build a universal app that is capable of rendering on the server (via Node.js) in the browser using React.js, and on native (iOS, Android, macOS) using React Native. That’s one singular codebase that I wrote that can run in 3 places. And it wouldn’t be possible without JavaScript.

I don’t mean this in a mean way, but I would caution that you seem very locked into your ways. It’s better to keep an open mind and always be trying new languages. It might surprise you that the JavaScript of today is different than the JavaScript you were initially exposed to. And it goes for me too. I want to continue to lean and push myself out of my comfort zone.

We can sit here and complain about how JavaScript should have never become what it is, but I’d rather finish my app before I have to clock into my 9-5 to write JavaScript professionally for 8 hours. But next time my C++ writing coworker, who manages the code for our hardware accessory, asks my opinion, I’ll be sure to tell him I’m not a real programmer because I write JS so my opinion doesn’t matter :)

Not exactly the same, but reminds me of this

[–] Valmond 1 points 3 days ago (1 children)

So javascript is a good language because people use it? Have you heard of Excel, windows or anything else crappy that lots of people use?

You come about as someone trying very hard to shoehorn your opinion in here with all you got, just because you think you're a less good programmer than C/C++ programmers. Stop being salty and learn some OOP is my recommendation if you're not on a too high horse.

Javascript is a shit language; no static typing, variables are global by default (only that is the most stupid thing ever...), where are the integers? Inheritance broken, And so on...

Use typescript or something to generate your javascript at least.

Sincerely I hopy you're trolling!

[–] moseschrute 1 points 3 days ago* (last edited 3 days ago) (1 children)

Did you even read my previous comments? I also mentioned TypeScript. I can probably count on one hand how many lines of non TypeScript JavaScript I’ve written in the past 5 years. That’s only a slight exaggeration. Apologies if I used JS and TS too interchangeably.

lol I’m not on a high horse. JavaScript is the best option for the types of problems I want to solve. Those problems, both professionally and outside of work, are cross-platform front-end development. I’ve also tried Flutter, just to explore the other options out there, but learning Dart feels less useful to me then other languages.

As soon as I have a problem to solve where there is a better language than JavaScript, I’m learning that language. But I live in the real world where the only thing that really matters is the end-user experience. Try explaining to your product manager why you think you should rewrite your entire web app to C++ using Web Assembly. I bet they will laugh.

It’s kinda funny cause this conversation makes me think C++ programmers are obnoxious. Community surrounding language is important. Not just the language.

[–] Valmond 1 points 3 days ago (1 children)

You're mixing up what you need to do and what is a good language. Use javascript if that's the "best" language you know. Have I said otherwise, I think not.

It also seems your got some beef with your collegue C/C++ developer, take that up with him!

I have seen webassembly from C++, who knows if that was the best solution, maybe it actually was at that particular moment.

And if you can solve all your problems in javascript, you do so, good for you. I just think it's a bit ridiculous when people boast that "their" programming language is the "best" one. That "best language" changes all the time, you'll see by yourself.

[–] moseschrute 1 points 3 days ago

Literally never did I say JavaScript was the best programming language lol. I have no beef with my C++ colleague. Actually I really love picking his brain about neural networks and other stuff that he does that I don’t work on.

I also think it’s “ridiculous” when people boast that their programming language is best. All I meant was JavaScript doesn’t deserve as much hate as it gets.

Listen we can argue about programming languages all day, but what we can all agree on is objectively Vim is the best editor. Only losers navigate VS Code using their mouse 🤮

[–] [email protected] 1 points 6 days ago (1 children)
[–] moseschrute 4 points 6 days ago

Thanks. I’m building my own Lemmy client and I’m leaning very heavily on JavaScript 😅, but it’s 100% local first, only depending on the Lemmy API.

[–] Zachariah 12 points 6 days ago (1 children)

I’d love to see support for the protocol baked into the big browsers.

I really think we missed an opportunity to have an app:// protocol back in the ’00s instead of trying to kludge HTML into being software.

Browsers could totally do multiple protocols. I think ftp:// and gopher:// still works on most of them.

[–] [email protected] 6 points 6 days ago (1 children)

Used to -- I think both ftp:// and gopher:// have been removed by the big browsers (eg Chrome and Firefox).

Can't have competing standards that might let us avoid ads now, can we?

[–] [email protected] 3 points 6 days ago

B-but think of the golden parachute the Mozilla CEO can get!

[–] [email protected] 9 points 6 days ago (1 children)

This is a good question that's often asked about Gemini. The creator addresses this in a part of the FAQ: Why not just use a subset of HTTP and HTML?

Personally, I find Gemini nice because its utter basicness guarantees that there's no room for the kind of bullshit you might find on the web. Sure, you and some other nerds could make a "friendly HTML" club, but participation is voluntary and there's no way to enforce the rules to keep the pages simple. And how would you know what sites are "friendly" just by looking at the hyperlink? Gemini creates a universe where sites have to be "friendly"; there is no other way.

[–] Valmond 3 points 5 days ago (1 children)

Fair enough! Good points actually.

What I have seen with concepts like this is that's infuriatingly hard to start. I tried getting on the rss bandwagon for example and it's just not very user friendly IMO. Is there for example a Gemini search engine?

Will FF display a Gemini page as text only?

Where do you hang out and exchange links 😁 ?

[–] [email protected] 2 points 5 days ago (1 children)

Is there for example a Gemini search engine?

Yes. Two, actually (that I know of).

  • gemini://tlgs.one
  • gemini://kennedy.gemi.dev

Will FF display a Gemini page as text only?

Firefox doesn't directly support Gemini, but you can view pages through a proxy like portal.mozz.us. Gemtext, the standard page format, has basic formatting syntax, and yes, it's text only. There's no mechanism for embedding images in pages - the best you can do is just link to them. In this one popular client, Lagrange, clicking on a link to an image displays it under that link, but other clients handle image links differently.

Where do you hang out and exchange links 😁 ?

I just lurk and read gemlogs (of course they can't be called blogs, that's short for web log!). There are sites with feeds of latest gemlog posts, and many sites that offer Gemini hosting have a list of recently updated pages. There are some minimal social networks, too. The front page of portal.mozz.us has a few links to these kinds of spots.

[–] Valmond 1 points 1 day ago
[–] [email protected] 2 points 6 days ago

Why not both? There are bridges that automatically convert and serve Gemtext to simple HTML for "regular" browsers.

In a similar manner, I wrote a set of scripts that takes gemtext source and creates both Gemini pages (by adding headers and footers) and static HTML pages (same but with some web-specific niceties - CSS, even JS snippets)

(And yes, I really enjoy gemtext markup for its simplicity)

[–] [email protected] 18 points 6 days ago (1 children)
[–] [email protected] 5 points 6 days ago

geocities

snapshot of IE

Memory unlocked.

[–] [email protected] 9 points 6 days ago

Maaaaan I tried to like Gemini but it's all over the place being a "worse Gopher" of sorts. Not that I wouldn't adopt it if it garnered more attention, but I feel like it's made for pubishing "yellow pages", not actual content.