Guild icon
DDraceNetwork
Development / developer
Development discussion. Logged to https://ddnet.org/irclogs/ Connected with DDNet's IRC channel, Matrix room and GitHub repositories — IRC: #ddnet on Quakenet | Matrix: #ddnet-developer:matrix.org GitHub: https://github.com/ddnet
Between 2024-06-06 00:00:00Z and 2024-06-07 00:00:00Z
Avatar
ws-client BOT 2024-06-06 01:48:12Z
<ChillerDragon> omg @jxsl13 you already did huffman in golang -.- i just spent 3 days on that shit xd
01:48
<ChillerDragon> i know you said you wanted to do it at some point but i thought you never started
Avatar
does the client know the server version?
Avatar
Are these files also being considered? The maps have some embedded images inside and also are inside DDNet data folder, so technically this should be true, but still want to be sure.
Avatar
ws-client BOT 2024-06-06 02:35:27Z
<ChillerDragon> dont think so @Tater
02:35
<ChillerDragon> but not sure
Avatar
I was thinking the same but I didn't look very hard
Avatar
ws-client BOT 2024-06-06 02:36:29Z
<ChillerDragon> i mean there is /info :D
02:38
<ChillerDragon> @jxsl13 @Learath2 how do go variable naming? if i have a struct node how do i call the instance variable?
02:38
<ChillerDragon> Seems like some people like single letter variable names those make me nervous. Is that really the good golang style?
02:40
<ChillerDragon> I can't call the struct Node because it should be private. I can't shorten it without being weird nod nd or using a single letter which seems wrong n. I can't prefix the struct with snode because nobody seems to do that ._.
Avatar
Avatar
ws-client
<ChillerDragon> i mean there is /info :D
wdym /info?
02:41
oh the server command lol
Avatar
ws-client BOT 2024-06-06 02:41:33Z
<ChillerDragon> ye you can scrape that from the chat message
02:41
<ChillerDragon> even commit hash :D
Avatar
I don't have any immediate use for it, I was just wondering if the server is already sending it (edited)
02:42
I just thought it is weird that the server uses client version to check for client capabilities but the client uses server cap flags to check for server capabilities. I figure they could both just use version?
Avatar
ws-client BOT 2024-06-06 02:43:38Z
<ChillerDragon> ouuu or should i call my struct huffmanNode ? but that is also discouraged if the package is already called huffman
02:44
<ChillerDragon> @Tater allows for custom servers implementing partial capabilities
Avatar
could call it huffTreeNode of HTreeNode or HNode
Avatar
ws-client BOT 2024-06-06 02:44:42Z
<ChillerDragon> oh right
02:44
<ChillerDragon> i could call it treeNode
02:45
<ChillerDragon> not too nice i like node -.-
Avatar
Avatar
ws-client
<ChillerDragon> @Tater allows for custom servers implementing partial capabilities
but the client doesn't get this privilege 😅
Avatar
ws-client BOT 2024-06-06 02:45:37Z
<ChillerDragon> then add that feature @Tater
Avatar
I'm not really interested in disrupting network protocol that much for something I don't need anyway lol
Avatar
ws-client BOT 2024-06-06 02:47:10Z
<ChillerDragon> disruptive technology is the future
02:47
<ChillerDragon> like 0.7
Avatar
yes but ddnet protocol is like blockchain, you can never delete it later
Avatar
ws-client BOT 2024-06-06 02:48:29Z
<ChillerDragon> so ddnet-pg is like bitcoin gold?
Avatar
ws-client BOT 2024-06-06 02:53:49Z
<ChillerDragon> the standard library should be the gold standard of ones language style guides right?
02:53
<ChillerDragon> So single letter instance variables it is ... :c
Avatar
ws-client BOT 2024-06-06 03:11:12Z
<ChillerDragon> they didn't even bother to call stringReader reader or something :D
03:11
The Go programming language. Contribute to golang/go development by creating an account on GitHub.
Avatar
morning peeps
Avatar
morning golang enjoyers and others
Avatar
60f3b5f Unify editor UI mouse handling with CUi - Robyt3 85888c3 Merge pull request #8456 from Robyt3/Editor-UI-MouseHandling - def-
Avatar
var node node ?
06:09
node := node{ // .... }
06:14
the twapi package is a framework to interact with Teeworlds servers and masterservers. It is slowly being developed to allow working with demos and maps as well as simulating a teeworlds client. Cu...
Avatar
Avatar
jxsl13
var node node ?
Damn golang looks horrible
Avatar
Avatar
Tater
I just thought it is weird that the server uses client version to check for client capabilities but the client uses server cap flags to check for server capabilities. I figure they could both just use version?
the server capabilities is so that custom servers can customize the client instead of opting into lots of ddrace features by version number
08:20
what can we do against reimplementing every simple library into every programming language?
08:21
so much wasted time, the computer already knows how to huffman-decode 12 ways, why can't we easily reuse that…
Avatar
ya think? i find golang to be pretty good in terms of readability
Avatar
golang in particular seems to have a "write it again yourself from scratch" sentiment, kinda like c
08:31
I see so many projects that implement tons of basic stuff in their repo instead of using library's idk why
Avatar
Avatar
heinrich5991
the server capabilities is so that custom servers can customize the client instead of opting into lots of ddrace features by version number
Yeah but some of them are used for stuff that the server has no reason to customize and should just be version based.
Avatar
I think go doesn't interoperate well with C ABIs, perhaps that's why
Avatar
Avatar
Tater
Yeah but some of them are used for stuff that the server has no reason to customize and should just be version based.
can you give an example?
Avatar
SERVERCAPFLAG_SYNCWEAPONINPUT
08:34
this is just a flag that says the server fixed a bug
Avatar
yea, I suppose that could be a version
Avatar
also SERVERCAPFLAG_PINGEX ?
08:37
someone wants to remove ping?
08:37
actually I have no idea what this does
Avatar
yea, that, too
Avatar
ok I guess it just changes the ping protocol
Avatar
it says that the server supports the better ping protocol
Avatar
yeah I see that now
08:40
I thought it was doing the reverse initially
Avatar
@Learath2 did you know go wastes cpu cycles on storing args/return values on the stack? oO https://dr-knz.net/go-calling-convention-x86-64.html
Note The latest version of this document can be found online at https://dr-knz.net/go-calling-convention-x86-64.html. Alternate formats: Source, PDF. Introduction This article analyzes how the Go compiler generates code for function calls, argument passing and exception handling on x86-64 targets. This expressely does not analyze how the Go …
Avatar
Blog for DoltHub, a website hosting databases made with Dolt, an open-source version-controlled SQL database with Git-like semantics.
Avatar
Avatar
heinrich5991
I think go doesn't interoperate well with C ABIs, perhaps that's why
Yep, it all has to go through cgo which is slow
Avatar
Avatar
Learath2
Yep, it all has to go through cgo which is slow
is there a way to fix that?
08:53
what would I need to do to create a go-native library?
08:53
I want to write it in a language that's not go
Avatar
Yes, gccgo doesn't have the same issue
Avatar
and it should compile using the standard go command, not cgo
Avatar
Ah you want the library to be go native but not in go. Hm, I think you have not much of a choice there
Avatar
how is the go standard library implemented? it needs to have some sort of (I'm missing the word here, backdoor?) so that it can implement syscalls, call winapi, etc..
08:56
chatgpt does not know the missing word here
08:57
@Learath2 does go have the ability to link go-native libraries in binary format? does it have a way of writing functions in assembly? (edited)
Avatar
iirc go does raw syscalls on linux
09:14
or maybe they changed that
Avatar
but how does it do them? compiler support?
09:16
or can you somehow express syscalls in go, e.g. via assembly?
Avatar
Uhm, you can link to assembly, they generate syscall stubs which they call into (edited)
Avatar
Avatar
Learath2
Uhm, you can link to assembly, they generate syscall stubs which they call into (edited)
a-ha!
09:17
so I can compile my non-go library (using go calling convention) to assembly and then link to it using go?
09:18
This document describes Go’s internal application binary interface (ABI), known as ABIInternal. Go’s ABI defines the layout of data in memory and the conventions for calling between Go functions. This ABI is unstable and will change between Go versions. If you’re writing assembly code, please instead refer to Go’s assembly documentation, which describes Go’s stable ABI, known as ABI0.
Avatar
Oh actually, they don't do this entirely in asm anymore. They ported the argument preparation and return retreival to go. So there is only one part remaining and that's the very call itself. With RawSyscall
Avatar
Avatar
heinrich5991
so I can compile my non-go library (using go calling convention) to assembly and then link to it using go?
You'll have abi issues as ryozuki pointed out
09:22
But yes, you can sort of make it work if your library is ABI0 compatible
Avatar
why only sort of make it work?
09:23
ah, because it's abi0 intead of abiinternal? fair enough
Avatar
Calls between them work fine but there is some overhead iirc. (much much less than cgo)
Avatar
Avatar
Learath2
Calls between them work fine but there is some overhead iirc. (much much less than cgo)
this actually looks pretty cool. perhaps we should make a abi0-go-asm backend for llvm ^^
09:34
so that go can finally use libraries written in other languages without a lot of overhead
Avatar
Tbh, I don’t know how the calls to such libraries would look like from go. You need to mark your function abi0 on the assembly so go calls it with that convention. You’d have to generate a trampoline on the go side still even if empty
Avatar
why do I need a trampoline?
Avatar
I wonder if there is some deep dark part of the library that has a way to cast an unsafe uintptr to a function pointer to an abi0 function
Avatar
have to go (haha) now, but I'm interested in getting back to this. write your comments, I'll read them
Avatar
Avatar
heinrich5991
why do I need a trampoline?
Say you load your new library into memory. Put it into executable memory, how do you call into it? Get a pointer to the symbol, and cast it to a function pointer. Go will assume it’s ABIInternal when calling it, there is no way to mark that function pointer ABI0 afaik
09:39
Atleast not one I know, but I’m fairly new with go anyway so idk
Avatar
https://words.filippo.io/rustgo/ someone gave something like this a try
[русский [https://habrahabr.ru/post/337348/]] Go has good support for calling into assembly, and a lot of the fast cryptographic code in the stdlib is carefully optimized assembly, bringing speedups of over 20 times. However, writing assembly code is hard, reviewing it is possibly harder, and cryptography is unforgiving
Avatar
I swear discord are the worst in app dev
09:57
Since the last update I have to click a bit above
Avatar
Avatar
Learath2
https://words.filippo.io/rustgo/ someone gave something like this a try
ah nice, I had something like this in mind
Avatar
They took the trampoline approach though, not getting llvm to spit out abi0 compatible symbols 😄
14:28
spacex did a masterclass at the end aswell
Avatar
I DIDNT SEEE
14:29
FUUUUUU
🚂 1
Avatar
almost perfect, mostly, it was damn amazing
14:29
lmaoo rip watch replay
14:29
they lost a wing but it soft landed aswell
Avatar
chillerdragon BOT 2024-06-06 14:31:09Z
Eh wtf that works? How do I know which is type and which is variable then
Replying to @jxsl13 var node node ?
Avatar
chillerdragon BOT 2024-06-06 14:31:41Z
func nodder(node node) {}
14:41
you know by semantics
14:41
where a variable is expected, tue variable is used
14:41
the
14:41
and vice versa
Avatar
chillerdragon BOT 2024-06-06 14:43:27Z
Coming from C the Symantics im used to are swapped so it’s confusing
14:44
But ye is it good style to name variables the same as structs?
Avatar
Hostnames can't have spaces, but my printer announces it's name with spaces, does anyone know how one is supposed to encode spaces when tyring to resolve it using mdns?
Avatar
I called my node variable n
15:10
so, it doesn't matter how you call it
Avatar
Avatar
Learath2
Hostnames can't have spaces, but my printer announces it's name with spaces, does anyone know how one is supposed to encode spaces when tyring to resolve it using mdns?
figured it out, these things get a different hostname if they advertise a name with spaces and shit
Avatar
Avatar
jxsl13
I called my node variable n
I often use one letter names to annoy people that care about variable naming too much
Avatar
i use them all the time
17:33
as long as they're only rly used in like narrow scope
17:33
i thought everyone did that
Avatar
huffman is a fuckup in itself, good variable names will not help anyway, gotta comment your code for yourself and the rest of the world or do it like I did, iterate until the implementation works and be happy.
Avatar
Avatar
Ewan
as long as they're only rly used in like narrow scope
that's usually the go to tradeoff
Avatar
Original message was deleted or could not be loaded.
Well having a chat never hurts. Why did you expose the head hunter like this? 😄
19:18
ok ill delete
19:18
but 600k seems unreal
Avatar
If anyone is paying that much it's those companies he mentioned 😄
19:24
But yeah sounds a little insane to me too
Avatar
600k crazy
19:39
euro?
Avatar
at least not pounds 🙏
Avatar
fcbd1fb Fix worst local variable style offenses - ChillerDragon f494826 Merge pull request #8154 from ChillerDragon/pr_worst_style_offenders - Robyt3
21:07
4f4f326 Keep respawned players in multi view list on pvp servers - ChillerDragon 989a376 Merge pull request #8342 from ChillerDragon/pr_multiview_pvp - Robyt3
Avatar
zombietoad BOT 2024-06-06 21:39:16Z
hello is anyone still on irc
21:39
@deen @heinrich5991
21:40
i got banned from ddnet servers for EVA
21:40
i think it is not a fair ban
21:40
i am requesting unban
21:40
is @Lereath2 here
21:40
@Learath2 *
21:41
@snail
21:41
@skeith
21:41
is anyone here
21:41
@Q
Avatar
did u try to ping qshar
Avatar
zombietoad BOT 2024-06-06 21:42:13Z
idk
21:42
theres someone on irc named @Q
21:42
also KOG SUCKS
21:43
@Learath2 @snail @gdin @skeith @robyt
21:43
@murpi @deen
21:44
@melon
21:44
HELPPPPPPPPPPPPPPPPPPPPP
21:44
i need to play dummy drag race network
Avatar
Your help request has been received, your ban is now permanent. Thank you for contacting ddnet customer service
Avatar
zombietoad BOT 2024-06-06 21:45:50Z
NOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
21:46
i want permanent unban
21:46
not ban pls
21:47
@Learath2 is bully i want new judge
21:47
@deen pls wake up
21:47
the admins online are not nice
21:48
gdin was nice admin where did he go
Avatar
Your request for a new judge has been received. It will be processed in 10 to 12 months
KEKSad 2
Avatar
zombietoad BOT 2024-06-06 21:48:58Z
toxic ddnet leadership has pushed out the good staff :(
Avatar
This is the first time i've seen Learath having fun trolling someone. Respect zombie toad
21:49
That must be personal xD
Avatar
No more nice people around, you should probably just permanently leave this very toxic community
Avatar
i think your chances of success would be way higher had you pinged someone one time and left it there. also just depends on what you did for the ban in the first place
21:50
even if you didn't ping the right guy there are lots of eyes on the general chat so someone would have seen it anyway lol
21:50
i have personally seen deen humor tickets
21:50
like
21:50
just chill
Avatar
zombietoad BOT 2024-06-06 21:51:33Z
every second without ddrace is pain
21:51
i cannot take it
Avatar
good thing we have lan servers
Avatar
no points on lan servers
Avatar
Your request for an addiction counselor has been received. An addiction counselor will contact you within 2 to 4 weeks. We apologize for the delay
Avatar
zombietoad BOT 2024-06-06 21:54:25Z
@lagar help
21:54
@Lagar
Avatar
it's over dude
Avatar
zombietoad BOT 2024-06-06 21:54:50Z
ur turkish friend learath is hate me
Avatar
u think lagar can trump lerato
Avatar
zombietoad BOT 2024-06-06 21:54:57Z
pls tell him im nice
21:55
they both turk
21:55
they have bond
Avatar
i respect the effort
Avatar
zombietoad BOT 2024-06-06 21:56:49Z
@Learath2 i bet you dont even play ddnet anymore
21:56
you just keep admin so you can troll me
Avatar
Exactly, why else would I stay around?
Avatar
zombietoad BOT 2024-06-06 21:59:13Z
can you be nice for 1 time and unban me pls
22:00
@Learath2
Avatar
What were you banned for anyway? Were you being racist, botting or spamming this time?
Avatar
zombietoad BOT 2024-06-06 22:04:44Z
i told u i get ban for EVA
Avatar
I meant as in what ban were you evading?
Avatar
zombietoad BOT 2024-06-06 22:05:04Z
i never botted on ddnet
22:05
but i wasnt evading
Avatar
Ok, you were botting I see a ban for botting there
22:06
I'll give you one simple advice to avoid this happening in the future. Don't bot
Avatar
zombietoad BOT 2024-06-06 22:06:20Z
i have ddnet client
22:06
i do not have noby client
Avatar
DDnet client with some nice sprinkle of 🤖 perhaps
Avatar
zombietoad BOT 2024-06-06 22:07:14Z
no i have official build from ddnet.tw/downloads
22:11
i only used fire assist on fng 1 time
22:11
i never have bot on ddrace
22:13
@Learath2 are u still there?
Avatar
no I'm asleep
Avatar
zombietoad BOT 2024-06-06 22:17:45Z
pls unban me before you go sleep
22:17
@Learath2
Avatar
you'll have to wait until the mod who banned you for botting gets back, which will be tomorrow, which is when your ban expires anyway, try not to bot in the future
Avatar
zombietoad BOT 2024-06-06 22:18:09Z
i did not get banned for botting
22:18
i got banned for EVA
Avatar
we use EVA as short for botter
Avatar
zombietoad BOT 2024-06-06 22:20:25Z
i can send demo
22:20
i never bottted
22:20
wait u can check teehistorian
Avatar
not in bed I can't
Avatar
zombietoad BOT 2024-06-06 22:22:10Z
im top player like N9mkOik i would never bot
Avatar
zombietoad BOT 2024-06-06 22:29:22Z
@Learath2 ddnet needs usa admin
22:29
its racist for only having europeans
Avatar
I'm close enough to middle eastern, it's ok
Avatar
zombietoad BOT 2024-06-06 22:30:43Z
oh you are?
22:30
i love middle eastern culture
22:31
all woman should live in kitchen and not be seen by other men
22:31
now unban me please my brother
Avatar
Are you sure you aren't a racism bot?
Avatar
zombietoad BOT 2024-06-06 22:34:27Z
no i am human
Avatar
damn the double whammy
Avatar
zombietoad BOT 2024-06-06 22:36:49Z
make @gdin admin again
22:36
or @noby
22:37
noby hasnt played ddnet in years
22:37
he would make a perfect admin
22:39
@Learath2 are you still awake
22:41
@Learath2 did you receive my previous message
22:41
is anyone there
Avatar
what are you expecting to happen?
Avatar
zombietoad BOT 2024-06-06 22:42:29Z
i expect @Learath2 to respond
22:43
but i think hes falling asleep
22:43
@murpi can you help me now
Avatar
Interesting individual
Exported 257 message(s)