08:26 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/875263838432423936/ee1628afcb9cf6b.png.jpg 08:26 <+bridge> [ddnet] what's this 08:26 <+bridge> [ddnet] :justatest: 08:37 <+bridge> [ddnet] ohno 08:37 <+bridge> [ddnet] on which server? 08:39 <+bridge> [ddnet] idk 08:39 <+bridge> [ddnet] it seems to be pretty common on chn today 08:40 <+bridge> [ddnet] happens during map switch it seems 08:42 <+bridge> [ddnet] ye idk. people only post screenshots with no context and they don't respond 08:44 <+bridge> [ddnet] two out of the three reports says they were switching maps. not sure if it is votes or /map 08:49 <+bridge> [ddnet] big brother :monkaS: 08:53 <+bridge> [ddnet] Meh, we really should be checking errno... 08:54 <+bridge> [ddnet] I know an error occured but only god himself knows what the error is 08:59 <+bridge> [ddnet] It could be that fflush returned EFBIG or ENOSPC though CHN1 seems to have a fair bit of disk still 09:06 <+bridge> [ddnet] 8298 8300 8304 8306 8324 8333 8339 09:08 <+bridge> [ddnet] Oh `/dev/vdb1 49G 47G 0 100% /home` 😄 09:08 <+bridge> [ddnet] @TsFreddie is this an active time for chn? 09:08 <+bridge> [ddnet] oof 09:09 <+bridge> [ddnet] well it is 3PM 09:10 <+bridge> [ddnet] what do you want to do tho 09:11 <+bridge> [ddnet] What server has a /home? Usually just /. @Learath2 can you reduce the time to delete th files in crontab? 09:11 <+bridge> [ddnet] on the affected servers 09:11 <+bridge> [ddnet] how often are we deleting them rn? 09:11 <+bridge> [ddnet] CHN1 09:12 <+bridge> [ddnet] I removed a very large th file (10G) so things can keep working for now, I already have it synced 09:13 <+bridge> [ddnet] I will check the cron now 09:13 <+bridge> [ddnet] :monkaS: 09:13 <+bridge> [ddnet] how long was a 10G play 09:14 <+bridge> [ddnet] actually managed it myself from phone 09:14 <+bridge> [ddnet] @deen the cron looks like it should happen every day at 2300, idk why those hung around for so long 09:14 <+bridge> [ddnet] how old was it? 09:14 <+bridge> [ddnet] maybe server just kept running 09:14 <+bridge> [ddnet] Ah that is possible, it was 10G after all 09:14 <+bridge> [ddnet] it was from aug10 09:14 <+bridge> [ddnet] Last time 10GB was on japan with 1 month uptime 09:15 <+bridge> [ddnet] then it would only be deleted on august 17 09:16 <+bridge> [ddnet] ah, we only delete ones older than 7 days 09:16 <+bridge> [ddnet] should we maybe reduce that to 3 days? I think all of us rsync nightly 09:16 <+bridge> [ddnet] Though I'm not sure what happens if a server runs for 4 days then 09:16 <+bridge> [ddnet] the rsync can fail because of server downtimes 09:17 <+bridge> [ddnet] it‘s 7 days from last modifixation, not creation 09:17 <+bridge> [ddnet] more important would be to have serverstatus track the disk usage on /home if it‘s a partition 09:18 <+bridge> [ddnet] Yeah, serverstatus was what threw me off too 09:25 <+bridge> [ddnet] @TsFreddie `"start_time": "2021-07-25T16:30:05+0200",` and last modification was august 10, do chinese people ever stop playing? 😄 09:25 <+bridge> [ddnet] 🤔 no if there aren't enough servers 09:26 <+bridge> [ddnet] A month of uptime on that 09:58 <+bridge> [ddnet] @deen should we maybe have all servers upload their th files to one server? Then we dont have to keep them for longer than needed on the leaf servers and we wouldnt all be fetching from it 10:53 <+bridge> [ddnet] I talked with the ppl on japan a week ago to change to a different map if possible, a day later the server finally restarted after 1 month of uptime 😄 12:24 <+bridge> [ddnet] @deen ddnet.tw has an invalid cert 12:31 <+bridge> [ddnet] I'm looking into it 12:34 <+bridge> [ddnet] mh, expired but certbot didn't care for some reason 12:34 <+bridge> [ddnet] ` Validity 12:34 <+bridge> [ddnet] Not Before: May 14 09:55:20 2021 GMT 12:34 <+bridge> [ddnet] Not After : Aug 12 09:55:20 2021 GMT` 12:36 <+bridge> [ddnet] hm a certbot update fucked it up 12:41 <+bridge> [ddnet] if your program takes more than a second to output it's help, you've fucked up 12:51 <+bridge> [ddnet] Okay, fixed for a second, can someone check? 12:55 <+bridge> [ddnet] @deen I set both hookrace.net and ddnet.tw to less strict SSL checking on cloudflare for now, there seems to be a bug with certbot 0.31 but I couldn't fix it right now, need to leave 12:59 <+bridge> [ddnet] why is font of strong week indicator adapti[ve while nicknames' font not? 12:59 <+bridge> [ddnet] if i zoom in to nickname - it pixilizes 12:59 <+bridge> [ddnet] why is font of strong weak indicator adapti[ve while nicknames' font not? 13:00 <+bridge> [ddnet] take it or leave it:troll: 13:26 <+bridge> [ddnet] How do you guys audit open source software? Are there some tools that scan for maleware and backdoors in source code? What does one look for when having untrusted source code? 13:28 <+bridge> [ddnet] i usually casually scroll through the code and act like i understand it \:D i would love to automate this process to at least detect obvious traps placed by evil devs 13:36 <+bridge> [ddnet] hi :D 13:36 <+bridge> [ddnet] https://github.com/ddnet/ddnet/issues/3878#issue 13:36 <+bridge> [ddnet] hows about this :D 13:36 <+bridge> [ddnet] its been 2months 13:36 <+bridge> [ddnet] 👀 13:36 <+bridge> [ddnet] idk how it work 13:37 <+bridge> [ddnet] i just submitted, but none happened 13:37 <+bridge> [ddnet] There are issues back from 2019 13:37 <+bridge> [ddnet] ye but mine is 'just' a cmd =-= 13:38 <+bridge> [ddnet] https://github.com/ddnet/ddnet/pull/4006 13:38 <+bridge> [ddnet] then learn coding 13:39 <+bridge> [ddnet] #4006 13:39 <+bridge> [ddnet] https://github.com/ddnet/ddnet/pull/4006 13:39 <+bridge> [ddnet] i start informatics sciences next year :D 13:39 <+bridge> [ddnet] nice 😄 13:40 <+bridge> [ddnet] Informatics😴 😴 😴 13:40 <+bridge> [ddnet] finds first empty team and gives it to you 13:40 <+bridge> [ddnet] but can u explain how it works for ddnet coding process ? 13:40 <+bridge> [ddnet] but can u explain how it works for ddnet client coding process ? 13:40 <+bridge> [ddnet] what 13:40 <+bridge> [ddnet] like 13:40 <+bridge> [ddnet] who owns ddnet client ? 13:41 <+bridge> [ddnet] no one, but def- maintains it 13:41 <+bridge> [ddnet] U just write /team NUMBER and it checks the number, adding strings might be hard😴 13:41 <+bridge> [ddnet] no, not that 13:41 <+bridge> [ddnet] i mean 13:41 <+bridge> [ddnet] how works teeworlds 13:41 <+bridge> [ddnet] the system 13:41 <+bridge> [ddnet] who do what 13:41 <+bridge> [ddnet] What system 13:41 <+bridge> [ddnet] Game works 13:41 <+bridge> [ddnet] you have server-client structure 13:41 <+bridge> [ddnet] game programming, releases etc 13:42 <+bridge> [ddnet] to avoid ddos of motherhackers they added handshakes on every connect 13:42 <+bridge> [ddnet] coding -> everyone who wants 13:42 <+bridge> [ddnet] release -> deen 13:42 <+bridge> [ddnet] or compile yourself 13:42 <+bridge> [ddnet] server sends packets to client, client renders everything 13:42 <+bridge> [ddnet] wtf 13:42 <+bridge> [ddnet] so i can code the cmd ? 13:42 <+bridge> [ddnet] ye 13:42 <+bridge> [ddnet] yes 13:42 <+bridge> [ddnet] Yes 13:42 <+bridge> [ddnet] and it will be in the next rls ? 13:43 <+bridge> [ddnet] And send the pull request after 13:43 <+bridge> [ddnet] that's why he saaid you "code it yourseelf" lmfao xd 13:43 <+bridge> [ddnet] If it gets accepted ur cmd will be in next release 13:43 <+bridge> [ddnet] whoi knows 13:43 <+bridge> [ddnet] it will ofc still be checked 13:43 <+bridge> [ddnet] waa 13:43 <+bridge> [ddnet] i will need more info 13:43 <+bridge> [ddnet] is there somewhere where all explained ? 13:44 <+bridge> [ddnet] 👀 13:44 <+bridge> [ddnet] Explained what 13:44 <+bridge> [ddnet] like the wiki but for processes 13:45 <+bridge> [ddnet] There is a documentation but i think noone use it 13:45 <+bridge> [ddnet] no documentation rn 13:45 <+bridge> [ddnet] D'; 13:45 <+bridge> [ddnet] i think i speak very bad english 13:45 <+bridge> [ddnet] touch everything yourself and then keep it in mind 😉 13:45 <+bridge> [ddnet] im not talking about the game itself 13:45 <+bridge> [ddnet] but all that is around 13:45 <+bridge> [ddnet] Can i touch u:troll: 13:45 <+bridge> [ddnet] not in #developer wtf 13:46 <+bridge> [ddnet] dont forget to keep it in mind if u success 13:46 <+bridge> [ddnet] :troll: 13:46 <+bridge> [ddnet] trolls 13:46 <+bridge> [ddnet] im rerquesting 2 kicks 13:46 <+bridge> [ddnet] im requesting 2 kicks 13:46 <+bridge> [ddnet] :monkaS: 13:46 <+bridge> [ddnet] :feelsamazingman: 13:46 <+bridge> [ddnet] lmao have 7 accounts here 13:46 <+bridge> [ddnet] are you asko_tv 13:47 <+bridge> [ddnet] no '-' 13:47 <+bridge> [ddnet] whew 13:47 <+bridge> [ddnet] or am i ? :troll: 13:48 <+bridge> [ddnet] Well, he is 13:48 <+bridge> [ddnet] noby 13:48 <+bridge> [ddnet] deen 13:48 <+bridge> [ddnet] jao 13:48 <+bridge> [ddnet] murpi 13:48 <+bridge> [ddnet] lereath 13:48 <+bridge> [ddnet] and 2 bots 13:48 <+bridge> [ddnet] https://tenor.com/view/yoshi-cute-scream-nintendo-gif-14245379 13:48 <+bridge> [ddnet] weve been too far 13:49 <+bridge> [ddnet] lets re-center to #developer 13:49 <+bridge> [ddnet] I would like to know who do what (release, coding, distribution rights, teeworlds and ddnet related, who own what, etc) 13:50 <+bridge> [ddnet] If u take league of legends its very simple : Riot does everything and none can do something 13:51 <+bridge> [ddnet] But it seems that for ddnet its well more complex 13:51 <+bridge> [ddnet] https://www.computerhope.com/jargon/program.htm 13:52 <+bridge> [ddnet] also @Jupstar ✪ btw in wich language is ddnet and teeworlds coded 0-0 13:52 <+bridge> [ddnet] also @Jupstar ✪ btw in wich language is ddnet and teeworlds coded 0-0 ? 13:52 <+bridge> [ddnet] What is riot, lol for nobos 13:52 <+bridge> [ddnet] c++ 13:52 <+bridge> [ddnet] C++ obviously 13:52 <+bridge> [ddnet] If u had ever opened github page:troll: 13:53 <+bridge> [ddnet] i know how to do some basic Python :D 13:53 <+bridge> [ddnet] :monkalaugh: 13:53 <+bridge> [ddnet] and i used github for a project on python (physics project) 13:54 <+bridge> [ddnet] thats all i can do 13:54 <+bridge> [ddnet] :D 13:54 <+bridge> [ddnet] https://youtube.com/playlist?list=PLlrATfBNZ98dudnM48yfGUldqGD0S4FFb 13:54 <+bridge> [ddnet] gl hf 14:09 <+bridge> [ddnet] google definition of open-source project 14:21 <+bridge> [ddnet] Yes but yes 14:21 <+bridge> [ddnet] even if everynyan does what he want, i cant go change the teeworlds client on steam 14:22 <+bridge> [ddnet] you can if oy will approve it 14:23 <+bridge> [ddnet] oy ? 14:23 <+bridge> [ddnet] so it's only depends on your skills annd fantasy 14:23 <+bridge> [ddnet] oy iis maintainer of teeworlds 14:23 <+bridge> [ddnet] wtf is a maintainer 14:23 <+bridge> [ddnet] google it 14:24 <+bridge> [ddnet] person who maintains the project 14:25 <+bridge> [ddnet] :cammostripes: 14:25 <+bridge> [ddnet] imagine using google 14:26 <+bridge> [ddnet] anyway 14:26 <+bridge> [ddnet] if he maintains the project 14:26 <+bridge> [ddnet] duckduckgo it? 14:26 <+bridge> [ddnet] he owns teeworlds ? 14:26 <+bridge> [ddnet] no 14:26 <+bridge> [ddnet] or the maintainer can change 14:26 <+bridge> [ddnet] i mean 14:26 <+bridge> [ddnet] copyright is on Magnus Auvinen 14:27 <+bridge> [ddnet] what make him the maintainer 14:27 <+bridge> [ddnet] maintainer declines or accepts features bugxi]fes and does it theyself too 14:27 <+bridge> [ddnet] maintainer declines or accepts features bugfixes and does it theyself too 14:28 <+bridge> [ddnet] teeworlds creator gave him rights to maintain it 14:29 <+bridge> [ddnet] do you want to beccome maintainer or what xd 14:31 <+bridge> [ddnet] nah 14:32 <+bridge> [ddnet] first i want to know who have the legal rights, etc 14:32 <+bridge> [ddnet] then u go down 14:32 <+bridge> [ddnet] to basic player 14:32 <+bridge> [ddnet] does it mean anything rn 14:32 <+bridge> [ddnet] but he made it free-to-use ? 14:33 <+bridge> [ddnet] yes 14:33 <+bridge> [ddnet] reread definition of open-source project xd 14:33 <+bridge> [ddnet] theres open-source projects where u have to pay to use the code 14:33 <+bridge> [ddnet] and only reading is free 14:33 <+bridge> [ddnet] ¯\_(ツ)_/¯ 14:34 <+bridge> [ddnet] so 14:34 <+bridge> [ddnet] we have the legal owner 14:34 <+bridge> [ddnet] the maintainer 14:34 <+bridge> [ddnet] then read this i guess? every project has it's license 14:35 <+bridge> [ddnet] https://github.com/ddnet/ddnet/blob/master/license.txt 14:35 <+bridge> [ddnet] i guess its the maintainer that pay for the vanilla server 14:35 <+bridge> [ddnet] wtf 14:35 <+bridge> [ddnet] lmao give that directly 14:35 <+bridge> [ddnet] astramast stop making associations with commercial games with their owners 14:35 <+bridge> [ddnet] how do you think there are so many modes around 14:36 <+bridge> [ddnet] so many clients 14:36 <+bridge> [ddnet] so many servers at least 14:36 <+bridge> [ddnet] i know that everything is free 14:36 <+bridge> [ddnet] and that i could create my own ddrace network if i wanted to 14:36 <+bridge> [ddnet] look to ddper 14:37 <+bridge> [ddnet] thats not the point 14:37 <+bridge> [ddnet] ddper ? 14:37 <+bridge> [ddnet] another ddnet-like shit for persian gamers 14:37 <+bridge> [ddnet] they even pay for vip there lmao 14:37 <+bridge> [ddnet] then what do you want to know 14:38 <+bridge> [ddnet] ok i finished to read 14:39 <+bridge> [ddnet] so if i want to add something in vanilla teeworlds client, i contact the maintainer, and for ddnet client i contact deen 14:39 <+bridge> [ddnet] NO YOU JUST MAKE CHANGES AND SEND PULL REQUEST TO THE REPO 14:39 <+bridge> [ddnet] oops caps 14:39 <+bridge> [ddnet] and i can make a server for any mod if the mod concerned is free 14:39 <+bridge> [ddnet] sorry about that 14:40 <+bridge> [ddnet] thats exactly what i said 14:40 <+bridge> [ddnet] '-' 14:40 <+bridge> [ddnet] . 14:40 <+bridge> [ddnet] but you said "contact the mainainer" 14:40 <+bridge> [ddnet] you don't need to actually xdd 14:40 <+bridge> [ddnet] ah 14:40 <+bridge> [ddnet] :justatest: 14:41 <+bridge> [ddnet] who is the repo ? 14:41 <+bridge> [ddnet] repository 14:41 <+bridge> [ddnet] and also if a change is made in vanilla tw (like a new weapon) will it be added to ddnet ? 14:42 <+bridge> [ddnet] not such changes 14:42 <+bridge> [ddnet] because new weapon will not be added because youu should to change 0.6 protocol for that 14:42 <+bridge> [ddnet] but ddnet supports legacy 0.6 14:42 <+bridge> [ddnet] so no way 14:42 <+bridge> [ddnet] :O 14:43 <+bridge> [ddnet] wouldnt ddnet go to the next version ? 14:43 <+bridge> [ddnet] ask them 14:43 <+bridge> [ddnet] until 0.8 comes i bet 14:43 <+bridge> [ddnet] @murpi 14:43 <+bridge> [ddnet] bcs no one likes 0.7 here 14:43 <+bridge> [ddnet] why ? 14:43 <+bridge> [ddnet] colour palette i suppose 14:44 <+bridge> [ddnet] ? 14:44 <+bridge> [ddnet] wtf ? 14:44 <+bridge> [ddnet] no good antiping for now 14:44 <+bridge> [ddnet] and so on 14:44 <+bridge> [ddnet] wouldnt ddnet go to new version of vanilla tw if big new change in vanilla tw (new weapon, or smthing) 14:45 <+bridge> [ddnet] like a brand new 0.8 14:45 <+bridge> [ddnet] with an AK-457 14:45 <+bridge> [ddnet] with an AK-47 14:45 <+bridge> [ddnet] ikd 14:46 <+bridge> [ddnet] idk 14:46 <+bridge> [ddnet] teeworlds will be dead by then 14:46 <+bridge> [ddnet] xd 14:46 <+bridge> [ddnet] ? 14:46 <+bridge> [ddnet] wtf 14:46 <+bridge> [ddnet] explain ;-; 14:46 <+bridge> [ddnet] (╯°□°)╯︵ ┻━┻ 14:47 <+bridge> [ddnet] (╯°□°)╯︵ ┻━ 14:50 <+bridge> [ddnet] ok forget it all 14:50 <+bridge> [ddnet] does someone knows where i can find how are cmds coded ? 14:50 <+bridge> [ddnet] so i can get started 14:50 <+bridge> [ddnet] and do it myself 14:51 <+bridge> [ddnet] what do you want to do 14:51 <+bridge> [ddnet] /team auto 14:51 <+bridge> [ddnet] /accept 14:51 <+bridge> [ddnet] ... 14:51 <+bridge> [ddnet] >:p 14:51 <+bridge> [ddnet] invite iexists 14:52 <+bridge> [ddnet] and /team auto in my pr 14:52 <+bridge> [ddnet] /team -1 but btw 14:52 <+bridge> [ddnet] when someone invite u must know in wich team he is to join it 14:52 <+bridge> [ddnet] and if he is in /spec and alone u are fucked 14:52 <+bridge> [ddnet] also u cant bind it 14:53 <+bridge> [ddnet] <> wow 14:53 <+bridge> [ddnet] What kind of problems are those 14:53 <+bridge> [ddnet] >:v 14:53 <+bridge> [ddnet] i press f and i dont enter in my team 14:53 <+bridge> [ddnet] so i must enter the fking chat and i put another team 14:53 <+bridge> [ddnet] and i cant enter it again 14:53 <+bridge> [ddnet] so i enter another number 14:53 <+bridge> [ddnet] and its again already used 14:54 <+bridge> [ddnet] and i alt+f4 14:54 <+bridge> [ddnet] <> just ask your mate? 14:54 <+bridge> [ddnet] did u heard about dummy maps 14:54 <+bridge> [ddnet] Those are some first world problems holy 14:54 <+bridge> [ddnet] <> what 14:54 <+bridge> [ddnet] ok tell me better problem in ddnet for clients 14:54 <+bridge> [ddnet] Account system 14:55 <+bridge> [ddnet] do i look like i know how to code :D 14:55 <+bridge> [ddnet] trash 14:55 <+bridge> [ddnet] Better Ban/Punishment 14:55 <+bridge> [ddnet] ? 14:55 <+bridge> [ddnet] <> /swap 14:55 <+bridge> [ddnet] In the name of Demacia i will punish u 14:55 <+bridge> [ddnet] already exists 14:55 <+bridge> [ddnet] <> its broken 14:55 <+bridge> [ddnet] i know 14:56 <+bridge> [ddnet] <> i dont get your dummy problem 14:56 <+bridge> [ddnet] u are just a pepega 14:56 <+bridge> [ddnet] <> if you join on a dummy map just write /team (number) 14:56 <+bridge> [ddnet] Stop it get some help 14:56 <+bridge> [ddnet] <> switch on dummy 14:57 <+bridge> [ddnet] <> open chat, press "up" and enter 14:57 <+bridge> [ddnet] <> ez 14:57 <+bridge> [ddnet] thats freaky long 14:57 <+bridge> [ddnet] <> no lol 14:57 <+bridge> [ddnet] no xd 14:57 <+bridge> [ddnet] just get better at the game instead of letting ppl do the map for u 14:57 <+bridge> [ddnet] <> writing /accept takes more time lol 14:57 <+bridge> [ddnet] no because U BIND IT 14:58 <+bridge> [ddnet] <> btw 14:58 <+bridge> [ddnet] also you can just bind your favourite team 14:58 <+bridge> [ddnet] <> just bind a random team number 14:58 <+bridge> [ddnet] and press this button everytime 14:58 <+bridge> [ddnet] <> everyone does taht 14:58 <+bridge> [ddnet] <> that 14:58 <+bridge> [ddnet] no one thinked about that sweetie, 14:58 <+bridge> [ddnet] everyone did 14:58 <+bridge> [ddnet] ofc i have a button for that 14:58 <+bridge> [ddnet] but it's just 0.5 sec solution 14:58 <+bridge> [ddnet] <> just dont take /team 1 14:58 <+bridge> [ddnet] i took team 2 14:58 <+bridge> [ddnet] yeah, thats mine 14:58 <+bridge> [ddnet] instead of making 2 seconds solution with 4 binds instead of two 14:59 <+bridge> [ddnet] mine tooo lol 14:59 <+bridge> [ddnet] /team 0 > /team 1 14:59 <+bridge> [ddnet] Holy moly what is this discussion 14:59 <+bridge> [ddnet] So pepega 14:59 <+bridge> [ddnet] lets just remove teams and play t0 14:59 <+bridge> [ddnet] more fun anyway 14:59 <+bridge> [ddnet] go stream u scuttle 15:00 <+bridge> [ddnet] :Pepega: 15:00 <+bridge> [ddnet] remove t0 instead 15:00 <+bridge> [ddnet] xd 15:00 <+bridge> [ddnet] so 15:00 <+bridge> [ddnet] where can i find how to create cmds ? 15:00 <+bridge> [ddnet] '-' 15:01 <+bridge> [ddnet] #1703 15:01 <+bridge> [ddnet] https://github.com/ddnet/ddnet/pull/1703 15:02 <+bridge> [ddnet] lurk ddracechatcommands.h 15:02 <+bridge> [ddnet] or ddracechatcmds.h 15:02 <+bridge> [ddnet] idr 15:03 <+bridge> [ddnet] maybe look at chillerdragon's tutorials, he should have something about commands 15:04 <+bridge> [ddnet] it's 0.7 15:06 <+bridge> [ddnet] https://wiki.ddnet.tw/docs/ddracechat_8h_source.html 15:06 <+bridge> [ddnet] is it that different? 15:06 <+bridge> [ddnet] hm ye 15:07 <+bridge> [ddnet] I just thought basic server stuff like this should be more or less the same 15:07 <+bridge> [ddnet] afair in 0.7 there is some sseparated commandhandler without making macros 15:07 <+bridge> [ddnet] you just registering and all 15:11 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/875365782161350656/unknown.png 15:11 <+bridge> [ddnet] https://tenor.com/view/good-morning-light-sunshine-so-bright-gif-7472116 15:13 <+bridge> [ddnet] @Astramast anyway isn't gerdoe already making exactly what you wanted xd 15:22 <+bridge> [ddnet] U can even say he already did it 15:30 <+bridge> [ddnet] then why isnit in da gaem 15:30 <+bridge> [ddnet] idk i didnt understood his issue 15:30 <+bridge> [ddnet] lmao 15:45 <+bridge> [ddnet] CHAT_COMMAND("team", "?i[id]", CFGFLAG_CHAT | CFGFLAG_SERVER, ConJoinTeam, this, "Lets you join team i (shows your team if left blank)") 15:45 <+bridge> [ddnet] 👀 15:46 <+bridge> [ddnet] i dont understand anything im reading 15:46 <+bridge> [ddnet] https://media.discordapp.net/attachments/480709763609657344/874303504615899136/huhhh..gif 15:46 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/875374808748159036/4_675168768736887063.webp 15:52 <+bridge> [ddnet] yes. 16:21 <+bridge> [ddnet] because maintainers should check it before puahing into production, maybe, they will decline this pr because this useless or ask me for another feature 16:21 <+bridge> [ddnet] who knows 16:35 <+bridge> [ddnet] hi 16:35 <+bridge> [ddnet] i made a blog post about this 16:35 <+bridge> [ddnet] https://edgarluque.com/blog/chat-command-ddracenetwork 16:35 <+bridge> [ddnet] its a series im making 16:36 <+bridge> [ddnet] the first is here: 16:37 <+bridge> [ddnet] actually not bad, proud of myself 16:37 <+bridge> [ddnet] :greenthing: 17:31 <+bridge> [ddnet] I need Haskell advice 17:32 <+bridge> [ddnet] I want all possible ways to split a list into two parts 17:34 <+bridge> [ddnet] Example input\: `[5,4,3]` 17:34 <+bridge> [ddnet] Example output\: `[([],[5,4,3]), ([5],[4,3]), ([5,4],[3]), ([5,4,3],[])]` 17:35 <+bridge> [ddnet] never used haskell 17:35 <+bridge> [ddnet] :monkaS: 17:40 <+bridge> [ddnet] I guess I could construct a range and use splitAT 17:40 <+bridge> [ddnet] I guess I could construct a range and use splitAt 17:56 <+bridge> [ddnet] you could `zip (inits x) (tails x)` 18:09 <+bridge> [ddnet] if you really want to flex `map (\[a, b] -> (a, b)) . transpose . flip map [inits, tails] . flip ($)` is eta-reduced 18:12 <+bridge> [ddnet] Nice, it's shorter then what I came up with 18:12 <+bridge> [ddnet] May I ask why you would prefer the latter over the shorter solution? What's eta-reduced? 18:12 <+bridge> [ddnet] [Edit](https://discord.com/channels/252358080522747904/293493549758939136/875411335398178886): Nice, it's shorter than what I came up with 18:12 <+bridge> [ddnet] > The purpose of eta reduction (also written \(\eta\)-reduction) is to drop an abstraction over a function to simplify it. 18:13 <+bridge> [ddnet] Doesn't look simpler to me ^^ 18:13 <+bridge> [ddnet] i can do that in Python 18:13 <+bridge> [ddnet] is it for 0.6 ? 18:14 <+bridge> [ddnet] y 18:14 <+bridge> [ddnet] im looking doing it for ddnet 18:14 <+bridge> [ddnet] in 7 days 18:14 <+bridge> [ddnet] i dont do tw stuff 18:14 <+bridge> [ddnet] they abandoned 18:14 <+bridge> [ddnet] us 18:14 <+bridge> [ddnet] well 18:14 <+bridge> [ddnet] :monkaS: 18:14 <+bridge> [ddnet] last time i saw someone on DM server was 3 years ago so... 18:15 <+bridge> [ddnet] https://wiki.haskell.org/Eta_conversion 18:16 <+bridge> [ddnet] maybe he meant eta abstraction? 18:16 <+bridge> [ddnet] idk 18:19 <+bridge> [ddnet] absolutely no reason except that it's eta-reduced (so a closed expression for a function, which does not need the parameter x) 18:19 <+bridge> [ddnet] Ahh 18:19 <+bridge> [ddnet] I get it 18:19 <+bridge> [ddnet] :o 18:19 <+bridge> [ddnet] sometimes eta-reduced functions look slightly more elegant 18:20 <+bridge> [ddnet] e.g. here you don't need to write x twice (or at all, really) 18:20 <+bridge> [ddnet] but it's kinda useless in practice 18:20 <+bridge> [ddnet] it's just fun seeing if you can write it this way 18:20 <+bridge> [ddnet] kinda code-golfey 18:22 <+bridge> [ddnet] TIL https://www.conventionalcommits.org/en/v1.0.0/ 18:23 <+bridge> [ddnet] i just gotta not be lazy and type a bit more than "ok" for every commit i do 18:23 <+bridge> [ddnet] :monkalaugh: 18:24 <+bridge> [ddnet] played dm today :kek: 18:29 <+bridge> [ddnet] My actual problem\: 18:29 <+bridge> [ddnet] Example input\: `myKeyCommands = [("a b", 1), ("c", 2)]` 18:29 <+bridge> [ddnet] Example output\: `[("a b",1),("M-a b",1),("M-a M-b",1),("c",2),("M-c",2)]`Got two solutions\:``` 18:29 <+bridge> [ddnet] [(let (a, b) = splitAt i (words k) in unwords $ map ("M-" ++) a ++ b, c) | (k, c) <- myKeyCommands, i <- [0..length $ words k]] 18:29 <+bridge> [ddnet] `````` 18:29 <+bridge> [ddnet] [(unwords $ map ("M-" ++) a ++ b, c) | (k, c) <- myKeyCommands, (a, b) <- zip (inits $ words k) (tails $ words k)] 18:29 <+bridge> [ddnet] ```hmmmm 18:36 <+bridge> [ddnet] what the hell, is that you guys called functional programming? xd 18:59 <+bridge> [ddnet] That's not open-source, that's just source available 18:59 <+bridge> [ddnet] recommended reading: 18:59 <+bridge> [ddnet] https://opensource.org/osd 18:59 <+bridge> [ddnet] https://www.gnu.org/philosophy/free-sw.html.en 19:01 <+bridge> [ddnet] That's not open-source, that's just source-available 23:05 <+bridge> [ddnet] @Learath2 😄