08:37 <+ChillerDragon> fixed my asan not giving line numbers by installing `llvm` weird that it broke but hey its fixed 08:38 <+bridge> wtf 09:27 <+bridge> not gonna lie, this looks promising 09:28 <+bridge> Could be a smoother competitor to mattermost, because a lot of bots already exists for discord 09:35 <+bridge> Do we have any resource where can look up pre-rendered maps? 09:35 <+bridge> When need to find a map but can't remember the exact logo (like on https://ddnet.org/releases/) 09:35 <+bridge> 09:35 <+bridge> Also, maybe someone try to render maps from https://github.com/TeeworldsDB/maps ? 09:41 <+bridge> Is that tool https://ddnet.org/mappreview open source? 09:41 <+bridge> When need to find a map but can't remember the exact logo (like on https://ddnet.org/releases/) 09:41 <+bridge> Maybe someone try to render maps from https://github.com/TeeworldsDB/maps ? 09:41 <+ChillerDragon> the cursor looks like its eating the characters hm 09:42 <+bridge> Is that tool https://ddnet.org/mappreview open source? 09:42 <+bridge> Maybe someone try to render maps from https://github.com/TeeworldsDB/maps ? 09:42 <+bridge> Is that tool https://ddnet.org/mappreview open source? 09:42 <+bridge> Or maybe someone tried to render maps from https://github.com/TeeworldsDB/maps ? 09:44 <+bridge> Yes it is open source. It's bit buggy tho 09:44 <+bridge> I recommend using patigas twgpu instead 09:45 <+bridge> https://github.com/ddnet/tw-webgl 09:45 <+bridge> Which is also open source 09:46 <+bridge> Cool, thank you 09:59 <+ChillerDragon> https://zillyhuhn.com/cs/.1682495957.png 09:59 <+ChillerDragon> the cursor is overlapping with the border of the letters 09:59 <+ChillerDragon> could use some more space imo @Robyt3 10:01 <+bridge> No 10:02 <+bridge> It only overlaps with the outline. Just as the outline overlaps with other outlines 10:02 <+ChillerDragon> https://heinrich5991.de/teeworlds/maps/web/ @Faulty 10:02 <+ChillerDragon> hope the logo is not a quad xd 10:03 <+ChillerDragon> @Faulty there are also tools to extract mapres from maps 10:03 <+bridge> wow, it's already rendered, great 10:03 <+bridge> yeah, I know 10:11 <+bridge> btw is the https://github.com/TeeworldsDB/mapres contains all mapres from https://github.com/TeeworldsDB/maps and simply categorized? 10:11 <+bridge> or it's was filtered somehow? 10:12 <+ChillerDragon> no its not all 10:12 <+ChillerDragon> its some mapres i found idk where in a bunch of places 10:14 <+ChillerDragon> i also hand filtered some that very super unteeish or trash. Like a random image from another game or something like that 10:16 <+bridge> hm, got it ty 11:31 <+bridge> Would be cool to be able to change the cursor width:brownbear: 12:48 <+bridge> There was guilded also 14:13 <+bridge> btw founded "Invalid Date" for maps after page 33 on https://ddnet.org/releases/33/ 14:13 <+bridge> or does this mean that the maps were published so long ago that no release date was kept at the time? 14:13 <+bridge> https://cdn.discordapp.com/attachments/293493549758939136/1100756422704242748/image.png 15:01 <+bridge> But guilded was like discord, no? 15:02 <+bridge> But guilded was like discord, no? all closed source, no self-host solution 15:02 <+bridge> exactly 15:16 <@Learath2> Any idea why a process wouldn't receive SIGHUP when it's controlling terminal has been killed? 15:17 <+bridge> was it daemonized? 15:17 <+bridge> also it's → its 15:17 <@Learath2> yes it was 15:18 <+bridge> actually, I don't have a clue 😉 15:20 <+bridge> wikipedia only talks about : 15:20 <+bridge> ``` 15:20 <+bridge> This can be circumvented in two ways. Firstly, the Single UNIX Specification describes a shell utility called nohup, which can be used as a wrapper to start a program and make it ignore SIGHUP by default. Secondly, child process groups can be "disowned" by invoking disown with the job id, which removes the process group from the shell's job table (so they will not be sent SIGHUP), or (optionally) keeps them in the job table but prevents them from rec 15:20 <+bridge> ``` 15:29 <+bridge> i need to setup my irc bouncer again 15:37 <+bridge> @Ryozuki how long did it take for u to feel comfortable writing your compiler stuff? 15:38 <+bridge> describe comfortable 15:38 <+bridge> i still dont know much 15:39 <+bridge> actually, its like coding in lower level than C 15:39 <+bridge> llvm ir that is 15:39 <+bridge> Mh. So over six months 15:39 <+bridge> with ur knowledge u can do the same 15:39 <+bridge> But aren't u transforming it to llvm ir with rust code? 15:39 <+bridge> the only hard stuff imho is control flow analysys 15:39 <+bridge> and phi nodes 15:39 <+bridge> but i havent touched other stuff 15:40 <+bridge> Ok 15:40 <+bridge> actually probably the hardest stuff in making a language would be the frontend 15:40 <+bridge> in case of rust 15:40 <+bridge> type analysis, lifetime analysis 15:40 <+bridge> well i say this cuz im not implementing what llvm does 15:40 <+bridge> cuz llvm gives u for free also hard stuff like optimizing 15:41 <+bridge> i would describe what im doing like ppl who use pytorch or tensorflow without knowing really deep the underlying mechanisms 15:41 <+bridge> xd 15:41 <+bridge> making a simile to ml 15:41 <+bridge> but its rly fun 15:42 <@Learath2> mhhh, bspwm forks, does a setsid() in the new fork creating a new session, then execl()s the bspwmrc, which has a shebang that makes it run through bash, it does things like `gentoo-pipewire-launcher &; sxhkd &` then dies 15:42 <@Learath2> how do these processes in this session not get HUP'd even? 15:42 <+bridge> @Jupeyy_Keks i was rly lost at first tho, not with llvm ir but with mlir 15:43 <+bridge> what u doing learath? 15:43 <+bridge> pipewire too? 15:43 <+bridge> also whats the state of wayland 15:43 <+bridge> can i run it at 144hz with vsync off 15:43 <@Learath2> there has been a long standing curiosity in my mind, when I kill X, sxhkd dies just fine, but pipewire won't die 15:44 <+bridge> it wont die or it restarts? 15:44 <@Learath2> it won't die 15:44 <@Learath2> upon further investigation, things launched inside the bspwmrc don't seem to be getting a signal to die at all, so I don't understand how sxhkd knows to die 15:44 <@Learath2> if I launch pipewire from .xinitrc it will get a proper HUP as expected 15:44 <+bridge> https://tenor.com/view/think-smart-gif-22411928 15:45 <+bridge> ah 15:45 <+bridge> i read it somewhere it should be before any exec? 15:45 <+bridge> but i forgor 15:45 <+bridge> i have it before i exec i3 15:45 <+bridge> in my xinit 15:45 <@Learath2> I don't mind moving it around, I'm just curious what the rules are at this point 15:46 <+bridge> any ideas on stuff to self host? 15:46 <+bridge> i have that urge to self host stuff 15:46 <+bridge> like https://git.edgarluque.com/ 15:46 <+bridge> Jellyfin 15:46 <+bridge> Matrix 15:46 <@Learath2> > All of the processes in a session share a controlling terminal. The controlling terminal is established when the session leader first opens a terminal 15:47 <+bridge> Openhub for ur solar panels monitoring 15:47 <+bridge> i dont have panels sadly 15:47 <+bridge> if i ever own a house ill do my own IoT stuff with rust 15:47 <@Learath2> After the setsid(), the execl results in the launching of bash, which should promptly become the controlling terminal :/ 15:47 <+bridge> Openhub and buy wifi electricity switches 15:47 <+bridge> So u can turn on ur PC from anywhere 15:47 <+bridge> i have a aquarium with a betta fish 15:47 <+bridge> i always thought of automating stuff there 15:48 <+bridge> Gitlab 15:48 <+bridge> giving it food, open and closing lights 15:48 <+bridge> Minecraft Server for friends 15:48 <+bridge> no friends 15:48 <+bridge> i would actually make a service to host cheap teeworlds servers as a startup if ddos wasnt a problem 15:48 <+bridge> kek 15:49 <+bridge> bloat 15:51 <+bridge> Tru xd 15:51 <+bridge> That's all I host 15:51 <+bridge> So no more ideas from me 15:51 <+bridge> Ah wait 15:51 <+bridge> Nextcloud 15:51 <+bridge> Xd 15:52 <+bridge> HDDs cheap af. 15:54 <+bridge> xd 15:54 <+bridge> my server has no hdd 15:54 <+bridge> I also monitor electricity usage 15:54 <+bridge> So that also possible without solar panels 15:54 <+bridge> ``` 15:54 <+bridge> root@debian-ryzen ~ # df -h 15:54 <+bridge> Filesystem Size Used Avail Use% Mounted on 15:54 <+bridge> udev 32G 0 32G 0% /dev 15:54 <+bridge> tmpfs 6.3G 884K 6.3G 1% /run 15:54 <+bridge> /dev/md2 436G 44G 370G 11% / 15:54 <+bridge> tmpfs 32G 1.1M 32G 1% /dev/shm 15:54 <+bridge> tmpfs 5.0M 0 5.0M 0% /run/lock 15:54 <+bridge> /dev/md1 989M 105M 834M 12% /boot 15:54 <+bridge> overlay 436G 44G 370G 11% /var/lib/docker/overlay2/97ff5c1297acef67069258686a0298e679a37bccd438ff49f8a5cbf534ec9ba5/merged 15:54 <+bridge> overlay 436G 44G 370G 11% /var/lib/docker/overlay2/f82d124c6fa9e184d60fba4d5638c4c477e8920553b02a2e37714311ac5dfeb0/merged 15:54 <+bridge> tmpfs 6.3G 0 6.3G 0% /run/user/0 15:54 <+bridge> ``` 15:54 <+bridge> i could request one but no need for now 15:54 <+bridge> its a nvme iirc 15:54 <+bridge> or ssd 15:55 <+bridge> And use grafana for some epic weather stats next to solar panels and electricity usage 15:55 <+bridge> i use grafana already 15:55 <+bridge> https://cdn.discordapp.com/attachments/293493549758939136/1100782287454482482/image.png 15:56 <+bridge> Ah, another mystery solved, if there is no tty attached then a terminal won't become the controlling terminal 15:56 <+bridge> i also use prometheus 15:56 <+bridge> and deno 15:56 <+bridge> instead of nodejs 15:57 <+bridge> So the terminal dying kills nothing. sxhkd was dying because it lost connection with the x server, not because bspwm died 15:57 <+bridge> Now the mystery is why pipewire won't similarly die when the dbus session dies 15:58 <+bridge> cuz pipewire is god 15:58 <+bridge> and u dont question god 15:58 <+bridge> follow templeos teachings 15:58 <+bridge> btw, it's actually quite interesting how complicated these process lifetime things are, much more intricate then I expected 15:59 <+bridge> I didn't even know sessions were a thing 15:59 <+bridge> me neither xd 16:00 <+bridge> I wonder if there is a small application that can die and kill it's children when another pid dies 16:01 <+bridge> this reminds me of erlang and otp 16:01 <+bridge> Just attach the children to the other pid and then let them auto-die when parent dies? 16:02 <+bridge> https://www.erlang.org/doc/reference_manual/processes.html 16:02 <+bridge> Can a process reparent itself? 16:02 <+bridge> Apparently not, too bad 😄 16:03 <+bridge> Hm, this is actually quite annoying 16:03 <+bridge> sorry but clicking into this channel and reading this first sounds so bad out of context 😭 💀 16:04 <+bridge> I guess I'll write a small program that waits until x dies 16:04 <+bridge> xd 16:04 <+bridge> that's only possible since pidfds are a thing, I think 16:05 <+bridge> what is? 16:07 <+bridge> waiting for a non-child process to die 16:15 < jupstar> @Learath2 gpt-4 wants to help you: 16:15 < jupstar> Learath2 has two main problems to understand: Why a process wouldn't receive SIGHUP when its controlling terminal has been killed. Why pipewire won't die when the dbus session dies. For the first problem, it is important to understand that not all processes receive the SIGHUP signal when the controlling terminal is closed. Daemon processes usually detach themselves from the controlling terminal using techniques such as setsid( 16:15 <+bridge> this channel turned into child killing 16:16 < jupstar> which is the case with the process Learath2 mentioned. When the controlling terminal dies, the process doesn't receive the SIGHUP signal because it is no longer associated with the terminal. Regarding the second problem, pipewire might not be dying when the dbus session dies because it doesn't have a direct dependency on the dbus session for its operation. While sxhkd dies because it loses connection with the X server, pipewire might 16:16 <+bridge> sometimes dev slang is quite something xd 16:16 < jupstar> running even if the dbus session is gone. To debug this issue, it would be helpful to check the pipewire documentation or look into its source code to understand how it handles dbus session termination. Additionally, Learath2 wondered if there's a small application that can die and kill its children when another pid dies. One possible solution is to use a process supervisor like systemd or Supervisor, which can manage the lifetime of p 16:16 < jupstar> s. By configuring the process supervisor properly, it can be set up to terminate child processes when a specified process (such as the dbus session) dies. 16:17 <+bridge> is implementing ur own dbus something extreme? 16:17 <+bridge> suddenly irc 16:17 <+bridge> All statements without guarantee xd 16:17 <+bridge> i never looked at the protocol but seems like something to rewrite in rust 16:17 <+bridge> one less systemd dep 16:17 <+bridge> udev :justatest: 16:18 <+bridge> is dbus systemd? 16:19 <+bridge> @Jupeyy_Keks just found this ^^ https://www.reddit.com/r/gamedev/comments/c5o03v/teeworlds_web_edition_c_game_compiled_to/ 16:20 <+bridge> i think not 16:20 <+bridge> udev is the message daemon part of dbus that is part of systemd 16:20 <+bridge> but gentoo uses it by default even if u dont use systemd 16:20 <+bridge> https://dbus.freedesktop.org/doc/dbus-tutorial.html 16:20 <+bridge> The good old days. I bet back then it was actually hard xd 16:20 <+bridge> are you using new reddit? 16:21 <+bridge> Emscripten on the other hand is so ez to use^^ 16:21 <+bridge> oh lol reddit got updated? 16:21 <+bridge> don't think so 16:21 <+bridge> I have the sane comment layout 16:21 <+bridge> What is new reddit? 16:21 <+bridge> the current reddit 16:21 <+bridge> the one with unreadable comments 16:21 <+bridge> where it shows you like 5 comments and you have to click "load more" 16:21 <+bridge> What is old reddit xDD 16:21 <+bridge> i use new reddit, but because i like it more for scrolling mindlessly for memes 16:21 <+bridge> Ah ok 16:21 <+bridge> https://old.reddit.com/r/gamedev/comments/c5o03v/teeworlds_web_edition_c_game_compiled_to/ 16:21 <+bridge> on old reddit u ned to open images 16:21 <+bridge> this is old reddit 16:22 <+bridge> RES is the addon for firefox you need 16:22 <+bridge> allows you to view images inline 16:22 <+bridge> u mean the expand thing? 16:22 <+bridge> i want it to look like cards already big images 16:22 <+bridge> so i just scroll 16:22 <+bridge> I see. Doesn't destroy the flow. But shows the useless comments xdd 16:23 <+bridge> @bencie :frozen: 16:23 <+bridge> I see 16:23 <+bridge> @bencie see you tomorrow xd 16:23 <+bridge> When u are back 16:23 <+bridge> @bencie u can now become a full time wiki editor 16:26 <+bridge> Cool, we use grafana at KoG too 😄 16:26 <+bridge> can you show an example of what it's used for? 16:27 <+bridge> do i get fulltime salary aswell? :D 16:28 <+bridge> To get some very teeworlds specific data 16:28 <+bridge> https://cdn.discordapp.com/attachments/293493549758939136/1100790478724673556/Screenshot_2023-04-26_at_16-27-05_Teeworlds_Dashboard_-_Dashboards_-_Grafana.png 16:28 <+bridge> And server monitoring 16:28 <+bridge> https://cdn.discordapp.com/attachments/293493549758939136/1100790501189353514/Screenshot_2023-04-26_at_16-28-00_Server_Stats_-_Server_Monitoring_-_Dashboards_-_Grafana.png 16:28 <+bridge> u get headpats 16:29 <+bridge> sounds good 16:29 <+bridge> this is my app specific panels 16:29 <+bridge> https://cdn.discordapp.com/attachments/293493549758939136/1100790665924849814/image.png 16:29 <+bridge> Yeah, Grafana is nice to build dashboards 16:29 <+bridge> using prometheus 16:29 <+bridge> and https://github.com/metrics-rs/metrics 16:29 <+bridge> Yeah 16:30 <+bridge> We are also collecting data via prometheus 16:30 <+bridge> Alerts are also built in 16:30 <+bridge> @heinrich5991 this is the output for ddos stats 16:30 <+bridge> https://cdn.discordapp.com/attachments/293493549758939136/1100791102161821706/image.png 16:32 <+bridge> @heinrich5991 this is the output of the monitoring data 16:32 <+bridge> https://cdn.discordapp.com/attachments/293493549758939136/1100791102161821706/image.png 16:35 <+bridge> In my company I've established https://opentelemetry.io/ 16:35 <+bridge> hello ceo 16:35 <+bridge> im a humble rust dev 16:35 <+bridge> xD 16:36 <+bridge> idk 16:36 <+bridge> in rust 16:36 <+bridge> tracing > opentelemtry im sure 16:36 <+bridge> https://crates.io/crates/opentelemetry 16:36 <+bridge> tracing is such a good crate 16:36 <+bridge> made by tokio team 16:36 <+bridge> https://github.com/tokio-rs/tracing 16:36 <+bridge> https://crates.io/crates/opentelemetry-prometheus 16:37 <+bridge> Yeah, open telemtry is for "metrics, logs, and traces" 16:38 <+bridge> https://docs.rs/tracing/0.1.38/tracing/attr.instrument.html 16:40 <+bridge> https://paste.pr0.tips/DMM?c behold my ingenious creation 16:40 <+bridge> Warning: Potential Security Risk Ahead 16:41 <+bridge> ah forgot to renew the certificate, should be fine now 16:41 <+bridge> what paste u use? 16:41 <+bridge> Bask in it's glory, a program that runs a command, dies when the x server dies 16:41 <+bridge> so pr0.tips is ur domain? are u sharing C tips? 16:42 <+bridge> wtf 16:42 <+bridge> the main domain says this 16:42 <+bridge> https://cdn.discordapp.com/attachments/293493549758939136/1100793955601371136/iprc_seized_banner.png 16:42 <+bridge> @Learath2 did the cia find u 16:42 <+bridge> it's fstd's domain, either he is in an american jail or has a sense of humor 16:42 <+bridge> lmao 16:43 <+bridge> Didn't work Learath for nsa 16:43 <+bridge> I remember something 16:43 <+bridge> contributed to ghidra 16:43 <+bridge> I may have contributed a couple lines of Java :hypervomit: to ghidra 16:44 <+bridge> Xd 16:44 <+bridge> :cammostripes: 16:45 <+bridge> There remains one more issue with this set up that I'll need to debug, if I launch firefox through clicking a discord link it gets frozen :/ 16:45 <+bridge> clicking a link in discord rather* 16:46 <+bridge> Btw do we maintain the IRC bridge source ? 16:46 <+bridge> I don't even know what bridge we use 16:46 <+bridge> @Jupeyy_Keks do u know if the wayland api is ez? 16:46 <+bridge> how would u think it takes to make my own window manager in rust 16:46 <+bridge> It seems like it cut some stuff. But irc-> discord should not cut stuff. Other way around makes more sense 16:47 <+bridge> I guess the main API Is ez. But to emulate all x11 stuff or workaround for limitations they have lot of extra protocol stuff 16:47 <+bridge> But i never used it 16:48 <+bridge> btw I'd already considered what gpt said, I assumed the new bash instance would immediately become the new controlling terminal in the session, however there is one exception to that rule, and that is O_NOCTTY 16:48 <+bridge> Wayland itself is only few thousand code lines xd 16:49 <+bridge> https://docs.rs/wayland-protocols/0.30.0/wayland_protocols/ 16:49 <+bridge> The competitors probably much more 16:49 <+bridge> im gonna look into this 16:49 <+bridge> i wonder the best way to test his 16:49 <+bridge> dont rly wanna mess my system 16:49 <+bridge> and i dont even have wayland xd 16:50 <+bridge> should i migrate to wayland 16:50 <+bridge> Use smth like sddm and make your own project separate from Ur system in some unused directory 16:51 <+bridge> I will migrate after kde 6 is out 16:51 <+bridge> It's better than x11 in many regards 16:51 <+bridge> u rly are suggesting me to use a systemd program 16:51 <+bridge> heresy 16:52 <+bridge> Yeah 16:52 <+bridge> Shoot into Learaths legs 16:59 <+bridge> 17:00 <+bridge> probably cut at the IRC server, not the bridge 17:00 <+bridge> the bridge we use is called matterbridge 17:00 <+bridge> https://github.com/42wim/matterbridge 17:01 <+bridge> i like how gentoo compiling everything pushes u into removing unnecessary stuff 17:01 <+bridge> and being minimal sometimes 17:01 <+bridge> good habits :Celebrate: 17:01 <+bridge> sudo emerge --deselect gcc 17:02 <+bridge> lets use rust only 17:02 <+bridge> fwiw they do run a test bench with only clang as the system compiler 17:02 <+bridge> Though I think they still use gcc for the kernel, because kernel weird 17:03 <+bridge> gcc 13 is out 17:03 <+bridge> i think they wanted to add gccrs 17:03 <+bridge> but wasnt in time 17:03 <+bridge> https://rust-gcc.github.io/2023/04/24/gccrs-and-gcc13-release.html 17:03 <+bridge> Ok BCS on my client i saw it correctly 17:09 <+bridge> the client you sent it from? 17:10 <+bridge> the server doesn't tell you what you sent 17:11 <+bridge> @Jupeyy_Keks btw i bought the 110€ noctua cooler 17:12 <+bridge> https://tenor.com/view/money-dollars-cash-rich-raining-money-gif-3555044 17:14 <+bridge> nice dev log 17:14 <+bridge> what log 17:15 <+bridge> exactly 17:15 <+bridge> this is #developer 17:15 <+bridge> My brilliant invention doesn't work, pipewire seems to disable parent signals itself 17:19 <+bridge> Yeah. It was the web client. Well doesn't matter IRC is weird if the client didn't even know it's character limit xd 17:38 <+bridge> https://cdn.discordapp.com/attachments/293493549758939136/1100808071153995836/image.png 17:41 <+bridge> hm? 17:42 <+bridge> xD 17:42 <+bridge> i guess u didnt see art attack when young 17:42 <+bridge> that guy resembles a lot 17:42 <+bridge> meme 17:43 <+bridge> xD 18:21 <+bridge> My game just randomly crashed, if someone wants to take a look: 18:21 <+bridge> https://cdn.discordapp.com/attachments/293493549758939136/1100818835361247292/DDNet_crash_log_24176_2023-04-26_18-16-25.RTP 18:22 <+bridge> what version, nightly or normal 18:22 <+bridge> steam or website 18:22 <+bridge> steam, nightly windows 10 64bit 18:29 <+bridge> oh shit 18:29 <+bridge> hold on lemme look at this 18:33 <+bridge> https://paste.pr0.tips/skc?c 18:34 <+bridge> It was surprisingly annoying to get this right 18:50 <+bridge> ```cpp 18:50 <+bridge> Kill.m_KillerRenderInfo = m_pClient->m_aClients[Kill.m_KillerID].m_RenderInfo;``` 18:50 <+bridge> 18:50 <+bridge> seems to appear with `m_aClients[...]` dereferencing 18:50 <+bridge> dk tho 18:51 <+bridge> literally the `killmessages.cpp:210-212` 18:53 <+bridge> im at work until like 5 hours later so like i cant fix it rn 18:53 <+bridge> ah no wait 18:53 <+bridge> im wrong 18:53 <+bridge> there's no references 18:53 <+bridge> only `m_pClient` 18:54 <+bridge> strange 19:02 <+bridge> oh voxel missed a null pointer! 19:02 <+bridge> rust would have protected you, but u didnt embrace it 19:02 <+bridge> :trolloween: 19:02 <+bridge> YEAHHHH REDDIT NATION! 19:03 <+bridge> how is this related to reddit tho 19:03 <+bridge> when is the donttalkaboutrustday again? 19:03 <+bridge> yesterday 19:03 <+bridge> it was a nice day 19:03 <+bridge> rust devs are absolute reddit mods 19:04 <+bridge> lol no 19:04 <+bridge> same exact personalities 19:08 <+bridge> anyways ill look into it if no one else does in 5 hours 19:14 <+bridge> im getting alot of crashes, could they be related to this? 19:14 <+bridge> https://cdn.discordapp.com/attachments/293493549758939136/1100832389896360006/DDNet_crash_log_11068_2023-04-26_19-06-44.RTP 19:14 <+bridge> https://cdn.discordapp.com/attachments/293493549758939136/1100832390236086374/DDNet_crash_log_16360_2023-04-26_18-56-56.RTP 19:14 <+bridge> https://cdn.discordapp.com/attachments/293493549758939136/1100832390588420266/DDNet_crash_log_8076_2023-04-26_19-10-52.RTP 19:15 <+bridge> nonstop crashing 19:15 <+bridge> do u compile ur own client 19:15 <+bridge> no 19:16 <+bridge> steam version, nightly 19:16 <+bridge> @Jupeyy_Keks why dont we also release a nightly version with debuginfo? 19:16 <+bridge> i know we have the crashlogs 19:16 <+bridge> if i was at home and not with a stupid macos m1 i would look into it 19:17 <+bridge> The crash logs are all identical to the first one you posted 19:18 <+bridge> robyt is here, we are saved 19:18 <+bridge> Compiling nightly as release with debug info would be good idea IMO 19:18 <+bridge> yeah 19:18 <+bridge> also sidenote for voxel that theres other bugs with killfeed now, such as teams now showing up on death, but ill just report it when i can reproduce it 19:18 <+bridge> it makes lot of sense xD 19:18 <+bridge> Then we don't need to decode the crash logs 19:18 <+bridge> i guess simply bcs its always 40mb to download 19:18 <+bridge> but would make it a bit easier^^ 19:19 <+bridge> lets be honest 19:19 <+bridge> most ppl use nightly to test 19:19 <+bridge> well some play yeah 19:19 <+bridge> but 40mb on top of 60 is nothing for most ppl 19:19 <+bridge> tbh, we could also completly release with debug info 19:19 <+bridge> who the fuck cares about 40mb xD 19:19 <+bridge> we should imho 19:19 <+bridge> yeah who cares 19:19 <+bridge> the benefit we get is bigger 19:19 <+bridge> @bencie already back nice. nobody can leave teeworlds 19:20 <+bridge> he didnt leave tw i think just mod 19:20 <+bridge> im not quitting tw, just cutting down on online time + stepped down as a mod 19:21 <+bridge> but why step down 19:21 <+bridge> i bet 95% of all mods are more inactive xD 19:21 <+bridge> indeed 19:21 <+bridge> @snail hi, how u doing 19:22 <+bridge> yeah i know, i wanna focus on some stuff irl, and stepping down allows me to "stress" less about moderation and remove guilt of not doing anything as a mod 🙂 i feel bad if i dont do anything 19:23 <+bridge> i see i see, lets continue smiling 🥲 19:24 <+bridge> its ok if bencie wants mod he will get it back 19:24 <+bridge> :justatest: like me who used to be a mod :justatest: 19:24 <+bridge> lmao³ 19:25 <+bridge> Ryo as mod: 19:25 <+bridge> "Do you like rust?" 19:25 <+bridge> 19:25 <+bridge> Random person that never coded: 19:25 <+bridge> "No" 19:25 <+bridge> 19:25 <+bridge> So you have chosen death 19:25 <+bridge> you don't have to. use tail like this 19:25 <+bridge> `tail --pid=$pid -f /dev/null` 19:26 <+bridge> Where were you 3 hours ago? 19:26 <+bridge> unfortunately 😦 19:26 <+bridge> https://paste.pr0.tips/skc?c here is what I ended up with 19:27 <+bridge> @Chairn do u teach ur students the art of linux, and the daily sermon on how bad windows is? 19:27 <+bridge> i would be the most biased teacher 19:27 <+bridge> and not hold bac 19:27 <+bridge> xD 19:27 <+bridge> 🇹🇩 19:28 <+bridge> @Jupeyy_Keks look self referential structs are ez in rust! https://doc.rust-lang.org/std/pin/#example-self-referential-struct 19:30 <+bridge> Long ago, the programming world lived together in harmony. Then, everything changed when the Rust Nation attacked. Only the Compiler, master of all four programming languages, could stop them. But when the world needed it most, it vanished. 19:30 <+bridge> 19:30 <+bridge> A hundred years passed, and my team and I discovered the new Compiler, a developer named Aang. And although his Rust skills are great, he still has a lot to learn before he's ready to save anyone. 19:30 <+bridge> 19:30 <+bridge> But I believe Aang can bring balance to the programming world. 19:30 <+bridge> 19:30 <+bridge> Water. Earth. Fire. Air. 19:30 <+bridge> 19:30 <+bridge> C Nation, rooted in the art of simplicity and performance, laid the foundation for generations to come, mastering the element of Water. 19:31 <+bridge> 19:31 <+bridge> C++ Nation, built upon the legacy of C, introduced object-oriented programming and template metaprogramming, mastering the element of Earth. 19:31 <+bridge> 19:31 <+bridge> Java Nation, with its platform-independent bytecode and virtual machine, embraced the power of portability and managed environments, mastering the element of Air. 19:31 <+bridge> 19:31 <+bridge> And Rust Nation, rising with its memory safety and fearless concurrency, sought to revolutionize systems programming and claim its place among the greats, mastering the element of Fire. 19:31 <+bridge> 19:31 <+bridge> Together, these four programming languages shaped the world of software development, each with its strengths and weaknesses. Yet, it is the Compiler's destiny to bring balance and harmony by understanding and integrating the wisdom of all four languages. 19:31 <+bridge> GPT-4 xD 19:31 <+bridge> working, having classes all day this week 19:31 <+bridge> today, i showed 2 groups regex when they had to rename some signals in VHDL 19:31 <+bridge> i prefer tail version 😄 19:32 <+bridge> According to the crash log, there is a null pointer access at https://github.com/ddnet/ddnet/blob/fcee2fa6a70e0f7dd70d6ecc16e825d5d551077b/src/game/client/components/killmessages.cpp#L212, but that seems impossible to me 19:32 <+bridge> good thing that i read all #developer though 19:33 <+bridge> can `str_copy` overflow? 19:33 <+bridge> Should be safe unless the size is 0 19:33 <+bridge> thats implementation defined 🤓 19:33 <+bridge> is the size 0 ? 19:33 <+bridge> or even negative maybe? 19:34 <+bridge> no, it's using the template str_copy, so it uses the array size 64 19:35 <+bridge> m_pClient can't be nullptr, because it would have crashed earlier 19:35 <+bridge> Kill.m_KillerID is also in the correct range 19:38 <+bridge> @Ryozuki hi fellow developer 19:38 <+bridge> :poggers2: 19:38 <+bridge> I wonder how tail does it 19:39 <+bridge> how does it feel to be soon a managee of anxton 19:39 <+bridge> :gigachad: 19:39 <+bridge> @snail did u learn rust yet 19:39 <+bridge> xd wat 19:39 <+bridge> well, just look it's implementation 😄 19:39 <+bridge> no i dont want anxton to be my team leader :justatest: 19:39 <+bridge> :justatest: 19:39 <+bridge> anxton, french player? 19:39 <+bridge> yes but im just memeing 19:40 <+bridge> anxton will lead a company cuz he goes to a top uni 19:40 <+bridge> :justatest: 19:40 <+bridge> XD 19:40 <+bridge> Yeah, I dunno how to make this as perfect as it can be. 19:40 <+bridge> I just wanted to clean up the killfeed because the way it used to be was ugly af 19:42 <+bridge> r/angryupvote 19:42 <+bridge> r/memes 19:42 <+bridge> damn, another HEC student i guess... 19:42 <+bridge> HEC LUL 19:42 <+bridge> far from it 19:42 <+bridge> @snail where does he go 19:42 <+bridge> i forgor 19:42 <+bridge> getting to HEC is actually extremely hard 19:43 <+bridge> he said top uni though 19:43 <+bridge> @Chairn he goes "Enseeiht - Toulouse INP" 19:43 <+bridge> was it technical uni at least? 19:43 <+bridge> @Chairn its cuz anxton says he will be a better dev and non web dev cuz he goes to a good uni now 19:43 <+bridge> @Chairn he goes to "Enseeiht - Toulouse INP" 19:43 <+bridge> ah that's just regular engineering school though 19:43 <+bridge> :cammostripes: 19:44 <+bridge> 💀 19:44 <+bridge> idk he gave this ranking and said its top school 19:44 <+bridge> dunno what this ranking is worth 19:44 <+bridge> @snail https://www.fib.upc.edu/en 19:44 <+bridge> where does this uni rank 19:44 <+bridge> xd 19:45 <+bridge> java as air element is laughable given the heavyness of jave vm 19:45 <+bridge> idk its a french ranking 19:45 <+bridge> https://www.fib.upc.edu/en/news/fib-top-100-qs-world-university-rankings-cs-and-si 19:45 <+bridge> :justatest: 19:46 <+bridge> https://www.topuniversities.com/universities/universitat-politecnica-de-catalunya-barcelonatech-upc 19:46 <+bridge> i went to this 1 year 19:46 <+bridge> kinda hard to rate schools, rankings can be easily biased 19:47 <+bridge> true 19:55 <+bridge> this is actually undecipherable: 19:55 <+bridge> 19:55 <+bridge> but they either use polling or inotify (according to some comments) 19:59 <+bridge> Once upon a time, in the world of programming, there were four languages: Python, Java, JavaScript, and Go. They worked together to create amazing applications for their users, each with its own strengths and weaknesses. 19:59 <+bridge> 19:59 <+bridge> One day, a new language appeared on the scene: Rust. Rust was known for its speed and efficiency, but it had a dark side. Its strict rules for memory management and complex syntax made it difficult to learn and use. The other languages knew they had to act fast to stop Rust from taking over the programming world. 19:59 <+bridge> 19:59 <+bridge> Together, they went on a quest to find the source of Rust's power. They traveled through treacherous mountains and dense forests, encountering many obstacles along the way. But they did not give up, for they knew that the fate of the programming world was at stake. 19:59 <+bridge> 19:59 <+bridge> Finally, they arrived at the lair of Rust, where they were met with a fierce battle. Python used its simplicity and ease of use to distract Rust, while Java used its scalability and versatility to outsmart it. JavaScript used its power and flexibility to create complex programs, while Go used its concurrency and speed to overwhelm Rust. 19:59 <+bridge> 19:59 <+bridge> In the end, the four languages emerged victorious. They had defeated Rust and saved the programming world from its tyranny. They returned home, where they continued to create amazing applications for their users, each language complementing the others' strengths and weaknesses. 19:59 <+bridge> 19:59 <+bridge> And so, Python, Java, JavaScript, and Go lived happily ever after, knowing that their combined powers were enough to overcome even the most formidable opponent. 20:00 <+bridge> gotta balance the energies 20:00 <+bridge> which gpt is that 20:00 <+bridge> the last sentence is weird xD 20:02 <+bridge> the greatest truthest wisest of all the gpts 20:02 <+bridge> dont tell me u wrote it xD 20:03 <+bridge> wth no way too lazy for that XD 20:54 <+bridge> im confused 20:54 <+bridge> would a window manager i implement be a wayland server or client 20:54 <+bridge> xd 20:58 <+bridge> A server 20:58 <+bridge> "Window managers" in "wayland" are part of the display server 21:20 <+bridge> oh some docs here 21:20 <+bridge> https://wayland.freedesktop.org/docs/html/ch01.html 21:20 <+bridge> ryoWM incoming 21:20 <+bridge> be prepared 21:26 <+bridge> I want a competitor to wayland and x11 just because it’s not annoying enough to have two half working ones. Please build one more @Ryozuki 21:27 <+bridge> oof 21:27 <+bridge> u need big adoption to make a competitor so its hard for a random to compete 21:27 <+bridge> wayland is probs the future 21:27 <+bridge> Good that you are not a random 21:27 <+bridge> Now stop the excuses and get hacking 21:28 <+bridge> ryo11land all the way 21:28 <+bridge> i wanna make my own environment 21:28 <+bridge> as in, window manager, terminal emulator, ryobash, idk whatt else 21:28 <+bridge> and then live in a cave 21:28 <+bridge> with rust plushies 21:29 <+bridge> Xd 21:29 <+bridge> why not ryost? 21:29 <+bridge> ryoOS 21:29 <+bridge> TempleOS in holyRust 21:29 <+bridge> making a os is kinda hard 21:29 <+bridge> ryost, the language 21:29 <+bridge> i followed a tutorial but it stopped 21:29 <+bridge> oh 21:29 <+bridge> that too 21:29 <+bridge> actually thats more doable than a OS 21:30 <+bridge> https://github.com/edg-l/ryoOS 21:30 <+bridge> need to revive this 21:30 <+bridge> Why reinvent the wheel if you can reinvent the car 21:30 <+bridge> missed opportunity to call it ryOS 21:31 <+bridge> its still early 21:31 <+bridge> i can rename it 21:31 <+bridge> why ryost for the language name tho? 21:31 <+bridge> is that not obvious? 21:31 <+bridge> its hard to pronounce as a spanish speaker 21:31 <+bridge> ah rust 21:33 <+bridge> os, lang, window manager, shell, terminal 21:33 <+bridge> what else 21:33 <+bridge> templeos had it all 21:33 <+bridge> a vulkan alt xD 21:33 <+bridge> i once looked a bit at implementing a usb driver 21:34 <+bridge> god its long the specification 21:34 <+bridge> and i dont know much about drivers 21:34 <+bridge> for ryoOS? 😄 21:35 <+bridge> https://wiki.osdev.org/Universal_Serial_Bus 21:35 <+bridge> yeah 21:36 <+bridge> making a serial interface to qemu is easy 21:36 <+bridge> thats why ryoOS has tests 21:36 <+bridge> thanks to uart_16550 21:36 <+bridge> https://crates.io/crates/uart_16550 21:37 <+bridge> https://github.com/edg-l/ryoOS/blob/master/tests/heap_allocation.rs 21:37 <+bridge> try OHCI, should be easier 😛 21:38 <+bridge> Actually wait, UHCI is also a thing, maybe 2.0 is easier to target in that case 😄 21:39 <+bridge> i made this os stuff before i had a job 21:39 <+bridge> now its harder to find time 21:39 <+bridge> sadge 21:39 <+bridge> > Therefore, the system programmer must support all three standards in order to support USB 2.0. 21:39 <+bridge> Nvm you need to support both OHCI, UHCI and EHCI for 2.0 😄 21:39 <+bridge> xD 21:39 <+bridge> usb is no joke 21:39 <+bridge> i think supporting the old mouse interface is easier 21:39 <+bridge> u know the big round connector 21:40 <+bridge> i forgot name 21:40 <+bridge> ps/2 21:40 <+bridge> playstation 2 21:40 <+bridge> PS/2 port 21:40 <+bridge> Oh apparently xHCI does support 1.0 and 2.0 without needing a companion controller, so maybe just implementing an xhci driver is enough 21:41 <+bridge> > Unfortunately, this means that xHCI bears only a passing resemblance to the controllers that came before it, and make it challenging to write drivers for. 21:41 <+bridge> Ok, nvm apparently implementing USB is pain no matter what you target 21:41 <+bridge> xdd 21:41 <+bridge> Don't ps/2 devices just interrupt the cpu directly? 😄 21:42 <+bridge> https://cdn.discordapp.com/attachments/293493549758939136/1100869440008101918/Ps2-kbc.png 21:42 <+bridge> thinking about what other ui elements need to be touched up. i dont think there are any 21:42 <+bridge> > It involves a controller (e.g. "8042 chip" on PC compatible systems), the mechanical and electrical details of the communication itself, and a device. 21:42 <+bridge> The freeze bar can use some work 21:43 <+bridge> in what sense? i think it's fine right now 21:44 <+bridge> In the sense that you can remove it and replace it with stars because it's devils work 21:46 <+bridge> I tried adding markers for every second to the freeze bar, but I seems the important part about the stars is the rhythm. Maybe we should add back a sound for freeze seconds ticking down? 21:46 <+bridge> https://cdn.discordapp.com/attachments/293493549758939136/1100870547782504468/image.png 21:46 <+bridge> did we have a sound before? 😮 21:47 <+bridge> maybe flashing the bar when it hits a second mark 21:47 <+bridge> I never play with sound lol 21:47 <+bridge> If it's not the sound then I'm not as convinced about the rhythm argument 21:47 <+bridge> I think flashing could be too irritating though 21:47 <+bridge> ehh, might be too distracting 21:48 <+bridge> https://github.com/ddnet/ddnet/issues/6028#issuecomment-1414298132 21:55 <+bridge> might be a good time to bring this up, long ago I reworked the freezebar and other stuff and put it all together in one image, is someone interested in updating to it? 21:55 <+bridge> https://cdn.discordapp.com/attachments/293493549758939136/1100872789361184819/image.png 21:56 <+bridge> yes PLEASE 21:57 <+bridge> i absolutely hate extras.png 21:57 <+bridge> whats extras.png 21:57 <+bridge> the image with only snowflake in it 21:58 <+bridge> what are the shield weapons? 21:58 <+bridge> as you can see we can also remove weapon shields from game.png and get rid of arrow.png 21:58 <+bridge> they're a redesign for the ugly ones currently in game.png 21:59 <+bridge> someone used the HUD shield as pickup and also made weird art choices for them 22:00 <+bridge> some people also want recolorable weak/strong so colors are part of the image now 22:01 <+bridge> yeahhh this change would be nice af 22:01 <+bridge> +1 22:08 <+bridge> I currently still think a slightly thinner/thicker hook to visually represent that would look cleaner. I don't think the transition between the textures would be noticable 22:31 <+bridge> then we could finally merge game.svg xd 22:31 <+bridge> only entities and some minor mapres missing 22:31 <+bridge> and we are complete HD ready 22:36 <+bridge> oh no 22:43 <+bridge> nah he means svg compatability, not 4k stuff 22:43 <+bridge> i thinks 22:43 <+bridge> @Jupeyy_Keks right or wrong 22:44 <+bridge> I mean using HD render of some smelly remakes is still worse than the real thing 22:49 <+bridge> ? 22:49 <+bridge> The remakes are often better than the original 22:50 <+bridge> nah 22:51 <+bridge> it's rare, stuff like vanilla tilesets will never be as good as the original 22:51 <+bridge> Well u don't have to use them 22:51 <+bridge> I trust facts. Vanilla stuff is often off 1-2 pixels 22:52 <+bridge> to me at least the subtleties of the original are more important than some more resolution, which someone remaking might not understand 22:52 <+bridge> it irks me when some line is slightly too thick or a little crooked 22:55 <+bridge> sounds like Jupstar is saying this is the case for vanilla stuff