💾 Archived View for gemi.dev › gemini-mailing-list › 000268.gmi captured on 2023-11-04 at 12:37:27. Gemini links have been rewritten to link to archived content

View Raw

More Information

➡️ Next capture (2023-12-28)

-=-=-=-=-=-=-

[ANN] Titan - a Console-based Browser Written in Java

Andrew J <gemini (a) ajtjp.com>

Hello!

I discovered Gemini a little over a month ago, and like many others, decided to
write my own client. It's been a fun project, and it's now been a few weeks since
it reached the point where I'm spending more time browsing Gemini capsules
than writing it. Thus, I figured I should share it in case others found it useful.

Notable features include a vim-inspired interface, a focus on features of
convenience for browsing such as search within a page, and cross-platform
support, including making it relatively easy for non-developers to run it
through releasing binaries.

I invite you to visit its home page at
https://ajtjp.com/software/titan/titan.html and give it a try. For now, I've
left its home page on the WWW, so that users without a Gemini browser can
discover and download it more easily. I've set up a couple mailing lists on
SourceHut (linked from its home page), so if you are interested in following
Titan, you can subscribe there, as I don't want to spam this thread.

I've also recently set up a Gemini capsule at gemini://ajtjp.com, running
Gemserv. There isn't much content there yet, compared to my Gopher or HTTPS
sites, but I will likely be adding more in the future.

- Andrew J

P.S. It's been pretty cool reading various Gemlogs over the past month. I
should probably reach out in response occasionally; there are several capsules
where I've seen enough updates to start recognizing them. Doubly so when I've
realized I've also browsed their Gopher hole in the past!

Link to individual message.

Sean Conner <sean (a) conman.org>

It was thus said that the Great Andrew J once stated:
> Hello!

  Greetings!

> I discovered Gemini a little over a month ago, and like many others, decided to
> write my own client. It's been a fun project, and it's now been a few weeks since
> it reached the point where I'm spending more time browsing Gemini capsules
> than writing it. Thus, I figured I should share it in case others found it useful.

  I appreciate the effort, but I feel the need to tell you that the name
Titan has already been used with a Gemini related project---a upload
protocol:

	https://communitywiki.org/wiki/Titan

and it has been referenced on the mailing list:

	https://lists.orbitalfox.eu/archives/gemini/2020/001632.html

  Just thought you should know.  But other than that, it looks nice.

  -spc

Link to individual message.

lel <lel (a) envs.net>

On Fri, Jul 03, 2020 at 01:42:10AM -0400, Sean Conner wrote:
> It was thus said that the Great Andrew J once stated:
> > Hello!
> 
>   Greetings!
> 
> > I discovered Gemini a little over a month ago, and like many others, decided to
> > write my own client. It's been a fun project, and it's now been a few weeks since
> > it reached the point where I'm spending more time browsing Gemini capsules
> > than writing it. Thus, I figured I should share it in case others found it useful.
> 
>   I appreciate the effort, but I feel the need to tell you that the name
> Titan has already been used with a Gemini related project---a upload
> protocol:
> 
> 	https://communitywiki.org/wiki/Titan
> 
> and it has been referenced on the mailing list:
> 
> 	https://lists.orbitalfox.eu/archives/gemini/2020/001632.html
> 
>   Just thought you should know.  But other than that, it looks nice.
> 
>   -spc
> 

It's funny that we've reached the point where rocketry-related names for gemini projects
are beginning to collide. That would seem to say something about both the number of
projects in gemini and the lack of rocketry-related names. I myself used the name
titan coincidentally also for the name of a java gemini client in like March as the final
project for a CS course, although I named it that not only for the rocket but also to
bully Java for being big and bad and eating its children and deserving of getting
banished to Tartarus (using Java was required in the final project so I was semi-salty).

My actual question (to the list, not just you) is this: has any known site implemented
Titan support besides CommunityWiki, and has any client implemented titan support
besides Alex Schroeder's titan bash function? Last thing I knew, Titan was being
discussed on this list but no one had formalized anything about it yet, and even the name
was just someone's thrown-in idea that solderpunk said was better than gemini+submit and
you had said you'd keep in mind. After that if my memory can be trusted the thread flowed
into streaming discussion. Is there somewhere else (an IRC channel, another mailing list,
etc) where Titan development has been discussed?

Thanks,

Link to individual message.

colecmac@protonmail.com <colecmac (a) protonmail.com>

lel wrote:
> [...] but no one had formalized anything about it yet [...]

This, and the rest of the paragraph, is correct as far as I know. I'd like to see
more discussion around the gemini write / titan protocol, so that we can get something
that people can agree on, and clients and servers can actually implement.

I've talked kensanata / Alex, who created CommunityWiki on IRC, and we've discussed how
he was experimenting and pushing things ahead, but I don't think I'm alone in saying that
there should definitely be more discussion, an official spec, Solderpunk chiming in, etc.

Don't get me wrong, I'm happy that there's real code and stuff that works.

> Is there somewhere else (an IRC channel, another mailing list,
> etc) where Titan development has been discussed?

There's #gemini on the tilde.chat IRC, some things have been discussed there, but
anything big will probably happen here.

Cheers,
makeworld

Link to individual message.

Sean Conner <sean (a) conman.org>

It was thus said that the Great colecmac at protonmail.com once stated:
> lel wrote:
> > [...] but no one had formalized anything about it yet [...]
> 
> This, and the rest of the paragraph, is correct as far as I know. I'd like to see
> more discussion around the gemini write / titan protocol, so that we can get something
> that people can agree on, and clients and servers can actually implement.
> 
> I've talked kensanata / Alex, who created CommunityWiki on IRC, and we've discussed how
> he was experimenting and pushing things ahead, but I don't think I'm 
alone in saying that
> there should definitely be more discussion, an official spec, Solderpunk 
chiming in, etc.

  Not to put words into solderpunk's mouth, but I suspect he'd stay out of
this conversation and as long as it isn't pushed as something that's
mandatory, he'd be fine with this.

  As per more discussion, Alex is basing his work off this message to the
list:

	https://lists.orbitalfox.eu/archives/gemini/2020/001657.html

with the slight change in that the path parameters are all separated by a
';', not a leading ';' and '&' for the others, which, okay, I'm fine with
it.  So to update it a bit:

	titan://example.com/post-handler/endpoint?size=1234&mime=text/plain
	titan://example.com/path/to/new/resource;size=1234;mime=text/plain
	titan://example.com/path/to/remove;size=0

  The logic goes something like this [2]:

	if the request has a query, it's an upload of data---accept data.
	if the request has no query, and the path parameter (marked by ';')
		doesn't exist---error.
	if the request has no query, and the path parameter exists:
		if size==0, delete the resource
		if size>0, accept data and make the resource available.

  The 'size' parameter is mandatory; the 'mime' parameter is mandatory for
non-delete requests, there may be other parameters that are specific to a
host or implementation.

  I was also thinking that a request like:

	titan://example.com/path/to/resource

with no query string or path parameters, *might* return meta information
about the resource, like:

	size			(mandatory)
	MIME type		(mandatory)
	creation time		(optional)
	modification time	(mandatory)
	author			(optional)
	version			(optional)
	etc.			(other, optional fields)

  Just an idea.

> Don't get me wrong, I'm happy that there's real code and stuff that works.

  Same here.

  -spc

Link to individual message.

---

Previous Thread: [ANN] GMI to Atom converter CGI script

Next Thread: Titan, the proposed upload protocol for Gemini