IRC channel logs

2023-03-08.log

back to list of logs

<daviid>sneek: later tell dsmith any news about the guile-cairo 'official' paches? one with the code and a test, then one with the doc update ... lloda confirmed here (if you didn't see his message in this channel) that he has a machine on which he can rebuild the doc ... tx
<sneek>Okay.
<daviid>*patches :)
<cow_2001>old: !!! i think i finally got it
<cow_2001>this one works as intended https://paste.debian.net/1273326/
<cow_2001>this one doesn't https://paste.debian.net/1273327/
<cow_2001>old: when i write into the fifo `echo moo > fifo-file` it doesn't speak
<cow_2001>rm pid-file fifo-file
<cow_2001>rm pid* fifo*
<cow_2001>between runs
<cow_2001>i haven't gotten to the point where i can care about ctrl + c cleanup
<flatwhatson>cow_2001: your comment says "Write lines into fifo write port and flush", but are you actually flushing?
<flatwhatson>it might be worth trying a (force-output port)
<flatwhatson>oh i see you've enabled line buffering
<flatwhatson>i think the "+" in your modes is a mistake, that makes them both input & output ports
<flatwhatson>which could have weird consequences for a FIFO
<cow_2001>flatwhatson: they are very out of date. sorry about that!
<flatwhatson>line buffering will flush *if* you write a newline
<cow_2001>i think i add newlines everywhere i put-string
<cow_2001>string-append
<cow_2001>and now i have a cat plonked on me
<cow_2001>demanding attention
<cow_2001>flatwhatson: do you ever come across something like this and go insane trying to make it work?
<cow_2001>maybe i should just use some other interprocess communication conduit instead of raw fifo files?
<flatwhatson>cow_2001: i'm well beyond the point of going insane over such things :)
<cow_2001>ah, you've already went insane
<flatwhatson>strace can be very useful for debugging this sort of thing
<flatwhatson>you can get a precise view of what is being sent/received at each end
<cow_2001>never used it. any tips?
<cow_2001>strace guile -e main clipboard-speaker.scm?
<flatwhatson>strace -f -o trace.log -s 1024 <command>
<cow_2001>hmm
<flatwhatson>that avoids flooding your terminal by sending the trace to a file, and extends the length of dumped strings (otherwise they can be too short to be useful)
<cow_2001>ah, it truncates lines
<flatwhatson>the trace will show all the syscalls made by the program, so you need to find where your fifos are opened and analyze from there
<cow_2001>flatwhatson: i put a lot of those kind of commands into the Makefile. does it make sense to you?
<flatwhatson>whatever works for you is good! nothing wrong with using a Makefile like this
<flatwhatson>i tend to rely heavily on shell history for such things (configured to store the last 2 million commands)
<cow_2001>you know what? maybe i should just feed input as an argument?
<cow_2001>but then i'll start an espeak-ng process again and again
<cow_2001>how big can arguments be anyway
<cow_2001>now i need to figure out how to turn it into a guix package.
<cow_2001>i appreciate the title of this section: https://www.gnu.org/software/guile/manual/html_node/getopt_002dlong-Example.html
<cow_2001>the README.md file is not up to date. need to fix it to fit this version https://git.sr.ht/~kakafarm/guile-clipboard-speaker
<cow_2001>and the program's not working anyway
<cow_2001>tried it. this is the longest it accepts. espeak-ng "$(py "'a' * 131071")"
<cow_2001>2**17 - 1
<cow_2001>much bigger than anything a user might want to read per call
<cow_2001>by several magnitudes
<cow_2001>few
<rekado>the Sugar desktop integrates espeak-ng as well; lets you read any selection. There doesn’t seem to be a cutoff.