02:52 <+bridge> [ddnet] For skins.tw, on upload I store the md5_checksum of files now to detect duplicates and tell the user that this skin already exists. I thought I finally had it, because it works 99% of the time. But some completely different image files seem to have the exact same hash value. 02:52 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/867569835885199360/unknown.png 02:54 <+bridge> [ddnet] Example that works: Finds an entry with matching hash 02:54 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/867570291551371294/unknown.png 02:55 <+bridge> [ddnet] But what is this? 02:55 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/867570450301190144/unknown.png 02:56 <+bridge> [ddnet] Does anyone have an idea, why they have the same hash checksum? I use md5 03:17 <+bridge> [ddnet] :ddnet: suggesting:ddnet: 03:17 <+bridge> [ddnet] add median time here 03:17 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/867576029036281856/unknown.png 03:18 <+bridge> [ddnet] weird thing to add for browser considering there are other useful things not there 03:18 <+bridge> [ddnet] might work better as a server filter 03:18 <+bridge> [ddnet] like for example, there's no points tab 03:19 <+bridge> [ddnet] I mean you could see "do I have time for this map", but I agree there are better informations to display 03:20 <+bridge> [ddnet] median time is a numeric value so i think you could implement it better as a filter 03:20 <+bridge> [ddnet] but sucks you couldnt sort it by media 03:20 <+bridge> [ddnet] but sucks you couldnt sort it by median 03:20 <+bridge> [ddnet] How responsive is this browser list even 03:20 <+bridge> [ddnet] on smaller screens 03:21 <+bridge> [ddnet] probably terrible 03:21 <+bridge> [ddnet] font size is not scaled 03:21 <+bridge> [ddnet] i learned this the hard way 04:12 <+bridge> [ddnet] so best thing to doing😚 04:12 <+bridge> [ddnet] add all this things and make it appear or hide and size Optional to players 04:13 <+bridge> [ddnet] yeah that would be the best, but pretty big lift for devs 04:13 <+bridge> [ddnet] devs have to work to die:giftee_red: 06:45 <+bridge> [ddnet] <ЧАЙНЫЙ ПОКЕТИК> Сначала эпик раздавал 3 месяца нитро, теперь стим) 06:45 <+bridge> [ddnet] <ЧАЙНЫЙ ПОКЕТИК> 06:45 <+bridge> [ddnet] <ЧАЙНЫЙ ПОКЕТИК> https://discrod.gift/steam 08:34 <+bridge> [ddnet] the entire point of a hash is to be unique justb y changing the smallest thing 08:34 <+bridge> [ddnet] and md5 is proven to be bad at that 08:34 <+bridge> [ddnet] it doesnt matter if its not for security 08:34 <+bridge> [ddnet] sha256 is ur best bett 08:34 <+bridge> [ddnet] for a fast hash 08:35 <+bridge> [ddnet] oh i guess ur query is wrong 08:35 <+bridge> [ddnet] (finding a md5 colision shouldnt be that easy i think) 08:37 <+bridge> [ddnet] all sha are rly good 08:38 <+bridge> [ddnet] oh jk sha1 sucks 12:18 <+bridge> [ddnet] Well md5 isn't bad specifically at that. Minor changes cause wildly different md5 just fine 12:18 <+bridge> [ddnet] well yeah 12:18 <+bridge> [ddnet] xD 12:19 <+bridge> [ddnet] but i dont think there is much perf dif between using sha256 and md5 right 12:20 <+bridge> [ddnet] just not crc thanks 12:20 <+bridge> [ddnet] java 12:20 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/867712671393382410/unknown.png 12:20 <+bridge> [ddnet] Especially in modern hardware they are fairly similar 12:22 <+bridge> [ddnet] Anyway iif you are going to use md5 you have to keep in mind that the user can generate two different files with the same hash. And in this case it doesnt matter that much since you reject duplicates 12:23 <+bridge> [ddnet] https://nuclearmonster.com/2021/07/native-linux-games-vs-windows-api-compatibility-layers-on-the-steam-deck/ 12:23 <+bridge> [ddnet] Ryan C. Gordon is the main maintainer of sdl2 12:23 <+bridge> [ddnet] iirc 12:26 <+bridge> [ddnet] > We are no longer talking about people running Linux as their primary desktop to compete here. We are no longer talking about how many people found a machine to install SteamOS on. 12:26 <+bridge> [ddnet] > 12:26 <+bridge> [ddnet] > We’re now talking about concrete sales numbers for a game console. 12:26 <+bridge> [ddnet] > 12:26 <+bridge> [ddnet] > And maybe someday down the road, if this is wildly successful, we tell people that it’s a no-brainer to target 18 bazillion Linux users that aren’t Linux users so much as customers reliably running a Linux-based game console. 12:26 <+bridge> [ddnet] this is such an important remark 12:26 <+bridge> [ddnet] this can make linux be popular whithout it being known at all xd 12:27 <+bridge> [ddnet] there are already a lot of linux users, see android 12:27 <+bridge> [ddnet] but I guess they don't run desktop linux 12:27 <+bridge> [ddnet] yeah its not the same 12:27 <+bridge> [ddnet] but the comment above still seems like it's mostly trying to get upvotes from linux fans tbh 12:28 <+bridge> [ddnet] Ryan C Gordon should stop doing interviews and do my sdl patches smh 12:28 <+bridge> [ddnet] :monkalaugh: 12:29 <+bridge> [ddnet] > the Steam Deck and native Linux ports in the light of Valve’s call for developers not to port games to Linux and instead rely on their Proton fork of WINE and other tools. 12:29 <+bridge> [ddnet] valve is actually asking ppl not to port games to linux but use proton 12:29 <+bridge> [ddnet] idk what to think of this tbh 12:29 <+bridge> [ddnet] @Learath2: @murpi identified all the dummy maps that need changing for https://github.com/ddnet/ddnet/pull/3959 12:29 <+bridge> [ddnet] I agree more with ryan here, what is this guys problem with calling out the windows layer as ruining linux? 12:30 <+bridge> [ddnet] can we get this in? we had a large increase in start line skips recently 12:31 <+bridge> [ddnet] I dont see any problems with it and I don't see any code quality issues. So on that front I'm okay with merging it 12:31 <+bridge> [ddnet] But as with other patches like this I'd really prefer if you could set some time aside and deploy it yourself/monitor it a bit 12:32 <+bridge> [ddnet] then it'd have to wait until saturday 12:33 <+bridge> [ddnet] or we could deploy it this evening maybe 12:33 <+bridge> [ddnet] Either works for me, up to you really 12:33 <+bridge> [ddnet] k 🙂 12:35 <+bridge> [ddnet] Saturday is a little less than ideal as I'd be very tired from the flight but I guess you can deploy alone 12:37 <+bridge> [ddnet] vacation? 😄 12:38 <+bridge> [ddnet] Sort of, going back to turkey to see family. Will still be plenty busy so not sure if it qualifies as vacation :D 12:45 <+bridge> [ddnet] You'll finally be back home again! 12:45 <+bridge> [ddnet] thats great news 🙂 13:26 <+Meskalin> iirc 15:12 <+bridge> [ddnet] @NeXus\: ah ye i wanted to tell you when i saw on github that you search dupes I have some CI for my mapres also using some python lib to detect similar images because sometimes same skins get resaved and have different hash 15:13 <+bridge> [ddnet] I fixed it now, but thanks 15:13 <+bridge> [ddnet] i also check mapres for proper resolution 15:14 <+bridge> [ddnet] I do too 15:14 <+bridge> [ddnet] also support hd skins now 15:14 <+bridge> [ddnet] ah ok nice 15:46 <+bridge> [ddnet] imagehashing skins is a decent idea, you can then use a large hashmap to see if a skin that looks nearly identical exists 15:56 <+bridge> [ddnet] Yeah it doesnt check for nearly identical skins atm, they have to be the exact same. 15:56 <+bridge> [ddnet] I also noticed that even opening a skin with an image editing software, changing nothing and saving it again as png results in a "different" image with a different hash. I guess it depends on the algorithm they use to save images? 15:56 <+bridge> [ddnet] Also sending skins via social networks compresses them and change the hash 15:57 <+bridge> [ddnet] It's probably a difference in the png metadata rather than the image itself unless you changed settings like more bits per pixel 15:58 <+bridge> [ddnet] So hashing images as is can be a bit of a hit and miss 15:58 <+bridge> [ddnet] A naive approach to get more correct (with non lossy formats like png or bmp) is to only hash the pixel data 15:59 <+bridge> [ddnet] the mapoptimizer for example does the SHA over the bitmap of ignoring fully transparent pixels 15:59 <+bridge> [ddnet] the mapoptimizer for example does the SHA over the bitmap of the image and ignoring fully transparent pixels 16:00 <+bridge> [ddnet] But imagehashing takes it a bit further. They also hash loosely so similar images land in the same bucket 16:02 <+bridge> [ddnet] Sometimes people upload almost identical skins, they just make corner smoother or fix positioning of eyes [...]. Wouldnt be bad to detect these as duplicates aswell 16:02 <+bridge> [ddnet] So they have to delete their old version first 16:03 <+bridge> [ddnet] wouldnt you just allow 1 name 1 skin then? 16:03 <+bridge> [ddnet] Sometimes people upload almost identical skins, they just make corners smoother or fix positioning of eyes [...]. Wouldnt be bad to detect these as duplicates aswell 16:03 <+bridge> [ddnet] I got vaccinated today 16:03 <+bridge> [ddnet] :monkalaugh: 16:05 <+bridge> [ddnet] Yeah but they just name it `xx2` `__fix` etc 16:05 <+bridge> [ddnet] :SeemsGood: 16:05 <+bridge> [ddnet] then look for similar names 16:05 <+bridge> [ddnet] hm 16:05 <+bridge> [ddnet] could be false positive no 16:07 <+bridge> [ddnet] would nouis be false positive to the original skin? 16:07 <+bridge> [ddnet] Depends on how I check for similar names 16:07 <+bridge> [ddnet] i mean like if you want similar skins to be found by some algorithm 16:08 <+bridge> [ddnet] @NeXus use the power of the hip machine learning 16:08 <+bridge> [ddnet] xD 16:08 <+bridge> [ddnet] :monkalaugh: 16:15 <+bridge> [ddnet] Found an example for someone who uploaded updated versions. Idk this is a problem for future NeXus 😅 I like how it is for now 16:15 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/867771941662621706/unknown.png 16:16 <+bridge> [ddnet] yeah, do you want to force it btw? 16:17 <+bridge> [ddnet] Actually some crazy AI image recognition would be the best solution 16:17 <+bridge> [ddnet] or just some user specfici warning, "delete this first" 16:17 <+bridge> [ddnet] the problem is always the tollerance 16:17 <+bridge> [ddnet] if i add eyelashes and call it Jake_female, it might be a different skin xd 16:17 <+bridge> [ddnet] I would force to not be able to upload I think (depends on how accurate the algorithm will be) 16:18 <+bridge> [ddnet] I force it now for exact same hashes 16:18 <+bridge> [ddnet] because im pretty confident its the same skin 16:18 <+bridge> [ddnet] Tested it pretty much now 16:18 <+bridge> [ddnet] yeah, guess thats a good idea 😄 16:18 <+bridge> [ddnet] Strip metadata and hash 16:19 <+bridge> [ddnet] zopflipng --keepcolortype -y -m name.png name.png 16:19 <+bridge> [ddnet] but very expensive calculation 😄 16:22 <+bridge> [ddnet] ah btw our dilate script also uses the hash of the bitmap 16:22 <+bridge> [ddnet] https://github.com/ddnet/ddnet/blob/master/scripts/check_dilate.sh 16:22 <+bridge> [ddnet] exactly to prevent this from happening, zopfli also changes the chunks of the PNG so its not really hashable 16:31 <+bridge> [ddnet] I’m getting my second dose tomorrow. Hope to hear you on the 5g channel 16:32 <+bridge> [ddnet] Try imagehashing first, runs fast and old enough to have a couple major mature algorithms 16:36 <+bridge> [ddnet] do you also feel it, when u lift your arm? xd 16:37 <+bridge> [ddnet] On the first dose it didnt hurt at all for 4-5 hours. Then it started to ache a bit, ached for an entire day, the next day I woke up and it was gone 16:37 <+bridge> [ddnet] for me i directly felt it 16:37 <+bridge> [ddnet] after 1-2minutes 16:38 <+bridge> [ddnet] did you got biontec or moderna btw? 16:38 <+bridge> [ddnet] or other stuff 16:38 <+bridge> [ddnet] I rolled biontech 16:38 <+bridge> [ddnet] yeah me2 16:39 <+bridge> [ddnet] Italy pretty much ran out of everything else and they are only reordering biontech and j&j for now 16:39 <+bridge> [ddnet] in germany they want to get away from astra xD 16:39 <+bridge> [ddnet] bcs nobody wants it 16:40 <+bridge> [ddnet] and yeah biontec seems to have higher protection against the mutants 16:40 <+bridge> [ddnet] Yeah they only recommend AZ to people that are more allergic here and people older than 60 16:41 <+bridge> [ddnet] But recommend is a strong word there, they wont give you AZ unless you are an allergic person or specifically ask for it 16:42 <+bridge> [ddnet] moderna 16:42 <+bridge> [ddnet] Ooh american spy 16:42 <+bridge> [ddnet] i think i felt it some mins after but now nothing 16:42 <+bridge> [ddnet] u have to wait 15 mins there after taking the vaxx 16:42 <+bridge> [ddnet] bill gates owns u now 16:42 <+bridge> [ddnet] kek 16:43 <+bridge> [ddnet] i feel a bit tired tho 16:43 <+bridge> [ddnet] J&J is pretty promising too with it being single dose and all but we got so little of it 16:43 <+bridge> [ddnet] :monkaS: 16:43 <+bridge> [ddnet] but sometimes i dont know if its me being overly conscious 16:43 <+bridge> [ddnet] lmao 16:44 <+bridge> [ddnet] I felt tired after too, then I noticed I walked 3 km back home under the sun 16:45 <+bridge> [ddnet] oh yes 16:45 <+bridge> [ddnet] i just come here home 16:45 <+bridge> [ddnet] outside was 31C 16:45 <+bridge> [ddnet] sunny 16:45 <+bridge> [ddnet] barcelona 16:45 <+bridge> [ddnet] i didnt felt tired, but my arm felt a bit weird for 2 days, but 2nd day was not alot anymore 😄 16:45 <+bridge> [ddnet] you know when there is a bit of wind 16:45 <+bridge> [ddnet] I’m very confused how people can still claim the vaccine will kill you because it wasn’t tested long enough 16:45 <+bridge> [ddnet] but its hot af 16:46 <+bridge> [ddnet] like ur in front of the AC hot air thingy 16:46 <+bridge> [ddnet] xd 16:46 <+bridge> [ddnet] every polish player claims this 16:46 <+bridge> [ddnet] @Learath2 hav useen linus torvads on the mail list against a anti vaxx 16:46 <+bridge> [ddnet] https://www.theregister.com/2021/06/11/linus_torvalds_vaccine_smackdown/ 16:47 <+bridge> [ddnet] xd 16:47 <+bridge> [ddnet] > Linus Torvalds tells kernel list poster to 'SHUT THE HELL UP' for saying COVID-19 vaccines create 'new humanoid race' 16:47 <+bridge> [ddnet] Millions of doses administered over almost 1.5 years now and only a HANDFUL of people even had large complications and even for them most people think they had a pre-existing condition 16:47 <+bridge> [ddnet] for logical thinking ppl its always a pain if someone completly denies smth xD 16:47 <+bridge> [ddnet] https://lore.kernel.org/ksummit/CAHk-=wiB6FJknDC5PMfpkg4gZrbSuC3d391VyReM4Wb0+JYXXA@mail.gmail.com/ 16:47 <+bridge> [ddnet] this is gold 16:47 <+bridge> [ddnet] So sad to see news being so populist all over the world, italian media had these people for a couple seconds too 16:48 <+bridge> [ddnet] wrote: 16:48 <+bridge> [ddnet] > 16:48 <+bridge> [ddnet] > And I know *a lot* of people who will never take part in this generic 16:48 <+bridge> [ddnet] > human experiment that basically creates a new humanoid race (people 16:48 <+bridge> [ddnet] > who generate and exhaust the toxic spike proteine, whose gene sequence 16:48 <+bridge> [ddnet] > doesn't look quote natural). I'm one of them, as my whole family. 16:48 <+bridge> [ddnet] this is in the kernel mailing list 16:48 <+bridge> [ddnet] ppl who are supposedly smart 16:48 <+bridge> [ddnet] insane 16:48 <+bridge> [ddnet] btw this also happens in development, just read today: 16:48 <+bridge> [ddnet] https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/65 16:48 <+bridge> [ddnet] 16:48 <+bridge> [ddnet] its about input lag, bcs wayland's perfect frames are better than tearing 16:48 <+bridge> [ddnet] btw this also happens in development, just read today: 16:48 <+bridge> [ddnet] https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/65 16:48 <+bridge> [ddnet] 16:48 <+bridge> [ddnet] its about input lag, bcs wayland's perfect frames are better than tearing and latency 16:48 <+bridge> [ddnet] You need to be dimwitted to think mrna vaccines change your genome. Like you really have to have not read a single piece of information about it 16:49 <+bridge> [ddnet] If only it was that easy to change the genome you goofs… 16:49 <+bridge> [ddnet] :monkaS: 16:50 <+bridge> [ddnet] lol 16:50 <+bridge> [ddnet] i really wonder if humans with gen mutation would be worth it more than machines in the end 16:50 <+bridge> [ddnet] 16:50 <+bridge> [ddnet] i mean maybe for a specific time range, and some specific jobs 16:50 <+bridge> [ddnet] but in the end mashines are much better most of the time 16:51 <+bridge> [ddnet] everybody will have blond hair blue eyes, perfect face and no cancer 16:51 <+bridge> [ddnet] :monkaS: 16:51 <+bridge> [ddnet] i have most of that xd 16:51 <+bridge> [ddnet] same kek 16:51 <+bridge> [ddnet] 😄 16:52 <+bridge> [ddnet] https://en.wikipedia.org/wiki/Gattaca 16:52 <+bridge> [ddnet] i remembered this movie 16:52 <+bridge> [ddnet] > The film presents a biopunk vision of a future society driven by eugenics where potential children are conceived through genetic selection to ensure they possess the best hereditary traits of their parents.[5] The film centers on Vincent Freeman, played by Hawke, who was conceived outside the eugenics program and struggles to overcome genetic discrimination to realize his dream of going into space. 16:53 <+bridge> [ddnet] genetics are defs the hardest topic ever 16:55 <+bridge> [ddnet] i think the movie focuses on the wrong thing, if u can modify genes u should be able to become ageless right? 16:55 <+bridge> [ddnet] :monkalaugh: 16:56 <+bridge> [ddnet] e.g. i dont fear that plants are genetical modified if studys show a real benefit, but e.g. currently in agriculture its mostly used to have a resistence against glyphosate. So if you spray it all plants around it die 16:56 <+bridge> [ddnet] 16:56 <+bridge> [ddnet] And its not clear if it can cause cancer 16:57 <+bridge> [ddnet] so i'd prefer a mechanical solution for it in the meantime, e.g. machines that cut weeds 16:58 <+bridge> [ddnet] Worth it for what? To your capitalist overlords? Maybe, but the main point would be eradicating genetic disease and maybe even boosting our immunity to things like cancer 16:59 <+bridge> [ddnet] yes, i mean the classic argument against vancines "it alters my DNA to control me" 16:59 <+bridge> [ddnet] I just wonder if they think they are worth enough to be controlled xD 16:59 <+bridge> [ddnet] Oh yeah complete insanity. Tech giants already control you, just check your google maps history 16:59 <+bridge> [ddnet] google tells me if i wanna know a recap of where i want 17:00 <+bridge> [ddnet] :monkalaugh: 17:00 <+bridge> [ddnet] i went* 17:00 <+bridge> [ddnet] The ads you are served absolutely are there to manipulate you, not just to buy, it also manipulates the way you think. Look at how cambridge analytica manipulated an entire country by serving them ads they’d hate 17:01 <+bridge> [ddnet] yeah, ads are so annoying and they get more and more xD 17:01 <+bridge> [ddnet] :monkalaugh: 17:01 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/867783443332595762/1Yh4G7H4Q7xXWs86ovP_8oA.png 17:01 <+bridge> [ddnet] Altering your dna to control you is like using a ring -2 exploit to steal your passwords 17:01 <+bridge> [ddnet] yeah 17:02 <+bridge> [ddnet] You can make it work in a very small scale inside a lab, but in the wild it’s faaaar faaaaar faaaaaaaaar off from feasible. Observing chunks of data without context to find a password there is insanity 17:02 <+bridge> [ddnet] yeah interesting point 17:03 <+bridge> [ddnet] thats also why i wonder so much how chinese ppl think xD 17:03 <+bridge> [ddnet] i mean chiense ppl vs their leaders 17:03 <+bridge> [ddnet] cant be the picture we always get 17:04 <+bridge> [ddnet] like we dont know about how they think they probs dont know about us here, they cant compare so they probs thing theirs is right 17:04 <+bridge> [ddnet] You mean “and” their leaders. There is no vs there, they all live in perfect cohesion 17:04 <+bridge> [ddnet] 😄 thats the question 😄 17:04 <+bridge> [ddnet] especially bcs alot of chinese study outside of china 17:04 <+bridge> [ddnet] well if u dont go against the leaders u probs jsut live normally 17:05 <+bridge> [ddnet] without being able to say x things 17:05 <+bridge> [ddnet] or draw human bones in games 17:05 <+bridge> [ddnet] If you are not in cohesion you take a nice long vacation 17:05 <+bridge> [ddnet] yeah but i mean under the hood 17:05 <+bridge> [ddnet] not publicly 17:05 <+bridge> [ddnet] https://dota2.fandom.com/wiki/Low_Violence 17:05 <+bridge> [ddnet] > Low Violence is a series of graphical variations used on Perfect World servers. They were made to edit out or obscure blood, gore, skulls and skeletons in order to conform with Chinese censorship. 17:05 <+bridge> [ddnet] I’ve had a couple chats with chinese students here, they are fairly shielded to outsiders. They hang out in their own groups 17:06 <+bridge> [ddnet] i see 17:06 <+bridge> [ddnet] its hilarious 17:06 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/867784681910960172/unknown.png 17:06 <+bridge> [ddnet] china 17:06 <+bridge> [ddnet] :justatest: 17:06 <+bridge> [ddnet] I wonder if their time outside changes their thinking a lot at all 17:06 <+bridge> [ddnet] but in the end there is taiwan and hongkong and they are both economically not bad 17:06 <+bridge> [ddnet] but dunno how much the press hides these facts 17:07 <+bridge> [ddnet] or how ppl think about it, that have a higher intellect 17:07 <+bridge> [ddnet] why does dev-channel become into polit-channel every time 17:07 <+bridge> [ddnet] its also a way of development 17:07 <+bridge> [ddnet] it doesnt say teeworlds development xd 17:07 <+bridge> [ddnet] ye, make humanb-dev channel :D 17:08 <+bridge> [ddnet] ye, make human-dev channel :D 17:08 <+bridge> [ddnet] Chinese taipei and hong kong autonomous regions are very happy under ccp rule tyvm 17:08 <+bridge> [ddnet] make a creative room channel 17:08 <+bridge> [ddnet] creative would 17:08 <+bridge> [ddnet] It’s a bunch of computer people, sometimes you just want to talk about things with people with similar backgrounds 17:09 <+bridge> [ddnet] i mean 17:09 <+bridge> [ddnet] this channel is logging out 17:09 <+bridge> [ddnet] and indexing by any search engine 17:09 <+bridge> [ddnet] the good thing about computer scientist is, that they have to accept facts, bcs that's litterally how programming works xd 17:09 <+bridge> [ddnet] your thoughts here a public 17:09 <+bridge> [ddnet] your thoughts here are public 17:09 <+bridge> [ddnet] is that a problem xd 17:09 <+bridge> [ddnet] Not like we are hiding anything 😛 17:10 <+bridge> [ddnet] xd 17:10 <+bridge> [ddnet] true 17:11 <+bridge> [ddnet] as soon as tsfreddie starts the chinese revolution i can say IT ALL STARTED HERE 17:11 <+bridge> [ddnet] I probably can’t work in the us anymore though 17:11 <+bridge> [ddnet] China might still take me 18:32 <+bridge> [ddnet] anyone else having dns issues right now? 18:33 <+bridge> [ddnet] i can ping google fine 18:33 <+bridge> [ddnet] https://edgedns.status.akamai.com/incidents/n5zl6dythvfv 18:33 <+bridge> [ddnet] F 18:33 <+bridge> [ddnet] @murpi i recommend u not relying on ur ISP dns 18:33 <+bridge> [ddnet] and just use 18:33 <+bridge> [ddnet] 1.1.1.1 or 8.8.8.8 18:33 <+bridge> [ddnet] im using public dns 18:34 <+bridge> [ddnet] use 1.1.1.1 18:41 <+bridge> [ddnet] https://twitter.com/campuscodi/status/1418245632922370048 18:41 <+bridge> [ddnet] @murpi 18:42 <+bridge> [ddnet] yeah 😅 18:43 <+bridge> [ddnet] looks like they fixed it already 19:09 <+bridge> [ddnet] can someone explain to me why all the rust python-bindings crates exist instead of them being integrated into the crates they create bindings for? 19:10 <+bridge> [ddnet] example? 19:11 <+bridge> [ddnet] https://crates.io/crates/hyperjson 19:12 <+bridge> [ddnet] hm cant remember the second one i took a look at 19:13 <+bridge> [ddnet] looks like it has different authors 19:19 <+bridge> [ddnet] @Learath2 let's deploy the PR 19:21 <+bridge> [ddnet] ```toml 19:21 <+bridge> [ddnet] [lib] 19:21 <+bridge> [ddnet] crate-type = ["rlib", "cdylib"] 19:21 <+bridge> [ddnet] ``` 19:21 <+bridge> [ddnet] my understanding is that this will change the crate-type from "lib" to those two. I'm not sure if this has an effect on people that want to add my crate as a dependency or just on people that build it locally 19:21 <+bridge> [ddnet] The startline one? 19:21 <+bridge> [ddnet] yes 19:22 <+bridge> [ddnet] Sure 19:22 <+bridge> [ddnet] Should we get rid of CodeQL btw, it keeps failing 19:22 <+bridge> [ddnet] is seem to need those options if I want to produce python bindings for my library https://pyo3.rs/v0.14.1/building_and_distribution.html#manual-builds, might that be a reason to create a new crate? 19:24 <+bridge> [ddnet] @heinrich5991 1 last question, do you know if old saves are fine with this? 19:25 <+bridge> [ddnet] untested, but added with the same backward compatibility as everything else 19:25 <+bridge> [ddnet] it assumes that every tee has hit the start line already 19:28 <+bridge> [ddnet] i think this is for making dynamic libraries 19:29 <+bridge> [ddnet] https://doc.rust-lang.org/reference/linkage.html 19:30 <+bridge> [ddnet] hm, if you have rlib in there I thought the linkage would be fine for people using your crate too 19:31 <+bridge> [ddnet] @Ryozuki I also read those docs (maybe skimmed more than read), though I was not able to answer my question 19:31 <+bridge> [ddnet] whats your question 19:31 <+bridge> [ddnet] > I'm not sure if this has an effect on people that want to add my crate as a dependency or just on people that build it locally 19:31 <+bridge> [ddnet] > why all the rust python-bindings crates exist instead of them being integrated into the crates they create bindings for? 19:31 <+bridge> [ddnet] i dont get what u mean 19:31 <+bridge> [ddnet] @Patiga sometimes I find the best course of action is to just try it, it'll break pretty quick if it's a hard requirement 🙂 19:31 <+bridge> [ddnet] hyperjson is a python library made in rust i think 19:32 <+bridge> [ddnet] @Ryozuki he is asking why people are splitting off their python bindings into separate crates 19:33 <+bridge> [ddnet] an example? 19:33 <+bridge> [ddnet] i dont see hyperjson as multiple crates here 19:33 <+bridge> [ddnet] fair, in this case though I fear that I wouldn't catch side effects 19:34 <+bridge> [ddnet] @Ryozuki my question that I quoted here would suffice for me :) 19:34 <+bridge> [ddnet] i think if u specify rlib 19:34 <+bridge> [ddnet] it can be statically linked 19:34 <+bridge> [ddnet] hmm 19:35 <+bridge> [ddnet] i think testing it is the best 19:35 <+bridge> [ddnet] xd 19:35 <+bridge> [ddnet] > If a static library is being produced, all upstream dependencies are required to be available in rlib formats. 19:36 <+bridge> [ddnet] > If an rlib file is being produced, then there are no restrictions on what format the upstream dependencies are available in 19:36 <+bridge> [ddnet] I think(tm) by doing `rlib` you are sort of forcing the compilers hand, so if another rust project includes your project they need to link statically 19:36 <+bridge> [ddnet] > f a dynamic library or an executable that is being dynamically linked is being produced, then the compiler will attempt to reconcile the available dependencies in either the rlib or dylib format to create a final product. 19:38 <+bridge> [ddnet] so has it an effect on someone who uses my library as a dependency? 19:39 <+bridge> [ddnet] okay that reply is misleading 19:39 <+bridge> [ddnet] I still don't know the answer to my question tho 19:40 <+bridge> [ddnet] Check the linkage 19:40 <+bridge> [ddnet] Info 19:40 <+bridge> [ddnet] @Ryozuki the things that you are copying from the docs are lines I already read, if you think that they still answer my question, it would help me if you could formulate it differently 19:40 <+bridge> [ddnet] It tells it there 19:40 <+bridge> [ddnet] Hmm 19:40 <+bridge> [ddnet] ah, thats interesting :) 19:41 <+bridge> [ddnet] If they use ur lib as a dep and compile statically then urs is too 19:42 <+bridge> [ddnet] @Learath2 if i lift my arm from vaccine i can actually feel some pain :monkalaugh: 19:42 <+bridge> [ddnet] :justatest: :cammostripes: :justatest: 19:42 <+bridge> [ddnet] ah, so the crate that uses my lib as a dep can overwrite that for my lib, or does that require my lib to include the 'rlib' crate-type 19:43 <+bridge> [ddnet] I dont know if it requires ir 19:43 <+bridge> [ddnet] It 19:47 <+bridge> [ddnet] oh, it's merged 19:47 <+bridge> [ddnet] gonna deploy it 19:49 <+bridge> [ddnet] for me the docs kinda sound like they don't want me to touch it 19:49 <+bridge> [ddnet] it seems the only way to find out is ask on some rust channel 19:50 <+bridge> [ddnet] @Learath2 19:50 <+bridge> [ddnet] that commit looks like it changes behavior 19:50 <+bridge> [ddnet] map_backgrounds/abc.png → map_backgrounds/abc 19:53 <+bridge> [ddnet] oh wow, how did you even catch that 😄 19:53 <+bridge> [ddnet] I looked at the commit because it popped up in the chat 19:54 <+bridge> [ddnet] you used the path in two places ^^ 19:55 <+bridge> [ddnet] thumbs up 19:56 <+bridge> [ddnet] @heinrich5991 btw did you deploy the patch? 19:56 <+bridge> [ddnet] ``` 19:56 <+bridge> [ddnet] ./build.sh ~/src 19:56 <+bridge> [ddnet] 15016 (process ID) old priority 0, new priority 19 19:57 <+bridge> [ddnet] […] 19:57 <+bridge> [ddnet] [100%] Built target map_optimize 19:57 <+bridge> [ddnet] Copying to servers 19:57 <+bridge> [ddnet] ``` 19:57 <+bridge> [ddnet] still in progress 19:57 <+bridge> [ddnet] leaks 19:57 <+bridge> [ddnet] calling the nsa 19:58 <+bridge> [ddnet] hmm hmm 19:58 <+bridge> [ddnet] theoretically it should have output for each server 19:58 <+bridge> [ddnet] but I don't see a single one yet 19:58 <+bridge> [ddnet] I'll restart the script 19:58 <+bridge> [ddnet] ah, apparently my connection broke? 20:01 <+bridge> [ddnet] in an ideal world I'd make these scripts parallel with multiprocessing, but I really don't have the energy for it 20:01 <+bridge> [ddnet] so, it takes like 5 minutes to parse the releases file 😄 20:01 <+bridge> [ddnet] I don't understand your last message 20:02 <+bridge> [ddnet] which releases file? 20:02 <+bridge> [ddnet] https://ddnet.tw/releases/releases 20:02 <+bridge> [ddnet] A list of all maps, when they were released, who their mappers are, etc 20:03 <+bridge> [ddnet] ah 20:03 <+bridge> [ddnet] turns out the script is already parallel 20:03 <+bridge> [ddnet] and the status output doesn't go to stdout 20:03 <+bridge> [ddnet] but to `$$.log` 20:03 <+bridge> [ddnet] Ah, that makes sense 20:04 <+bridge> [ddnet] :o 20:04 <+bridge> [ddnet] well parallel with 2 cores 20:04 <+bridge> [ddnet] its that 20:04 <+bridge> [ddnet] :monkaS: 20:04 <+bridge> [ddnet] doesn't matter, it's mostly IO 20:04 <+bridge> [ddnet] ah 20:05 <+bridge> [ddnet] https://github.com/tokio-rs/loom 20:05 <+bridge> [ddnet] TIL you can test concurrent code like this 20:05 <+bridge> [ddnet] xd 20:05 <+bridge> [ddnet] loom is indeed a cool idea 20:06 <+bridge> [ddnet] > Loom provides a way to deterministically explore the various possible execution permutations without relying on random executions. This allows you to write tests that verify that your concurrent code is correct under all executions, not just “most of the time”. 20:06 <+bridge> [ddnet] deployed on ger2:8303 20:06 <+bridge> [ddnet] anyone up for quick testing? 20:07 <+bridge> [ddnet] This ofc is not very cheap to test, with there being `n!` permutations 20:07 <+bridge> [ddnet] Sure 20:11 <+bridge> [ddnet] @Ryozuki no, not hard restart 20:12 <+bridge> [ddnet] restart when empty 20:12 <+bridge> [ddnet] ok 20:30 <+bridge> [ddnet] lol, didn't know the bot kept the entire database of finishes aswell 20:30 <+bridge> [ddnet] It will take the rest of my human life to wait for this script to copy it all 20:35 <+bridge> [ddnet] only once per day 20:36 <+bridge> [ddnet] Yay, finally it's all there 20:36 <+bridge> [ddnet] I'll probably hack in a mysql connection there so it can use the actual record_race table 20:37 <+bridge> [ddnet] postgres better 20:37 <+bridge> [ddnet] ye postgres ftw 20:38 <+bridge> [ddnet] Definitely but ddnet is using mysql for now 😛 20:39 <+bridge> [ddnet] unless one of you wants to take the immense task of rewriting sql_score for postgres and taking the risk of migration it'll be like that for a while 😛 20:45 <+bridge> [ddnet] Can somebody fix/restore build push for #bugs bug 20:58 <+bridge> [ddnet] finshing also doesnt work 21:20 <+bridge> [ddnet] @heinrich5991 um, something broke 21:23 <+bridge> [ddnet] But I specifically asked you be here when we deploy it 😦 21:23 <+bridge> [ddnet] I'm here 21:23 <+bridge> [ddnet] (but I was away, I'll give you that) 21:24 <+bridge> [ddnet] @ScReeNy can you tell me which map? 21:24 <+bridge> [ddnet] @heinrich5991 flw into my server 21:24 <+bridge> [ddnet] all Maps but not on all server it seems @heinrich5991 21:24 <+bridge> [ddnet] but not sure 21:26 <+bridge> [ddnet] @heinrich5991 you can roll back to `f23475665f6cff947d1cdafdf73f77c18396892c` I guess 21:27 <+bridge> [ddnet] It's probably @Jupstar ✪'s C++ patch, not the startline thing 21:27 <+bridge> [ddnet] spawning random entities sounds insane for your patch 21:27 <+bridge> [ddnet] I think so, too. but can never know in C++ 21:27 <+bridge> [ddnet] what map can i test it in? 21:27 <+bridge> [ddnet] some servers were running ubsan, this is definitely a ub issue 21:28 <+bridge> [ddnet] @Jupstar ✪ check Nostalgia 21:28 <+bridge> [ddnet] @Jupstar ✪ I highly doubt it happens consistently 21:28 <+bridge> [ddnet] nostalgia is consistent according to Patiga 21:28 <+bridge> [ddnet] ah perfect, ok we rollback and we can do asan + ubsan to check it out on nostalgia 21:28 <+bridge> [ddnet] doing rollback rn 21:29 <+bridge> [ddnet] oh or maybe 74ca331e 21:29 <+bridge> [ddnet] the gamecontext destructor stuff 21:29 <+bridge> [ddnet] where is the entity in nostalgia 21:30 <+bridge> [ddnet] > [9:26 PM] Knuski: it looks like it only appears after a map change 21:30 <+bridge> [ddnet] it's probably `74ca331e` 21:30 <+bridge> [ddnet] near teleto 1 21:30 <+bridge> [ddnet] ah 21:30 <+bridge> [ddnet] why not both 21:30 <+bridge> [ddnet] map change yeah 21:30 <+bridge> [ddnet] that makes more sense 21:31 <+bridge> [ddnet] `2a74ca331e` sorry 21:31 <+bridge> [ddnet] @Learath2 is the commit I built bad? 21:31 <+bridge> [ddnet] No 21:31 <+bridge> [ddnet] f23475665f6cff947d1cdafdf73f77c18396892c 21:31 <+bridge> [ddnet] good 21:31 <+bridge> [ddnet] then I'm deployingh 21:32 <+bridge> [ddnet] I'm definitely adding the commit the game was played on to records and saves 21:33 <+bridge> [ddnet] all the random tiles that are getting spawned into other maps are from this map 21:33 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/867851782112804864/unknown.png 21:33 <+bridge> [ddnet] watch your time by welf 21:33 <+bridge> [ddnet] i saw the smiley bottom left on each server 21:33 <+bridge> [ddnet] and other patterns 21:34 <+bridge> [ddnet] that's extremely weird, I hope it was happening when you switch from watch your time and not everywhere 21:34 <+bridge> [ddnet] i dont know i could go on any server, switch and those things were there 21:35 <+bridge> [ddnet] so not only servers with watch ur time are affected 21:36 <+bridge> [ddnet] but it still choses the switch tiles of that map 21:45 <+bridge> [ddnet] @heinrich5991 take a note of the time when you finish restarting servers, we'll have to nuke the records between deployment and rollback 21:47 <+bridge> [ddnet] reload only affected servers :/ could finish voidof* normally 21:49 <+bridge> [ddnet] maybe if the teehistorian file contains the server commit hash I can try to only remove affected records 21:51 <+bridge> [ddnet] i guess saves and all will also be needed to be deleted then if they arent already included 21:51 <+bridge> [ddnet] @Learath2 ^ 21:51 <+bridge> [ddnet] and @heinrich5991 that should fix it 21:51 <+bridge> [ddnet] @Jupstar ✪ have you actually checked that it was that commit though? 21:52 <+bridge> [ddnet] it must be 21:52 <+bridge> [ddnet] it was bcs the user declared contructors initialize values, instead of putting it in oninit and onshutdown and i forgot to check about that 21:52 <+bridge> [ddnet] it also fixed it locally for me 21:53 <+bridge> [ddnet] delete my "what" save on getspeed 21:54 <+bridge> [ddnet] and record too xd 21:57 <+bridge> [ddnet] @Learath2 it does 21:57 <+bridge> [ddnet] also saves also contain the gameid 22:07 <+bridge> [ddnet] @Learath2 okay, with this PR in, next try? 22:07 <+bridge> [ddnet] I'm not sweating enough as is 22:18 <+bridge> [ddnet] eh, I'm fine with trying it again 22:20 <+bridge> [ddnet] I'll try to restore the gamecontext.cpp file to something similar as before before trying again 22:26 <+bridge> [ddnet] @Jupstar ✪ possibly a draw order bug? (only noticable on tall skins) 22:26 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/867865279157370940/unknown.png 22:26 <+bridge> [ddnet] @heinrich5991 so you are not confident about jupeyyys pr? 22:27 <+bridge> [ddnet] I'd prefer not to have this again 22:28 <+bridge> [ddnet] Yeah I wasn't really confident with it when deen merged it the first time around either, idk just looked a tad odd to me 22:29 <+bridge> [ddnet] Do we want to make an announcement on running servers that the ranks and saves will not be saved? 22:31 <+bridge> [ddnet] might be a good idea 22:32 <+bridge> [ddnet] can u hint me, i'm blind 22:32 <+bridge> [ddnet] looks like the next "team stripe" goes over the previous tee's feet a bit 22:32 <+bridge> [ddnet] scoreboard? 22:32 <+bridge> [ddnet] yeah in tab 22:32 <+bridge> [ddnet] yeah the tees are generally rendered too big in the scoreboard 22:33 <+bridge> [ddnet] and I guess on full server so it's the narrow version? 22:33 <+bridge> [ddnet] and yes its probably the order of draw commands 22:34 <+bridge> [ddnet] i think you would have to draw all team stripes first before drawing any tees 22:34 <+bridge> [ddnet] because no matter the individual order you're going to clip the top or bottom of tees 22:35 <+bridge> [ddnet] this method appears to be drawing the team stripe, then the tee, then the next pair below itr 22:35 <+bridge> [ddnet] this method appears to be drawing the team stripe, then the tee, then the next pair below it 22:35 <+bridge> [ddnet] they shouldnt leave the stripes 22:35 <+bridge> [ddnet] then its fine 22:37 <+bridge> [ddnet] it's only noticable on really tall skins which there aren't many so adjusting the order should be good enough 22:40 <+bridge> [ddnet] but then skins can still overlap 22:40 <+bridge> [ddnet] also not really nice 22:41 <+bridge> [ddnet] yeah but only in rare cases and still looks not as buggy 22:41 <+bridge> [ddnet] maybe making them even smaller is not worth it 22:41 <+bridge> [ddnet] just removing the color background entirely? 22:42 <+bridge> [ddnet] i don't see why we can't paint all the backgrounds then all the tees 22:42 <+bridge> [ddnet] you can 22:42 <+bridge> [ddnet] im too lazy 22:42 <+bridge> [ddnet] lol 23:21 <+bridge> [ddnet] @Learath2 last server dead