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-05-17 00:00:00Z and 2024-05-18 00:00:00Z
Avatar
Avatar
AssassinTee
Working on something useful 🙂
What it's going to do?
Avatar
morning
Avatar
Morning GMT+3 enjoyers and others
Avatar
Morning systemd enjoyers and others
Avatar
hi after gym
07:36
now rust
07:36
gigachad
Avatar
Avatar
Ryozuki
hi after gym
Did you think about what you wanna do as a package Manager yet ? gigachad
07:47
Learn about Iroh and how to integrate into your own project.
Avatar
Avatar
meloƞ
Did you think about what you wanna do as a package Manager yet ? gigachad
hmm no but ill do something basic first
07:48
git based
Avatar
Avatar
Ryozuki
git based
owo
07:51
I thought about doing Something similar once with the declarative Part of nixOS for different Versions to Upgrade/downgrade and ease of linking different Versions But still easy to use (without having to manually specify each Version in a File)
07:53
Package Change python@2.7 you are using python3.0, are you Sure you want to Switch to Python Version 2.7? This will keep python3.0 installed But remove its symlink Something Like that
Avatar
thats pyenv
Avatar
Avatar
♂S1mple♂
What it's going to do?
It'll generate automappers for your tileset, you just need to configure each tile, but they're preconfigured. With the current state I can create an automapper for all of grass_main in under a minute
Avatar
Yesyesyes, now do that for clang where you want clang17 But clang-format 10 without having to manually Download Compile and symlink/move it to /User/bin
07:55
I would want IT to Work with Git Tags aswell as releases
Avatar
Avatar
AssassinTee
It'll generate automappers for your tileset, you just need to configure each tile, but they're preconfigured. With the current state I can create an automapper for all of grass_main in under a minute
That's interesting
Avatar
first thing i see xd
Avatar
The goal of this pr is to improve antiping player prediction https://github.com/ddnet/ddnet/assets/50572621/3111e860-4684-48d0-9121-c2881c7a6dc5 This change sends inputs that already arrived at the server to the clients ahead of time. Under normal circumstances it can make the antiping ~1 tick more up to date because by default the clients run 10ms (as controlled by cl_prediction_margin) ahead of server time. But for higher ping players it can help greatly if the other party is wi...
Avatar
chillerdragon BOT 2024-05-17 11:51:10Z
That is amazing! I wanted to have such tool for a while now. But was too lazy to build it. Seems quite complex.
Replying to @AssassinTee SimpleDDNetAutomapper.PNG
Avatar
chillerdragon BOT 2024-05-17 12:06:20Z
abuse
Replying to @heinrich5991 (I kicked them and set the channel +m, having no ability to communicate …
Avatar
bans chiller
Avatar
you’re banned
Avatar
looks like ipfs
13:13
with better marketing
Avatar
sadly i already use mold
Avatar
but good default for ppl who didnt change it
Avatar
true, i just need zen5
Avatar
@Jupstar ✪ why does the C ABI require 16 byte alignment for int128
13:34
when the cpu only needs 8 for efficient load/stores
13:34
AngryAwooGlitch
Avatar
Avatar
Ryozuki
when the cpu only needs 8 for efficient load/stores
bcs c must also run on my GPU
13:35
😏
13:36
tbh abi stability is such an impossible topic
13:36
but at least for debug mode i'd also like to see it on rust
13:36
simply bcs of hot reloading puposes
13:36
for release it should ofc prefer max perf
13:38
i'd already be happy if it's stable between two invocations of the same compiler
13:38
and per arch
Avatar
Avatar
Ryozuki
@Jupstar ✪ why does the C ABI require 16 byte alignment for int128
ackshully C does not define an ABI 🤓
Avatar
i was about to say it
13:41
but 👽
13:41
where is the C language
13:41
find it
Avatar
Avatar
Learath2
ackshully C does not define an ABI 🤓
so what does it?
13:42
the c call convention?
Avatar
C doesn't define a calling convention either
Avatar
so its gcc and clang?
Avatar
it's the OS
Avatar
i guess u simply mean alignment requirements
Avatar
x86 needs just 8 byte for efficient load store of a i128
13:43
but to interface with C u need to use 16
Avatar
In C and C++, on x86_64 Linux, alignof(__int128) is equal to 16. However, in Rust, align_of::<u128>() is equal to 8. C++: https://gcc.godbolt.org/z/YAq1XC Rust: https://gcc.godbolt.org/z/QvZeqK This will cause subtle UB if you ever try to use i128s across FFI boundaries; for example: C++: https://gcc.godbolt.org/z/PrtHlp Rust: https://gcc.godbolt.org/z/_SdVqD
13:44
this was fixed in rust 1.77
13:44
to be 16 too
Avatar
does c even have a 128 bit integer type standarized?
13:45
maybe in modern C
13:45
idk actually
13:45
but i think it’s extensions
Avatar
Ah, I do have an idea why they do 16 byte alignment
Avatar
Avatar
Ewan
maybe in modern C
C23 defines a int with arbitrary size i think
13:47
constexpr size_t K = /* compile time value */; typedef _BitInt(K) color; struct RGB { color R; color G; color B; }; /* sizeof(RGB) == 3 * K */
Avatar
Avatar
Ryozuki
simd?
this was my guess but I couldn't find a source for it
Avatar
simd requires 16byte align
Avatar
I meant as in a source that states that that is indeed the reason
Avatar
friendly reminder:
13:52
13:52
that is what i call an alignment
13:53
16 bytes ,pff
Avatar
whats that from
13:53
gpu?
Avatar
yes
13:53
allocating memory for a texture
Avatar
why that alignment?
13:54
is that the bus transfer alignment or smth
13:55
explain gpu expert
Avatar
well i guess it has to do with such things yeah, but why exactly i dunno. could also simply be that when 2000 shader cores read from memory it sucks latency wise if they are too close
13:55
guess u'll need to ask chairn
13:56
i wonder anyway when GPUs actually cache memory vs when not
13:56
it's different to CPUs
13:56
time to sneak into nvidia corp
14:02
@Ryozuki do you often have to interact with low level stuff like alignment when working on your compiler? or does llvm abstract most stuff away and u just sometimes hit those?
Avatar
you pass a data layout to llvm
14:06
and it handles those in store,loads and allocas
14:06
but the hack here is that when we want to call a function of the program from jit or as a lib we need to care (edited)
14:06
xd
Avatar
friday
14:19
rust
14:19
@Jupstar ✪
Avatar
Avatar
Ryozuki
@Jupstar ✪
i updated quinn and rustls and have a bug now
14:21
epyc friday rust moment
Avatar
I did dig around a bit out of curiosity. Intels optimization guide for Intel 64 bit processors suggests that instructions that move data operate best with destinations that are aligned to the natural alignment of the type
14:23
Also, store to load forwards for 128-bit integers don't stall the pipeline if the destination of the load is aligned to the natural size
14:27
Finally I think it also allows compilers to optimize using SIMD registers to move 128 bit values more efficiently
14:28
http://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-optimization-manual.pdf here is what I was digging around it, mainly section 3.6.4, observe that the table only guarantees non stalled 128 bit store to load forwarding if both the store it naturally aligned and the load is from a dqword aligned address (also the natural alignment)
Avatar
Enough is enough with that thicket of code impeding nearby work, trapping the unwary, discouraging the inexperienced, and exhausting veteran developers!
Avatar
Avatar
Learath2
http://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-optimization-manual.pdf here is what I was digging around it, mainly section 3.6.4, observe that the table only guarantees non stalled 128 bit store to load forwarding if both the store it naturally aligned and the load is from a dqword aligned address (also the natural alignment)
interesting, thanks
Avatar
dead chat
16:50
did we have trouble with ai prs and commits?
Avatar
Avatar
Ryozuki
dead chat
u
Avatar
we should ban them to make a marketing pr post
16:50
gigachad poggers2
16:51
@Scrumplex did u have issues with ai prs
Avatar
imagine beeing called "osnews" and having a typo in your url
16:51
gentoo bands? what kind of music they playing!
16:52
i hate mobile
Avatar
"Gentoo Council" lmao
16:54
100 users have a council
16:54
to feel better
Avatar
i like this one: This is a disturbing trend. The AI kids believe they can automate software engineering with AI chatbots yet they not even know what the software development process of software is. And they are very confident of what they don't have experience about A call it the new cargo cult programming
Avatar
Avatar
Jupstar ✪
to feel better
don't be jealous you don't have a cool council making your decisions
Avatar
the problem is, aren't gentoo ppl also rather script kiddies than actual software architects?
Avatar
Avatar
Jupstar ✪
the problem is, aren't gentoo ppl also rather script kiddies than actual software architects?
oh god what have you done, ryo will launch all his fishies at once
Avatar
i mean they don't develop the software themself do they?
Avatar
They do develop some software, mostly distro management stuff like the package manager
16:56
Also in the past they maintained a fork of eudev when eudev took the systemdpill, and ofc the most important, they maintain OpenRC
16:57
Well technically nowadays openrc has split off a bit more, but it's still mostly the same people
Avatar
ping
pepeangryping 1
Avatar
There is also the linux kernel patchset they maintain for gentoo
Avatar
@melon
16:58
@meloƞ
Avatar
Are you having a stroke?
Avatar
Kinda
16:58
Sorry to interrupt haha
Avatar
rip, you'll be missed
Avatar
Avatar
Learath2
rip, you'll be missed
oh, that's very kind
Avatar
!ban fokkonaut 0
Avatar
❤️
Avatar
i wanna know if NixOS will follow the same path in declining PR's that used AI
17:00
espacially because NixOS changes daily, whatever the AI spits out, is 99% wrong :D
17:03
i find it so interesting that we're all playing the same game and contributed to such - but everyone has his own preferences and does things differently, we have ~10 people in here activly chatting and every single one codes differently. Their environment, their toolchain, OS - it all differs at some point and i find that quite interesting. (edited)
Avatar
diversity is our power
Avatar
I'm still using windows and visual studio 😤
cat1 1
17:09
xDD
Avatar
That's okay, we still like you as is
❤️ 1
Avatar
yeah.. haha hides knive we respect you totally!!
Avatar
Avatar
meloƞ
i find it so interesting that we're all playing the same game and contributed to such - but everyone has his own preferences and does things differently, we have ~10 people in here activly chatting and every single one codes differently. Their environment, their toolchain, OS - it all differs at some point and i find that quite interesting. (edited)
I think that kind of diversity can be applied to all human beings
❤️ 1
Avatar
Avatar
Ryozuki
@Scrumplex did u have issues with ai prs
nope :o
17:18
@meloƞ right now
crythumbsup 1
Avatar
Avatar
meloƞ
i find it so interesting that we're all playing the same game and contributed to such - but everyone has his own preferences and does things differently, we have ~10 people in here activly chatting and every single one codes differently. Their environment, their toolchain, OS - it all differs at some point and i find that quite interesting. (edited)
this channel is also a rust sanctuary
17:20
church*
17:20
in rust we trust
Avatar
my instance died again :^( (edited)
Avatar
@meloƞ we also discuss compilers, C stuff, abis, the meaning of life and more
Avatar
Avatar
Ryozuki
@meloƞ we also discuss compilers, C stuff, abis, the meaning of life and more
!!
Avatar
will ur kid learn rust? 🧐
Avatar
at the age of 6 she will learn assembly, at the age of 8 she will learn how to build her own phone
Avatar
rust will be learned to write the phone's backend
Avatar
make sure to make her wear the appropiate programming socks
Avatar
Avatar
Ryozuki
@meloƞ we also discuss compilers, C stuff, abis, the meaning of life and more
I'm always here to provide any knowledge you need from the old world
Avatar
i will buy her some!
Avatar
Avatar
Learath2
I'm always here to provide any knowledge you need from the old world
is it old if its needed?
17:28
learn the sys v abi by memory
17:28
the abi wizard
Avatar
It's not needed. You must be doing things wrong. Have you considered just using python?
Avatar
Avatar
Ryozuki
learn the sys v abi by memory
This is a bit of a useless exercise imo. Atleast the details. I know the outline of it and where to look when needed instead
Avatar
Is there any haskell enjoyers?
brownbear 1
17:29
use elixir
17:29
more useful
17:29
look at phoenix
Avatar
Avatar
MilkeeyCat
Is there any haskell enjoyers?
Deen used to be one iirc
Avatar
Avatar
Learath2
Deen used to be one iirc
He's the only one i know about
Avatar
but rust covers my functional needs already
Avatar
He made real time gif thingy in haskell
Avatar
who doesnt love lazy iterators
Avatar
Avatar
Ryozuki
use elixir
Let me tell you something funny. Most of my current job is migrating an old backend from elixir to golang
justatest 1
17:31
i guess they arent up to par
17:31
golang doesnt have a otp like elixir
17:31
elixir runtime is better for big scale
17:31
golang was made by google to train interna
17:31
interns
Avatar
If I understood correctly, their biggest snag was the lack of type safety
Avatar
its a stupid simple ez lang
17:32
ah ye
17:32
not like golang shines lmao
Avatar
i like golang °-°
Avatar
interface{}
17:32
elixir is improving that tho
Avatar
i have no real use-case for it - but i respect its existence :D
Avatar
Golang is statically typed. Interface{} is like a variant
Avatar
its the hack used before generics
17:33
its like having no type safety
Avatar
The worldwide Haskell community met up over beers today to celebrate their unprecedented discovery of an industry programmer who gives a shi...
Avatar
Avatar
Ryozuki
its like having no type safety
It's more like opt-in dynamic typing
17:33
Most of everything I write is statically typed
Exported 211 message(s)