01:45 <+bridge> [ddnet] i KnOw HoW tO oPtImIzE current CCD 01:45 <+bridge> [ddnet] and you guys too i guess 03:10 <+bridge> [ddnet] there is a cheat in my game to whom should i complain 03:10 <+bridge> [ddnet] @Akari 03:15 <+bridge> [ddnet] o.O 03:15 <+bridge> [ddnet] what do you mean a cheat in your game 03:18 <+bridge> [ddnet] aim bot 03:18 <+bridge> [ddnet] man uses aim bot 03:50 <+bridge> [ddnet] use #reports next time and tag @ moderator 03:50 <+bridge> [ddnet] then we will come and banhammer them 05:51 <+bridge> [ddnet] can someone recommend me DACs and TN monitors? 05:51 <+bridge> [ddnet] i hate my sound card and my VA monitor 05:52 <+bridge> [ddnet] i used to have a 144hz TN and it was way more clear than this 05:52 <+bridge> [ddnet] can someone recommend me DAC sound cards and TN monitors? 05:52 <+bridge> [ddnet] currently lookin at this sound card https://www.amazon.com/dp/B07T9YYVV6 09:45 <+bridge> [ddnet] @lynn Don't get a TN panel, horrible colors when you're not perfectly centered. For a DAC it's commonly recommended to get an external one, the FiiO E10K is popular here and worked well for me. (But with my new motherboard the onboard sound sounds exactly the same, can't tell it apart, so I sold mine again) 09:49 <+bridge> [ddnet] I mean, i always used a TN and im used to it, maybe in that case ill get an IPS? idk, i fucking hate color bleed and VA is the worst with that 09:49 <+bridge> [ddnet] like i want a high refresh rate monitor, and VA is kinda the worst with that 09:50 <+bridge> [ddnet] oops i said the same thing 09:50 <+bridge> [ddnet] it also seems like Creative has an external one? check out the sound blasterx g6 09:50 <+bridge> [ddnet] and it's a higher bitrate too 09:50 <+bridge> [ddnet] I used to have a few Creative sound cards, they were ok, but pretty expensive 09:51 <+bridge> [ddnet] the nice thing was the DAC needed no drivers, weird windows-only setup stuff etc 09:51 <+bridge> [ddnet] yea, i just dont use the software on windows 09:51 <+bridge> [ddnet] and it works but for whatever reason the audigy fx is really quiet 09:51 <+bridge> [ddnet] much like my onboard audio 09:52 <+bridge> [ddnet] so for now im connected to a fiio a3 09:52 <+bridge> [ddnet] which connects to the audigy but really the fiio is doing most of the work lol 09:53 <+bridge> [ddnet] @deen if you have any specific monitor recos as well let me know 09:53 <+bridge> [ddnet] i might try to get a 1080p 240hz IPS with good reviews 09:53 <+bridge> [ddnet] since there are a lot of those it seems 09:53 <+bridge> [ddnet] High bitrate audio I also tried, and could never tell the difference in a blind test. See https://web.archive.org/web/20190209231201/http://people.xiph.org/~xiphmont/demo/neil-young.html for better arguments 09:54 <+bridge> [ddnet] i always noticed a difference on 32bit/196khz on pulseaudio in linux 09:54 <+bridge> [ddnet] I'm using an old TV with horrible latency as a screen, so better not use that 😄 09:54 <+bridge> [ddnet] compared to the 24bit i have on windows 09:54 <+bridge> [ddnet] maybe there is something specific to linux that made the audio more precise i dont know 09:55 <+bridge> [ddnet] this is a cool write-up tho 09:55 <+bridge> [ddnet] sampling rate, not bitrate 09:57 <+bridge> [ddnet] The writeup by Monty (who made Vorbis) is nice, not sure why it's down now. He also had some videos explaining A/D basics 12:05 <+bridge> [ddnet] <-͡ ୡ Sina ˣ ˣ ˣ> سلام 12:05 <+bridge> [ddnet] <-͡ ୡ Sina ˣ ˣ ˣ> من دودولوپر 12:05 <+bridge> [ddnet] <-͡ ୡ Sina ˣ ˣ ˣ> هستم 12:05 <+bridge> [ddnet] <-͡ ୡ Sina ˣ ˣ ˣ> بیاین 12:06 <+bridge> [ddnet] #off-topic dude 12:06 <+bridge> [ddnet] stop spam here 15:22 <+bridge> [ddnet] Any idea how to pass multiple files to a unix pipe without breaking it? I want to tail a logfile and when the server restarts and creates a new logfile i want to pick it up and tail the new one. Currently have some bash script that picks up if there is a new log file and kills the old tail and replaces it with a new tail. That works but when i try to read that thing from python i get broken pipe error```bash 15:22 <+bridge> [ddnet] uuid="$(generate_uuid)" 15:22 <+bridge> [ddnet] current_file="$(get_latest_logfile)" 15:22 <+bridge> [ddnet] show_latest_log "$follow" "$logpath" --id="$uuid" & 15:22 <+bridge> [ddnet] while true 15:22 <+bridge> [ddnet] do 15:22 <+bridge> [ddnet] if [ "$current_file" != "$(get_latest_logfile)" ] 15:22 <+bridge> [ddnet] then 15:22 <+bridge> [ddnet] pkill -f "id=$uuid" 15:22 <+bridge> [ddnet] pkill -f "tail.*$current_file" 15:22 <+bridge> [ddnet] current_file="$(get_latest_logfile)" 15:22 <+bridge> [ddnet] show_latest_log "$follow" "$logpath" --id="$uuid" & 15:22 <+bridge> [ddnet] fi 15:22 <+bridge> [ddnet] sleep 1 15:22 <+bridge> [ddnet] done 15:22 <+bridge> [ddnet] 15:22 <+bridge> [ddnet] ``` 15:23 <+bridge> [ddnet] why you want to tail a logfile 15:23 <+bridge> [ddnet] https://xyproblem.info/ 15:23 <+bridge> [ddnet] to pipe it into python 15:23 <+bridge> [ddnet] dont ask \:/ 15:23 <+bridge> [ddnet] ik my setup is janky 15:59 <+bridge> [ddnet] chillerdragon: tail -F? 16:00 <+bridge> [ddnet] and just pipe that into your python script 16:26 <+bridge> [ddnet] yes 16:26 <+bridge> [ddnet] but how to switch out the pipe without breaking it @deen ? 16:28 <+bridge> [ddnet] if i pkill the tail and run tail again it breaks the pipe 16:29 <+bridge> [ddnet] don't kill it 16:29 <+bridge> [ddnet] tail -F will automatically switch to the new log file 16:30 <+bridge> [ddnet] dfq 16:30 <+bridge> [ddnet] no way 16:30 <+bridge> [ddnet] so i give a directory? 16:30 <+bridge> [ddnet] and it checks for new files? 16:30 <+bridge> [ddnet] magic 16:31 <+bridge> [ddnet] no, you move the old log file away and make your server always use the same name 16:31 <+bridge> [ddnet] logrotate style 16:31 <+bridge> [ddnet] hrmpf 16:31 <+bridge> [ddnet] i do not want to change my whole logging process just for this 16:31 <+bridge> [ddnet] it's how every sane logging system works though 16:32 <+bridge> [ddnet] do ddnet servers log like this? 16:32 <+bridge> [ddnet] yes 16:32 <+bridge> [ddnet] the official ones? 16:32 <+bridge> [ddnet] yes 16:32 <+bridge> [ddnet] how? 16:32 <+bridge> [ddnet] systemd? 16:32 <+bridge> [ddnet] hmm 16:32 <+bridge> [ddnet] Nah, just like this: https://github.com/ddnet/ddnet-scripts/blob/master/servers/run64.sh 16:32 <+bridge> [ddnet] wait all official servers run with systemd? 16:32 <+bridge> [ddnet] multiple servers? 16:33 <+bridge> [ddnet] i dont get it 16:34 <+bridge> [ddnet] log file of currently running server on port 8303 is always 8303.log 16:34 <+bridge> [ddnet] yes 16:34 <+bridge> [ddnet] but how do you have multiple servers running with systemd? 16:34 <+bridge> [ddnet] then when you rotate it away on server restart you rename it to 8303.log.20210802 or whatever 16:34 <+bridge> [ddnet] isnt that a mess? 16:34 <+bridge> [ddnet] no 16:34 <+bridge> [ddnet] Nah = no 16:34 <+bridge> [ddnet] so do you use systemd at all? 16:35 <+bridge> [ddnet] go leak some infrastructure 16:35 <+bridge> [ddnet] only rudimentarily to start everything 16:35 <+bridge> [ddnet] but not for logs etc 16:35 <+bridge> [ddnet] how are the individual servers run then? 16:35 <+bridge> [ddnet] with scripts that do the rotating for you? 16:35 <+bridge> [ddnet] Yes, I linked you the run64.sh script, which is run by this: https://github.com/ddnet/ddnet-scripts/blob/master/servers/run-all.sh#L7-L9 16:36 <+bridge> [ddnet] so they run in nohup i see 16:36 <+bridge> [ddnet] yea ok nice TiL good logging style is rotation 16:36 <+bridge> [ddnet] but I will not implement that any time soon i think 16:37 <+bridge> [ddnet] any idea how I can fix my issue with updating a pipe to a new file? 16:37 <+bridge> [ddnet] or recover from broken pipe in python? 16:37 <+bridge> [ddnet] update stdin? 16:38 <+bridge> [ddnet] don't use stdin, but write to a named pipe 16:38 <+bridge> [ddnet] aka a fifo file 16:38 <+bridge> [ddnet] oof 16:39 <+bridge> [ddnet] if i do it crazy like that might as well just connect to econ from python directly 16:39 <+bridge> [ddnet] and skip the pipe 16:39 <+bridge> [ddnet] I don't know how to solve it in python, in shell script you can easily do sth like this: `(while true; do tail -f $file; file=my_next_file; done) | python3 my_python_script.py` 16:40 <+bridge> [ddnet] that would work in python too i guess 16:40 <+bridge> [ddnet] the issue is that its not tail -f; tail -f; but its tail f & and pkill tail 16:40 <+bridge> [ddnet] the issue is that its not tail -f; tail -f; but its tail -f & and pkill tail 16:41 <+bridge> [ddnet] yeah, don't do that 16:41 <+bridge> [ddnet] maybe i can send a more chill signal? 16:44 <+bridge> [ddnet] the while loop would not reach the 2nd iteration because "tail -f $file;" does never finish 16:47 <+bridge> [ddnet] Those pkills are pretty horrible too. Better to store the pid in a variable when you fork it 16:48 <+bridge> [ddnet] oh thats a cool idea 16:50 <+bridge> [ddnet] SIGTERM fixes the broken pipe crashes but then it just does not recieve the new pipe anymore 16:51 <+bridge> [ddnet] i somehow have to highjack the old pipe 16:53 <+bridge> [ddnet] `tail -f > /proc/$tail_pid/fd/0` 16:53 <+bridge> [ddnet] that feels wrong 16:53 <+bridge> [ddnet] `tail -f log.txt > /proc/$tail_pid/fd/0` 16:53 <+bridge> [ddnet] that feels wrong