jackdaniel changed the topic of #commonlisp to: Common Lisp, the #1=(programmable . #1#) programming language | Wiki: <https://www.cliki.net> | IRC Logs: <https://irclog.tymoon.eu/libera/%23commonlisp> | Cookbook: <https://lispcookbook.github.io/cl-cookbook> | Pastebin: <https://plaster.tymoon.eu/>
prokhor has joined #commonlisp
waleee has quit [Ping timeout: 264 seconds]
son0p has quit [Ping timeout: 264 seconds]
Noisytoot has quit [Quit: ZNC 1.8.2 - https://znc.in]
Noisytoot has joined #commonlisp
ttree has quit [Ping timeout: 265 seconds]
mariari has quit [Ping timeout: 252 seconds]
mariari has joined #commonlisp
random-nick has quit [Ping timeout: 244 seconds]
ec has quit [Ping timeout: 258 seconds]
ec has joined #commonlisp
xlarsx has joined #commonlisp
xlarsx has quit [Ping timeout: 244 seconds]
Josh_2 has quit [Ping timeout: 252 seconds]
Oladon has joined #commonlisp
ttree has joined #commonlisp
hashfunc has joined #commonlisp
terrorjack has quit [Quit: The Lounge - https://thelounge.chat]
terrorjack has joined #commonlisp
akoana has quit [Quit: leaving]
dre has quit [Quit: Leaving]
thuna` has quit [Remote host closed the connection]
shka has joined #commonlisp
xlarsx has joined #commonlisp
nexalam__ has joined #commonlisp
xlarsx has quit [Ping timeout: 252 seconds]
nexalam_ has quit [Ping timeout: 260 seconds]
causal has joined #commonlisp
bilegeek has joined #commonlisp
xlarsx has joined #commonlisp
shka has quit [Ping timeout: 252 seconds]
xlarsx has quit [Ping timeout: 265 seconds]
hashfunc has quit [Ping timeout: 244 seconds]
enzuru has quit [Quit: ZNC 1.8.2 - https://znc.in]
xlarsx has joined #commonlisp
enzuru has joined #commonlisp
xlarsx has quit [Remote host closed the connection]
xlarsx has joined #commonlisp
hashfunc has joined #commonlisp
xlarsx has quit [Ping timeout: 252 seconds]
hashfunc has quit [Ping timeout: 264 seconds]
hashfunc has joined #commonlisp
hashfunc has quit [Remote host closed the connection]
pve has joined #commonlisp
hashfunc has joined #commonlisp
hashfunc has quit [Remote host closed the connection]
hashfunc has joined #commonlisp
hashfunc has quit [Ping timeout: 264 seconds]
hashfunc has joined #commonlisp
ttree has quit [Ping timeout: 246 seconds]
hashfunc has quit [Ping timeout: 244 seconds]
rgherdt has joined #commonlisp
dre has joined #commonlisp
xlarsx has joined #commonlisp
xlarsx has quit [Ping timeout: 265 seconds]
pickanick has quit [Ping timeout: 246 seconds]
pickanick has joined #commonlisp
bilegeek has quit [Quit: Leaving]
gko` has quit [Remote host closed the connection]
gko has joined #commonlisp
_cymew_ has joined #commonlisp
razetime has joined #commonlisp
Oladon has quit [Quit: Leaving.]
_cymew_ has quit [Ping timeout: 244 seconds]
xlarsx has joined #commonlisp
ec has quit [Remote host closed the connection]
razetime has quit [Ping timeout: 252 seconds]
ec has joined #commonlisp
xlarsx has quit [Ping timeout: 252 seconds]
razetime has joined #commonlisp
ec has quit [Remote host closed the connection]
ec has joined #commonlisp
hrberg has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
hrberg has joined #commonlisp
Dynom_ has joined #commonlisp
Dynom_ is now known as Guest8124
cage has joined #commonlisp
puchacz has joined #commonlisp
razetime has quit [Ping timeout: 265 seconds]
razetime has joined #commonlisp
xlarsx has joined #commonlisp
xlarsx has quit [Ping timeout: 265 seconds]
xlarsx has joined #commonlisp
razetime has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
Lycurgus has joined #commonlisp
anticomputer has quit [Ping timeout: 258 seconds]
anticomputer has joined #commonlisp
Lycurgus has quit [Quit: Exeunt juan@acm.org]
xlarsx has quit [Remote host closed the connection]
xlarsx has joined #commonlisp
makomo has quit [Ping timeout: 268 seconds]
xlarsx has quit [Ping timeout: 252 seconds]
makomo has joined #commonlisp
random-nick has joined #commonlisp
xlarsx has joined #commonlisp
xlarsx has quit [Remote host closed the connection]
xlarsx has joined #commonlisp
pickanick has quit [Ping timeout: 246 seconds]
pickanick has joined #commonlisp
jmdaemon has quit [Ping timeout: 252 seconds]
prokhor has quit [Ping timeout: 265 seconds]
Lycurgus has joined #commonlisp
tyson2 has joined #commonlisp
anticomputer has quit [Remote host closed the connection]
anticomputer has joined #commonlisp
notzmv has quit [Ping timeout: 246 seconds]
random-nick has quit [Ping timeout: 246 seconds]
lisp123 has joined #commonlisp
<lisp123> Josh_2: Thanks re BKNR & a few days ago
Lycurgus has quit [Ping timeout: 265 seconds]
lisp123 has quit [Quit: Leaving...]
xlarsx has quit [Remote host closed the connection]
random-nick has joined #commonlisp
xlarsx has joined #commonlisp
tibfulv has quit [Ping timeout: 250 seconds]
tibfulv has joined #commonlisp
xlarsx has quit [Remote host closed the connection]
xlarsx has joined #commonlisp
xlarsx has quit [Ping timeout: 246 seconds]
_cymew_ has joined #commonlisp
xlarsx has joined #commonlisp
gxt has quit [Ping timeout: 258 seconds]
gxt has joined #commonlisp
cosimone has joined #commonlisp
cosimone has quit [Remote host closed the connection]
cercopith_ has joined #commonlisp
cercopith has quit [Ping timeout: 264 seconds]
xlarsx has quit [Remote host closed the connection]
anticomputer has quit [Ping timeout: 258 seconds]
anticomputer has joined #commonlisp
thuna` has joined #commonlisp
xlarsx has joined #commonlisp
euandreh has quit [Ping timeout: 265 seconds]
euandreh has joined #commonlisp
pjb has quit [Remote host closed the connection]
pickanick has quit [Ping timeout: 246 seconds]
pickanick has joined #commonlisp
xlarsx has quit [Remote host closed the connection]
xlarsx has joined #commonlisp
xlarsx has quit [Ping timeout: 246 seconds]
xlarsx has joined #commonlisp
genpaku has quit [Read error: Connection reset by peer]
genpaku has joined #commonlisp
Noisytoot has quit [Remote host closed the connection]
Noisytoot has joined #commonlisp
Oladon has joined #commonlisp
rgherdt_ has joined #commonlisp
rgherdt has quit [Read error: Connection reset by peer]
djhaskin987 is now known as djhas-kin
tyson2 has quit [Remote host closed the connection]
_cymew_ has quit [Ping timeout: 252 seconds]
rgherdt_ is now known as rgherdt
aartaka has joined #commonlisp
_cymew_ has joined #commonlisp
pickanick has quit [Ping timeout: 246 seconds]
aartaka has quit [Ping timeout: 246 seconds]
aartaka has joined #commonlisp
thuna`` has joined #commonlisp
xlarsx has quit [Remote host closed the connection]
thuna`` has quit [Read error: Connection reset by peer]
xlarsx has joined #commonlisp
thuna`` has joined #commonlisp
thuna`` has quit [Read error: Connection reset by peer]
xlarsx has quit [Ping timeout: 252 seconds]
pjb has joined #commonlisp
ttree has joined #commonlisp
thuna`` has joined #commonlisp
thuna`` has quit [Client Quit]
xlarsx has joined #commonlisp
tyson2 has joined #commonlisp
euandreh has quit [Ping timeout: 265 seconds]
euandreh has joined #commonlisp
ttree has quit [Ping timeout: 252 seconds]
tyson2 has quit [Remote host closed the connection]
tyson2 has joined #commonlisp
Oladon has quit [Quit: Leaving.]
Noisytoot has quit [Remote host closed the connection]
Noisytoot has joined #commonlisp
Noisytoot has quit [Read error: Connection reset by peer]
Noisytoot has joined #commonlisp
tyson2 has quit [Remote host closed the connection]
aartaka has quit [Ping timeout: 268 seconds]
aartaka has joined #commonlisp
aartaka has quit [Ping timeout: 246 seconds]
aartaka has joined #commonlisp
aartaka has quit [Ping timeout: 246 seconds]
aartaka has joined #commonlisp
akoana has joined #commonlisp
Lord_of_Life has quit [Ping timeout: 265 seconds]
Lord_of_Life has joined #commonlisp
aartaka has quit [Ping timeout: 265 seconds]
aartaka has joined #commonlisp
Inline has joined #commonlisp
VincentVega has joined #commonlisp
Inline has quit [Quit: Leaving]
igemnace has joined #commonlisp
cage has quit [Quit: rcirc on GNU Emacs 27.1]
_cymew_ has quit [Ping timeout: 260 seconds]
masinter has quit [Remote host closed the connection]
cercopith_ has quit [Remote host closed the connection]
cercopith_ has joined #commonlisp
puchacz has quit [Quit: Client closed]
dre has quit [Ping timeout: 260 seconds]
Guest8124 has quit [Quit: WeeChat 3.6]
luis has quit [Ping timeout: 265 seconds]
Lycurgus has joined #commonlisp
xlarsx has quit [Remote host closed the connection]
jmdaemon has joined #commonlisp
Vjalmr has joined #commonlisp
waleee has joined #commonlisp
cercopith_ has quit [Ping timeout: 246 seconds]
aartaka has quit [Ping timeout: 246 seconds]
aartaka has joined #commonlisp
cercopith has joined #commonlisp
aartaka has quit [Ping timeout: 265 seconds]
aartaka has joined #commonlisp
tyson2 has joined #commonlisp
Lycurgus has quit [Quit: Exeunt juan@acm.org]
aartaka has quit [Ping timeout: 252 seconds]
szkl has quit [Quit: Connection closed for inactivity]
xlarsx has joined #commonlisp
xlarsx has quit [Ping timeout: 246 seconds]
tyson2 has quit [Remote host closed the connection]
xlarsx has joined #commonlisp
psf has quit [Read error: Connection reset by peer]
psf has joined #commonlisp
xlarsx has quit [Ping timeout: 246 seconds]
attila_lendvai has joined #commonlisp
jfh is now known as kagevf
xlarsx has joined #commonlisp
cosimone has joined #commonlisp
xlarsx has quit [Ping timeout: 252 seconds]
igemnace has quit [Remote host closed the connection]
psf has quit [Read error: Connection reset by peer]
rgherdt has quit [Remote host closed the connection]
psf has joined #commonlisp
antonv32 has joined #commonlisp
antonv46 has joined #commonlisp
antonv has joined #commonlisp
<antonv> anyone using gmane?
antonv46 has quit [Client Quit]
<_death> yes
antonv32 has quit [Ping timeout: 252 seconds]
<antonv> _death: how do you connect to it with TLS?
<antonv> directly to some TLS port, or to the unencrypted NNTP port 119 and then upgrade with STARTTLS command?
<drakonis> gmane is still around
<drakonis> ?
<_death> hmm, I don't think I use tls with it.. mostly vanilla leafnode configuration
<antonv> drakonis: yes, it is, but the domain is now gmane.io
<_death> gwene is alive as well
pve has quit [Quit: leaving]
random-nick has quit [Ping timeout: 260 seconds]
psf has quit [Read error: Connection reset by peer]
attila_lendvai has quit [Ping timeout: 252 seconds]
psf has joined #commonlisp
<antonv> what is more mature, portable and better maintained: trivial-sockets or usocket?
<aeth> Afaik, usocket is the most popular, but having used it, it has a few annoying limitations in TCP that in my IRC bot tests basically lead me to ping out eventually (over the course of days, usually, I think, iirc).
<aeth> Unfortunately, one of the other popular ones depends on something called 'libfixposix' (you know, so it can run on Solaris and NetBSD and stuff), which complicates things by adding in a(n obscure) C dependency.
psf has quit [Read error: Connection reset by peer]
<antonv> aeth: how does usocket lead to ping oug?
<antonv> *ping out
<aeth> The problem I've had with usocket is that it relies on CL streams. http://www.lispworks.com/documentation/HyperSpec/Body/c_stream.htm
<antonv> why is that a problem?
psf has joined #commonlisp
<aeth> To use it on bytes (i.e. any arbitrary encoding that you then decode) you depend on LISTEN
<aeth> "Returns true if there is a character immediately available from input-stream; otherwise, returns false. On a non-interactive input-stream, listen returns true except when at end of file[1]. If an end of file is encountered, listen returns false. listen is intended to be used when input-stream obtains characters from an interactive device such as a keyboard."
<aeth> The problem being "If an end of file is encountered, listen returns false." This means you might have disconnected and usocket knows this and the stream is now an EOF, but you are still LISTENing as if you might have a connection still.
<antonv> This should depend on the protocol. I don't know the IRC protocol, but most of the protocols define a way for communicating parties to know exactly how many bytes to read.
<aeth> there is no READ-CHAR-NO-HANG equivalent for bytes, but if you need to do the text decoding on your end, you have to do this as bytes instead of chars
<antonv> Like Content-Lenght or chunked encoding in HTTP
<aeth> at least afaik portably
xlarsx has joined #commonlisp
<aeth> Because LISTEN doesn't work properly for TCP but usocket relies on it, I have to write my own timeout where I do a hanging READ-BYTE to check for EOF (unless there's another way? it's non-obvious), but every now and then there's some kind of concurrency issue which eats a byte, which will eventually result in a missed ping
psf has quit [Read error: Connection reset by peer]
Lycurgus has joined #commonlisp
<aeth> "Reading from a stream which has been closed at the remote end signals an END-OF-FILE condition, meaning that reading from the stream and detecting that condition is the way to do it." https://usocket.common-lisp.dev/api-docs.shtml
<aeth> is the official way to do it
xlarsx has quit [Ping timeout: 252 seconds]
<aeth> But reading hangs unless it's READ-CHAR-NO-HANG or guarded by LISTEN, which doesn't check for END-OF-FILE
<aeth> This is naturally incredibly frustrating.
psf has joined #commonlisp
<aeth> looks like usocket is supposedly the successor to trivial-sockets according to its documentation, though. https://usocket.common-lisp.dev/
<fiddlerwoaroof> fsocket ( https://github.com/fjames86/fsocket ) is a bit more complete in some ways
<fiddlerwoaroof> But a bit lower-level
<fiddlerwoaroof> I've been writing some code that needs to send and receive on multicast sockets and, afaict, there's no way to do this even with the no-portable sb-bsd-sockets library
Lycurgus has quit [Quit: Exeunt juan@acm.org]
thuna` has quit [Remote host closed the connection]
<antonv> aeth: maybe you could chose some other approach, I don't know - a bit difficult to follow your explanation because don't know your task and maybe never done such task. Why do you need LISTEN? Are you trying some kind of async-io, where one thread handles multiple connections?
<antonv> If you have a dedicated thread per connection, you could just use READ-CHAR, READ-SEQIEMCE, etc.
psf has quit [Read error: Connection reset by peer]
<antonv> In this appraoch, the only problem to deal with, as far as I can see, is some stuck remote peer, who does not send anything, but keeps the connection open - your thread will remain occupied forever. This can be approached with read timeouts. Usocket docs advertise possibility to set read timeouts on sockets (SO_RCVTIMEO).
<antonv> I may be wrong.
<antonv> Anyways, thank you for the response.
<antonv> fiddlerwoaroof: thank you too.
<aeth> antonv: it's necessarily async to some degree because you can READ-BYTE and WRITE-BYTE
<aeth> i.e. you can receive IRC messages and send them
<antonv> aeth: to convert bytes to characters, it's possible by wrapping the binary stream of the socket into a flexi-stream (you probably know that)
<aeth> it's disappointing how something so simple as an IRC client isn't obviously easy to implement correctly in usocket
<fe[nl]ix> aeth: the main reason libfixposix exists isn't to run on Solaris or NetBSD, it's to be able to wrap C macros
psf has joined #commonlisp
<antonv> aeth: example irc bots that server this channel, as far as I understand: https://github.com/stassats/lisp-bots
<antonv> for example, minion bot
<antonv> maybe this will give some useful ideas / patters
<antonv> *patterns
<antonv> I saw the word 'listen' mentioned in this code... so maybe you're right about LISTEN
<aeth> since it errors when LISTEN is NIL so it must always have a message at that point
<aeth> wait-for-input perhaps?