That's how IBM managed to jam so many terminals over such slow links back in the day -- all of your composition was done locally on the terminal, then you hit the Enter (submit) key, thge screen got sent to the host, the host's response came back, and you moved on.
When you run the Citadel client on your local machine, it does the same type of thing. The entire user interface runs on your local machine. For example, when you are composing a message, the editor is running locally. Then when you save the message, it submits the whole thing at once in a single network operation.
Mainframe afficionados will even recognize that when you run the client with the status bar turned on, there's an icon that appears in the status bar that comes on when it's waiting for the host, just like the clock icon on the 3270.
By the way, I fixed the telnet service on Uncensored. I don't know why or when, but inetd blew itself up. Happily, I figured out how to run telnetd directly from systemd, so there's no more need for inetd.
Oh i was not expecting a speed daemon, just thought it might be noticeably faster than adding a ssh layer on top of the I2P layer. Figured if you were actually entering charters directly on the remote machine in effect, via the web 'console' it would be faster.
Because I Am The Way I Am, I decided to just clone the git repo and build libcitadel and the client from source. Built clean and works fine on Debian bookworm. I did have some strange behavior when I enabled the status line with blank messages and weird scrollage, it does not seem to play nice with mosh. But it's fine now that the status line is switched off.
I've compiled plenty of standard and non-standard stuff in my day, but I quickly hit a stumbling block when I cloned the Citadel git repo - when I configure and try to make the text client it can't find libcitadel.h, and when I went into that directory to build it there's nothing to configure or make. I assume there's a way to build the client without the entire system?
2023-09-19 11:43 from nonservator <nonservator@uncensored.citadel.org>
I'm a client-usin' fool.
Congratulations. Now you can enjoy missing out on pictures with the rest of us cool kids.
By the way, I fixed the telnet service on Uncensored. I don't know
why or when, but inetd blew itself up. Happily, I figured out how to
run telnetd directly from systemd, so there's no more need for inetd.
Guess if I had read this room first then I would already have my answer to "what's wrong with xinetd" I posted in that other room. Systemd still sucks.
nothing to configure or make. I assume there's a way to build the
client without the entire system?
You have to build libcitadel first. Because the code is coming from a git repo, there is not a prebuilt configure script. You have to use the autotools to make one.
I do:
aclocal
autoconf
autoheader
automake --add-missing
(I'm sure there is a Better Way, or a Correct Way, but the above works.)
At that point you'll have a configure script you can run & then make / make install libcitadel. You will then have much better luck building the text client.
Oh, also, you'll need zlib's headers (on debian it's zlib1g-dev) to build libcitadel, and, um, openssl's headers I think to build the client.
On the last step, I get:
automake: warning: autoconf input should be named 'configure.ac', not 'configure.in'
configure.in: error: no proper invocation of AM_INIT_AUTOMAKE was found.
configure.in: You should verify that configure.in invokes AM_INIT_AUTOMAKE,
configure.in: that aclocal.m4 is present in the top-level directory,
configure.in: and that aclocal.m4 was recently regenerated (using aclocal)
automake: error: no 'Makefile.am' found for any configure output
I do:
aclocal
autoconf
autoheader
automake --add-missing
(I'm sure there is a Better Way, or a Correct Way, but the above
works.)
Yeah, you run the "bootstrap" script that's included with the distribution
:)
Congratulations. Now you can enjoy missing out on pictures with the
rest of us cool kids.
The sixel vs. kitty graphics debate is included herein by reference.
However, if you have the client installed locally, you *can* configure an image viewer.
Went into citadel dir and ran bootstrap but auto* are still generating errors like before (though I do see a bootstrap 'stub' in the textclient dir now).
For anyone interested ... UNCENSORED! now has a "text client in a web browser" option, like so many BBS's are using as their *only* option. This is in addition to telnet, SSH, and of course the regular web client.
[[ https://www.citadel.org/uncensored_ftelnet.html ]
Cool.
( not surprised i would say that im sure :) )
Mon Oct 30 2023 17:59:47 EDT from IGnatius T Foobar
For anyone interested ... UNCENSORED! now has a "text client in a web browser" option, like so many BBS's are using as their *only* option. This is in addition to telnet, SSH, and of course the regular web client.
[[ https://www.citadel.org/uncensored_ftelnet.html ]
I'd like to rewrite the client in some higher level language. When I first started the project in 1987 it made sense to do it this way, but it is now The Current Year and it might be nice to have it built in some portable runtime that can go anywhere. Not to mention the client has some of the oldest and therefore ugliest code in the project.
Writing it in pure Javascript might be fun, or perhaps Python or Go or any other language that has network primitives taken care of by the runtime. I'd like to have it be able to communicate with the server using either its native protocol or HTTP or even directly on I2P without a preconfigured tunnel.
Alas, as much as I would enjoy this project I must not commit the time to it. WebCit-NG must be (and is being) worked on.
Am I reading that correctly? iSH is an entire POSIX runtime built in
userspace because Apple doesn't let you have direct access to the real
one?
That's right. It is useful occasionally, but has practical problems directly attributable to the Walled Garden. For instance, if I start a long task (sudo ipk add python3) and set the phone down, when the phone locks the iSH process is killed. It is usually okay if I just task switch but of course when the app isn't foreground it gets few cycles. But for dicking around in an airport it works fine. Serious work would probably be better served with a mosh client talking to my VPS. Or buy a real phone.
A client in python sounds like fun. I haven't looked at your code or the native protocol in awhile but that's probably within my capabilities as a noob pythonista. Maybe when I stop working 60 hour weeks for $dayjob.
Hey text fans --
How do you all feel about using the web terminal as compared to telnet or SSH? Know that I am not planning to discontinue any of these. But I'm thinking about putting a little more love into the web terminal experience now that `xterm.js` has become, more or less, the overwhemingly dominant standard for web terminals. Adding universal support for things like color, bold/italic text, the status line, and even sixel graphics so the inline images show correctly.
What do you think? Do you use the text client because it's your preferred experience and you don't care what software provides it, or do you use it specifically because it doesn
't require a browser?
Sat Apr 13 2024 14:36:49 EDT from IGnatius T Foobar
What do you think? Do you use the text client because it's your preferred experience and you don't care what software provides it, or do you use it specifically because it doesn
't require a browser?
Both.
What do you think? Do you use the text client because it's your
preferred experience and you don't care what software provides it, or
do you use it specifically because it doesn
't require a browser?
I use the terminal specifically because it allows me to visit Uncensored without having to commit 1.5 gigabytes of RAM torunning a bloated bew browser that is not necessary at all.