irc.mills.io running behind Caddy Layer 4. However I don't terminate TLS at the edge in this case.
@prologic@twtxt.net OH SHIT using this for a protocol like gopher is smart! might have to try that for gemini so i donât have to keep a port open for that
We hacked Googleâs A.I Gemini and leaked its source code (at least some part)
Comments â Read more
@bender@twtxt.net thinked about Gemini protocol. Why corporations shit this name with cryptocurrency and LLMs?
@prologic@twtxt.net Gemini has an answer for you:
This is a conversation thread from a twtxt network, detailing a userâs (movq) frustration with the Mastodon âexport dataâ feature and their consideration of self-hosting a fediverse alternative. Hereâs a summary:
- movqâs initial issue:
- movq is concerned about the volatility of their data on their current Mastodon instance due to a broken âexport dataâ feature.
- They contacted the admins, but the issue remains unresolved.
- This led them to contemplate self-hosting.
- movq is concerned about the volatility of their data on their current Mastodon instance due to a broken âexport dataâ feature.
- Alternative fediverse software suggestions:
- kat suggests gotosocial as a lightweight alternative to Mastodon.
- movq agrees, and also mentions snac as a potential option.
- kat suggests gotosocial as a lightweight alternative to Mastodon.
- movqâs change of heart:
- movq ultimately decides that self-hosting any fediverse software, besides twtxt, is too much effort.
- movq ultimately decides that self-hosting any fediverse software, besides twtxt, is too much effort.
- Resolution and compromise:
- The Mastodon admins attribute the export failure to the size of movqâs account.
- movq decides to set their Mastodon account to auto-delete posts after approximately 180 days to manage data size.
- Movq also mentions that they use auto-expiring links on twtxt to reduce data storage.
- The Mastodon admins attribute the export failure to the size of movqâs account.
well, I assume by syntax you mean Gemtext (which I like a lot, my personal blog is built on top of it), so I think it might work for twtxt clientsâŠ
I knew of twtxt in Gemini Antenna, so at least the 2017 spec might work on that protocol. I think the main issue with extensions is that they werenât designed with many URLs and protocols in mind.
Also I have to admit that the Gemini community significantly reduced in the last few years. I donât know how worth it is to add support for Gemini now.
@eapl.me@eapl.me I agree. The syntax is weird inside Gemini and twtxt is made with the http protocol in mind and Gemini doesnât work with some extensions.
Timeline and twtxt-php, donât support Gemini, only HTTP/S, as a design choice (although originally it was intended to work on Gemtext, it was a niche inside a niche, so it was discarded very soon).
At the moment of building the engine there werenât many Gemini URLs supporting twtxt 1.1 (with twtxt.dev extensions).
Also User-Agent wonât work there, and many Gemini URLs are a mirror of the HTTP one, so I think is not strictly necessary.
my 2c
Are there any clients to read gemini?
My twtxt feed is now also available at gemini://roccodrom.de/twtxt.txt
My twtxt feed is now also available at gemini://roccodrom.de/twtxt.txt
Google, DuckDuckGo massively expand âAIâ search results
Clearly, online search isnât bad enough yet, so Google is intensifying its efforts to continue speedrunning the downfall of Google Search. Theyâve announced theyâre going to show even more âAIâ-generated answers in Search results, to more people. Today, weâre sharing that weâve launched Gemini 2.0 for AI Overviews in the U.S. to help with harder questions, starting with coding, advanced math and multimodal queries, with mor ⊠â Read more
Revista textoplano nro.1: gemini://texto-plano.xyz/revista/index.gmi
well, Gemini clients like Lagrange allow to show inline images when you click on an image link. Text based clients, like Amfora, usually allow to watch the image in another âwindowâ.
For example here: gemini://text.eapl.mx/en-making-a-tic-tac-toe-variant and there https://text.eapl.mx/en-making-a-tic-tac-toe-variant
I agree that some topics require images to make it easier to explain.
@andros@twtxt.andros.dev Broke on me for having alt-urls I think đ„Č
twtxt---profile-layout: Wrong type argument: char-or-string-p, ("https://aelaraji.com/twtxt.txt" "gemini://box.aelaraji.com/twtxt.txt" "gopher://box.aelaraji.com/0/twtxt.txt")
robots.txt file. only noticed it because the OpenAI bot was hitting me with a lot of nonsensical requests. here is the list from last month:
(I keep thinking that going back go Gopher or Gemini might be a good idea at this point. They donât care about that, probably. đ«Ł)
:3 already_tried_that_for_some_reason_it_crashes_so_i_use_dillo_which_is_fine_since_ican_browse_gemini_too
He instalado Olauncher, lo recomiendo, lo pueden leer en mi cĂĄpsula Gemini https://t.ly/IkE9E
messing with gemini again, this time a static site generator called gssg - https://git.sr.ht/~gsthnz/gssg
my capsule is linked in my profile but just in case itâs over at gemini://lazuli.sayitditto.net
Voy a escribir mĂĄs seguido en Gemini, estoy comenzando con esto https://t.ly/8hS6m
Portion of the modified Twitter TOS that goes into effect today (itâs on right now), as summarised (ironically) by Googleâs Gemini:
âIn simpler terms, this means that when you share your content (like text, images, or videos) on the service, youâre giving the company permission to use it in various ways. They can copy, modify, distribute, and even use it to train their AI models. This includes sharing your content with others and using it on other platforms. You wonât be paid for this, but using the service itself is considered enough compensation.â
Thank you, @eapl.me@eapl.me! No need to apologize in the introduction, all good. :-)
Section 3: Iâm a bit on the fence regarding documenting the HTTP caching headers. Itâs a very general HTTP thing, so there is nothing special about them for twtxt. No need for the Twtxt Specification to actually redo it. But on the other hand, a short hint could certainly help client developers and feed authors. Maybe itâs thanks to my distroâs Ngninx maintainer, but I did not configure anything for the Last-Modified and ETag headers to be included in the response, the web server just already did it automatically.
The more that I think about it while typing this reply, the more I think your recommendation suggestion is actually really great. It will definitely beneficial for client developers. In almost all client implementation cases Iâd say one has to actually do something specifically in the code to send the If-Modified-Since and/or If-None-Match request headers. There is no magic that will do it automatically, as one has to combine data from the last response with the new request.
But I also came across feeds that serve zero response headers that make caching possible at all. So, an explicit recommendation enables feed authors to check their server setups. Yeah, letâs absolutely do this! :-)
Regarding section 4 about feed discovery: Yeah, non-HTTP transport protocols are an issue as they do not have User-Agent headers. How exactly do you envision the discovery_url to work, though? I wouldnât limit the transports to HTTP(S) in the Twtxt Specification, though. Itâs up to the client to decide which protocols it wants to support.
Since I currently rely on buckketâs twtxt client to fetch the feeds, I can only follow http(s):// (and file://) feeds. But in tt2 I will certainly add some gopher:// and gemini:// at some point in time.
Some time ago, @movq@www.uninformativ.de found out that some Gopher/Gemini users prefer to just get an e-mail from people following them: https://twtxt.net/twt/dikni6q So, it might not even be something to be solved as there is no problem in the first place.
Section 5 on protocol support: Youâre right, announcing the different transports in the url metadata would certainly help. :-)
Section 7 on emojis: Your idea of TUI/CLI avatars is really intriguing I have to say. Maybe I will pick this up in tt2 some day. :-)
@sorenpeter@darch.dk on 4 for gemini if your TLS client certificate contains your nick@host could that work for discovery?
@eapl.me@eapl.me here are my replies (somewhat similar to Lyseâs and Jamesâ)
Metadata in twts: Key=value is too complicated for non-hackers and hard to write by hand. So if there is a need then we should just use #NSFS or the alt-text file in markdown image syntax
if something is NSFWIDs besides datetime. When you edit a twt then you should preserve the datetime if location-based addressing should have any advantages over content-based addressing. If you change the timestamp the its a new post. Just like any other blog cms.
Caching, Yes all good ideas, but that is more a task for the clients not the serving of the twtxt.txt files.
Discovery: User-agent for discovery can become better. Iâm working on a wrapper script in PHP, so you donât need to go to Apaches log-files to see who fetches your feed. But for other Gemini and gopher you need to relay on something else. That could be using my webmentions for twtxt suggestion, or simply defining an email metadata field for letting a person know you follow their feed. Interesting read about why WebMetions might be a bad idea. Twtxt being much simple that a full featured IndieWeb sites, then a lot of the concerns does not apply here. But thatâs the issue with any open inbox. This is hard to solve without some form of (centralized or community) spam moderation.
Support more protocols besides http/s. Yes why not, if we can make clients that merge or diffident between the same feed server by multiples URLs
Languages: If the need is big then make a separate feed. I donât mind seeing stuff in other langues as it is low. You got translating tool if you need to know whats going on. And again when there is a need for easier switching between posting to several feeds, then itâs about building clients with a UI that makes it easy. No something that should takes up space in the format/protocol.
Emojis: Iâm not sure what this is about. Do you want to use emojis as avatar in CLI clients or it just about rendering emojis?
due to the gemini-centric nature of my setup, I donât get webmentions. I just scrape the network and grep. maybe my aggregator will produce notifications at some point lol
@codebuzz@www.codebuzz.nl I have some shell scripts that handle some of the log formatting details, but I mostly write my mesages by hand. Lately Iâve been browsing twtxt.net since they aggregate most of the known network. I have a couple of demo aggregators sitting around, but Iâm in the middle of some infra rebuilds so a lot of my services are offline rn. Theyâre both built on a simple social graph analysis that extracts urls for your direct follows the follows listed on each of those feeds (friend-of-a-friend replication). certain formatting operations are awkward with my setup, so I may write an app of some kind in the future. likely gemini-based, but I have a number of projects ahead of that one in the queue.
man i wish that gemini had smth like this
Simplified twtxt - I want to suggest some dogmas or commandments for twtxt, from where we can work our way back to how to implement different feature like replies/treads:
Itâs a text file, so you must be able to write it by hand (ie. no app logic) and read by eye. If you edit a post you change the content not the timestamp. Otherwise it will be considered a new post.
The order of lines in a twtxt.txt must not hold any significant. The file is a container and each line an atomic piece of information. You should be able to run
sorton a twtxt.txt and it should still work.Transport protocol should not matter, as long as the file served is the same. Http and https are preferred, so it is suggested that feed served via Gopher or Gemini also provide http(s).
Do we need more commandments?
Howâs everyone? I go on Gemini/gopher for a hobby. Still learning.
Google tool makes AI-generated writing easily detectable
Google DeepMind has been using its AI watermarking method on Gemini chatbot responses for months â and now itâs making the tool available to any AI developer â Read more
vis "language as a user interface" paradigm. :waves: Hello from a happy Kakoune user!
@asquare@asquare.srht.site Hi back at you!! đ and nice to meet you!
thank you gemini for continuing to inspire me to think smol
similar to data packets in NDN, each message has multiple names. a true name, which is an encoded cryptographic hash of the file itself. we call this kind of information self-certifying. given a true name, you can find a file and verify its integrity. additionally, agents can associate a self-certifying name with a pet name or subjective label of their choosing and share it with their friends/peers. zokoâs triangle can suck it. gemini://sunshinegardens.org/~xjix/wiki/cryptogenâspecification/
once the minibase work is done and i have my testnet up, i can start to consider the question of brokerless pub/sub. i found state vector sync pub sub in the name-data research and i wonder what a toy version of that would look like. i started work on a demo of gemini pub/sub as a soft fork of molly-brown we weâll see where that takes me!
minibase has a network security architecture with a number of overlapping layers of protection. first, routers and discovery endpoints either require a password or an authorized public key to accept traffic. this setup restricts who can reach the endpoints to an extent, but peering with enough third parties with less restrictive policies will practically allow global routing. since this is a possible policy choice, minibase also requires internal traffic to be authenticated. overlay traffic is automatically encrypted by yggdrasil, but applications should still treat the traffic like its clearnet and use tls. currently iâm requiring a dns acme challenge to generate wildcard certs, but eventually it might make sense to scope the certificates to the specific service its associated with. we donât have much config generation in the nix modules yet, but something like this should be possible eventually. iâm working on configurations for ory oathkeeper, hydra, and kratos to provide a federated auth framework that your network services and minibase configs can integrate with.
i donât normally reach for go when starting a project, but this pubsub gemini thing seems like a great addition to ~solderpunk/molly-brown and i was already intended on adding titan support so i might as well get familiar with the codebase.
gemini calls the request-response cycle a transaction in the spec. since trasactions are not cached, we have this problem where we canât tell if anything was updated without fetching it and we canât indicate how often a client should expect the content to be valid. the most common solution right now to just to keep requesting the resource until it changes or stops existing, which isnât ideal. this sort of update notification model is interesting because it re-frames your thinking into something more like event sourcing. you end up needing to add an event queue and dispatch to the server, which is a bit more complex on the server side than plain static files, but the client stays the same. iâm curious to see what kind of systems could be built on this gemini message queue concept.
thatâs a neat solution to the dead old feeds problem. pull-once-once-on-notify seems to fit the gemini tx model better than scraping pages on a cron timer. i donât have a mechanism in my setup to produce that event yet other than the cron that rebuilds the capsule periodically, but thatâs just a stand-in for not having any CI rn and especially not a CI that works with fossil.
Thereâs a lot more activity in Geminispace than I realized: gemini://warmedal.se/~antenna/
iirc in twtxt v2 it starts prohibited
This is not true. There are no issues supporting fetching feeds via Gemini/Gopher. This is totally fine. What will likely happen is ârecommendationsâ and âdrawbacks of using Gemini/Gopherâ
should i delete gemini support from twet? iirc in twtxt v2 it starts prohibited. And all of my fields are https
âFu*** IRC maaan, all the cool kids are on Discord! IRC sucksâ
LOL, Now substitute IRC and Discord with Gopher/Gemini and Web.
I hope you get the joke đ
Found this: https://notabug.org/tinyrabbit/gemini-antenna. Maybe it have some user-agent alternative?
I hear about Gemini Antenna as User Agent alternative but cant find any information
Gemini/Gopher Twtxt feeds account for less than 1% in existence:
$ total=$(inspect-db yarns.db | jq -r '.Value.URL' | awk -F'//' '{if ($1 ~ /^https?/) print "http/https:"; else print $1}' | sort | uniq -c | awk '{sum+=$1} END {print sum}'); inspect-db yarns.db | jq -r '.Value.URL' | awk -F'//' '{if ($1 ~ /^https?/) print "http/https:"; else print $1}' | sort | uniq -c | awk -v total="$total" '{printf "%d %s %.2f%%\n", $1, $2, ($1/total)*100}' | sort -r
7 gemini: 0.66%
4 gopher: 0.38%
1046 http/https: 98.96%
(#bqor23a). Its the same one. My pod doesn't have the Root Twt: https://twtxt.net/twt/bqor23a => 404 Not Found.
Oh, and I think I said this before, but just in case, fuck Gemini. Hell, fuck Gopher too. Bring on telnet, and UCCP. đ