Guild icon
DDraceNetwork
Development / developer
Development discussion. Logged to https://ddnet.tw/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 2023-03-03 00:00:00Z and 2023-03-04 00:00:00Z
Avatar
In this blog post, we are proud to introduce Oxy - our modern proxy framework, developed using the Rust programming language
08:03
We can say rust runs half the internet now kek
08:03
Since cloudflare is used by half the internet
Avatar
ChillerDragon BOT 2023-03-03 09:19:26Z
im sure cloudflare also uses shellscripts
09:20
i guess rust runs half the internet since its integrated in the linux kernel
Avatar
I like your constant arbitrary estimates
10:18
10:18
gigachad
10:18
By trusting its users instead of locking them in, Valve has produced one of the most exciting consumer tech products in years.
10:18
wish more did this
Avatar
Can someone tell me how i can display text with the cursor without the Outline or with a modified Outline? Mb what kind of flags do need? I'm tired, and I don't want to rack my brain reading code and debugging it step by step. The code there is confusing for me, need rack my brains for about an hour. For example the transfer modifiable lvalue ref without staging of but with default colors.
Avatar
Avatar
Kurosio
Can someone tell me how i can display text with the cursor without the Outline or with a modified Outline? Mb what kind of flags do need? I'm tired, and I don't want to rack my brain reading code and debugging it step by step. The code there is confusing for me, need rack my brains for about an hour. For example the transfer modifiable lvalue ref without staging of but with default colors.
Just make the outline transparent
11:11
Setoutlinecolor
Avatar
Avatar
Jupstar ✪
Setoutlinecolor
setter textcolor work finy, but setter outline color does not work, bindings CTextCursor, and TextEx
Avatar
Mhh they should work
11:14
Show your code then it's easier
11:15
Ah you need to use text containers. Apparently we set to default I dunno why
Avatar
Text containers allow to overwrite the build text color as u do. And additionally allow to set the render color
11:16
The problem is. Text has creation color and runtime color
11:17
Use text containers then u can control both
11:17
Textex will overwrite the runtime color
Avatar
Avatar
Jupstar ✪
Textex will overwrite the runtime color
All right, thanks, I'll give it a try
Avatar
Murpi best python dev
Avatar
no, heinrich is the best python dev
Avatar
Then u are his ghost writer
11:50
7dfa3a8 skin submission handler, implemented skin preview - murpii c43ba40 Merge pull request #43 from murpii/pr_skin_submission_cog - def-
Avatar
@Learath2 what do you think about allowing map download via ipfs?
14:45
probably a bad idea because it's a little bit p2p and might leak your IP address to someone else than just the server
Avatar
That'd be my only concern with it. Otherwise sounds like a good idea actually
Avatar
is there a way to make it safe-ish?
14:48
or is there no way to fix it (and it's a dealbreaker)?
Avatar
what if a map contains illegal material
Avatar
ipfs download would allow the client to download the map from anyone who offers it
Avatar
yeah so that guy is a upload in terms of law
Avatar
I don't understand how it relates to illegal material
14:50
ye
Avatar
uploading illegal material is sued more heavily than downloading
Avatar
ah, you mean if the client also provides the downloaded maps via ipfs
Avatar
i thought that was ur idea
14:52
another disadvantage would maybe be cable internet suffers a lot from uploading
Avatar
my idea was first that we could allow the client to download maps via ipfs
14:53
not upload
14:53
but upload is also interesting, though even more involved as you pointed out
Avatar
oh i actually thought that players host the map pool
Avatar
yea, that would make it a lot more resilient at least
Avatar
in that context i meant that p2p download is also an upload at the same time
Avatar
m1ner0❤❤❤❤ 2023-03-03 14:54:54Z
MODER PLEASE BAN @GTP_moriss10_25_GTP
Avatar
#reports
Avatar
yea, makes sense
15:00
@Learath2 mind muting @GTP_moriss10_25_GTP? he's apparently an ass in voice chat
Avatar
aren't you a discord mod?
Avatar
I don't see the option to do it
Avatar
phone uses.. ^^
Avatar
Mods can do it iirc I remeber giving that perm
Avatar
I'm on a computer
15:01
I guess I just don't have the rights
Avatar
I gave him a timeout instead. Couldn't see the mute button on mobile 😛
Avatar
^^
15:03
ah, interesting
15:03
didn't know timeout would work for that
15:03
but apparently that also prevents joining voice channels
Avatar
timeout prevents communication with the server
15:04
you could troll people by joining a voice channel and leaving it repeatedly
Avatar
Avatar
default
you could troll people by joining a voice channel and leaving it repeatedly
it makes a sound that most people don't have muted
Avatar
Avatar
Learath2
Mods can do it iirc I remeber giving that perm
we have server mute, yea
15:29
92ee15a Remove ban system, added response whether a server is official or not and quick join links - murpii 3834d50 Merge pull request #42 from murpii/pr_server_verification_and_remove_redundant_code - def-
Avatar
Avatar
heinrich5991
ipfs download would allow the client to download the map from anyone who offers it
probs mitigated by having lot of seeders?
Avatar
@Ryozuki what do you say to the new ryzens?
Avatar
the cpus?
15:51
i mean they look pog
15:51
i havent tried any
Avatar
i am a bit disappointed. it feels like AMD purposly made the clock lower so their next generation is again without x3d cache
15:52
similar to what they done with the ryzen 7000 series
Avatar
clock?
15:52
isnt the clock the ghz
15:52
arent they at 5.5
15:52
or smth
Avatar
i think they made it lower than the 7000 without x3d
Avatar
oh u mean
15:53
another generation than 7000?
15:53
where
15:53
i didnt know
15:53
thought u were talking about 7000
Avatar
i mean there is 7000 and
15:53
7000 x3d
15:53
xd
15:54
yeah x3d is not that worth ithink
Avatar
and the performance gain is relatively small. and i assume amd did that on purpose
15:54
but they are pretty energy efficient like they are
Avatar
Avatar
Ryozuki
Click to see attachment 🖼️
well boost clock is only single core i guess
15:55
when all cores are at 100% they probs at base clock
15:55
on mine
15:55
they all bost at like 0.10 less
15:56
but they all boost
15:56
when 100%
15:56
5800x boost is 4.7
15:56
single core it reaches 4.75 on mine
Avatar
then why do the x3d suck so hard xD
Avatar
when all cores are full they are at 4.6x
Avatar
and why would they lower the base clock
Avatar
i think the 3dx is faster due to cache?
15:57
not all is base clock i guess
Avatar
yeah, but then is the question if they purposly made them slower
Avatar
the 3dx has 120mb l3 cache
15:57
vs 64
Avatar
to not be much faster
Avatar
maybe its a limitation idk
Avatar
afaik, AMD also disallows overclocking on them
15:58
kinda weird xD
15:58
i smell a conspiracy
Avatar
maybe they are already at their maximal
Avatar
@Ryozuki you are biggest rust fan, I need an async db library, is sqlx still the goto?
Avatar
if u dont want a ORM yes
16:46
i kinda like sqlx a lot
16:47
also use the sqlx-cli
Avatar
I wonder if the Any driver improved any from the last I used it
Avatar
its a nice tool for migrations
Avatar
Yeah migrations are cool
Avatar
just dont use the any thing
16:47
sql is not that generic
16:47
its better to use postgresql
Avatar
and use its full potential
16:47
but idk about that, since i only use psql
16:47
psql is glory
16:47
psql is now my rust for dbs
Avatar
I'll just do sqlite
16:49
powered by rust and sqlx btw
16:49
and psql
16:50
@Learath2 if u want reference code: https://github.com/ZhyraPlugins/xivhub-market-api
16:50
ofc my website is open source
16:50
AGPL
16:50
nothing less
Avatar
im such a maximalist
16:50
look at main.rs
16:50
the denys
16:51
#![forbid(unsafe_code)] #![deny(warnings)] #![deny(clippy::missing_const_for_fn)] #![deny(clippy::nursery)] #![deny(clippy::pedantic)] #![allow(clippy::missing_errors_doc)] #![allow(clippy::module_name_repetitions)] #![allow(clippy::missing_panics_doc)]
16:51
pedantic kek
Avatar
@Learath2 btw i learnt that if u want to do a count
16:52
in psql there is no looose index
16:52
but u can do this
16:52
recursive CTE
16:52
my query went from 500ms to 60ms
Avatar
Avatar
ReiTW
Click to see attachment 🖼️
Sticker
Avatar
Loose indexscans are cool wechat_cool_guy
16:56
That's a cool trick, didn't know you could do that with psql
16:56
db people are just magicians
Avatar
indeed
Avatar
This is the most rust behaviour I've ever seen 😛
Avatar
@Learath2 i mean
18:20
clap is rly gud
18:20
and the most easy to use rn
18:20
where did u see this btw?
Avatar
I was just googling around for what is available nowadays found it on some guys blog
Avatar
ah well
18:20
its a blog
18:21
@Learath2 check this out
Avatar
It's classic rust user behaviour though. Everything is prescriptive 😄
Avatar
An unofficial guide to the Rust ecosystem
Avatar
Avatar
Learath2
It's classic rust user behaviour though. Everything is prescriptive 😄
smh
18:21
this is like judging an entire community cuz a guy blog post
18:22
altho i agree with clap
troll 1
18:22
its just so useful
18:22
u get manpages, help, etc
18:22
and bash autocomplete
Avatar
Avatar
Ryozuki
this is like judging an entire community cuz a guy blog post
It's just an example I found in the wild, it's very very common
18:22
Didn't you tear heinrich a new one because he didn't agree with clippy on some things? 😄
18:22
well i dont like to generalize
18:22
thats just how i am
18:23
im sure python ppl will tell u should use argparse
18:23
or smth
18:23
i havent touched much python
Avatar
The only problem I'd ever have with clap is it's insane binary inflation
Avatar
you last used sqlx in 2021
Avatar
An entire extra 500kb or so just to parse command line arguments
Avatar
This is very cool. I was looking for something like this
Avatar
u should disable default features
18:24
and enable what uwant
Avatar
lexopt looks about what I like in my argparse
18:26
@Learath2 if u are logging
18:26
use tracing
18:26
its overtaking log
Avatar
Yeah, that's what I went for
18:27
log with async wouldn't be very nice anyway
Avatar
tracing works without async too
18:27
and its just superior
18:27
objectively
18:27
if u use all the features its rly nice
18:27
spans etc
18:27
and instrumentation
Avatar
Yeah spans are cool
Avatar
u put #instrument
18:28
on top of a function
18:28
it logs all calls with the args
18:28
and u can skip verbose args
18:28
like the db connection xd
18:29
also use once_cell over lazy static
18:29
im sure u will use regex
18:29
ur doing the bot right
Avatar
Yeah, I'm finally giving it another go now that I have a little free time
18:29
There are some very annoying bugs in it
Avatar
@Ryozuki what are your top5 crates? xd
Avatar
tracing, tokio, rand, sqlx, itertools
18:30
oh
18:30
the obvious 1st is
18:30
serde
18:30
serde is a engineering miracle
18:30
cant say it enough
18:31
its stupid fast and convenient xd
18:31
if u dont need as much options u can also use mini serde
18:31
it doesnt support renaming and such
Avatar
serde really feels like magic
Avatar
it rly is godlike
18:31
there is no match even on corpo langs like java
18:31
its superior
Avatar
why does it feel like magic to you? xd
Avatar
did u ever use it?
18:32
it supports renaming, renaming in X convention, struct flattening, enum tagging, etc
Avatar
yeah, but i mean what makes it magic to you? to me its rust macros that enables serde's power
Avatar
All the proc macro magic makes it insanely easy to use
18:32
its just rly easy to use
18:32
e.g in the js json world they like their stupid namingSense
18:32
so renaming to rust naming_sense is rly easy
Avatar
Avatar
Jupstar ✪
yeah, but i mean what makes it magic to you? to me its rust macros that enables serde's power
Well, if I hand you just proc macros, it'd be pretty hard to implement something like serde, that's why it's impressive I guess
Avatar
its also blazing fast
18:33
it uses a visitor pattern iirc
Avatar
i have to say if tokio would have condition variables i like: 1. tokio 2. rayon 3. bincode (uses serde internally) 4. flate2 (bcs really ez to use) 5. ash (bcs vulkan, no other reason xd)
Avatar
DOM STRUCT ======= serde_json ======= parse|stringify ===== parse|stringify ==== data/canada.json 320 MB/s 430 MB/s 580 MB/s 310 MB/s data/citm_catalog.json 420 MB/s 560 MB/s 710 MB/s 880 MB/s data/twitter.json 300 MB/s 910 MB/s 550 MB/s 1060 MB/s ==== rustc_serialize ===== parse|stringify ===== parse|stringify ==== data/canada.json 150 MB/s 67 MB/s 120 MB/s 46 MB/s data/citm_catalog.json 210 MB/s 180 MB/s 140 MB/s 210 MB/s data/twitter.json 120 MB/s 330 MB/s 87 MB/s 350 MB/s ======= simd-json ======== parse|stringify ===== parse|stringify ==== data/canada.json 380 MB/s 470 MB/s 580 MB/s data/citm_catalog.json 720 MB/s 760 MB/s 1220 MB/s data/twitter.json 810 MB/s 890 MB/s 1050 MB/s c++ ==== rapidjson-clang ===================== parse|stringify ==== data/canada.json 380 MB/s 200 MB/s data/citm_catalog.json 680 MB/s 1090 MB/s data/twitter.json 320 MB/s 600 MB/s ===== rapidjson-gcc ====================== parse|stringify ==== data/canada.json 390 MB/s 250 MB/s data/citm_catalog.json 890 MB/s 1650 MB/s data/twitter.json 440 MB/s 870 MB/s
Avatar
but i also dont know too many tbf
Avatar
Avatar
Jupstar ✪
i have to say if tokio would have condition variables i like: 1. tokio 2. rayon 3. bincode (uses serde internally) 4. flate2 (bcs really ez to use) 5. ash (bcs vulkan, no other reason xd)
those are nice
18:34
bincode is rly nice
18:35
i use it to pack ffxiv item data
18:35
rayon is also good
18:35
thanks to rust
Avatar
egui is also nice u want a gui that is ez to use in a custom engine. But generally i woudnt say its the greates UI lib
Avatar
ye egui is nice
18:36
immediate mode
18:37
oh and cli tools
18:37
fd > find exa > ls
18:37
ripgrep > grep
18:37
dust > du
18:37
delta > whathever diff tool u use
18:37
sd > sed
18:38
bat is a nice cat with highlighting
18:38
u can even use it in vim to have preview code with highlight
18:39
thanks for coming to my ted talk
Avatar
Avatar
Jupstar ✪
i have to say if tokio would have condition variables i like: 1. tokio 2. rayon 3. bincode (uses serde internally) 4. flate2 (bcs really ez to use) 5. ash (bcs vulkan, no other reason xd)
alkahest > bincode change ma mind xd
Avatar
i configured with -DVULKAN=OFF but am still getting this error from cmake in the generating step CMake Error: The following variables are used in this project, but they are set to NOTFOUND. Please set them or make sure they are set and tested correctly in the CMake files: /home/mint/Downloads/TaterClient-ddnet-master/VULKAN_INCLUDE_DIRS used as include directory in directory /home/mint/Downloads/TaterClient-ddnet-master VULKAN_LIBRARIES linked by target "DDNet" in directory /home/mint/Downloads/TaterClient-ddnet-master
20:25
seems like someone oops'd on the cmake
Avatar
Avatar
Ewan
i configured with -DVULKAN=OFF but am still getting this error from cmake in the generating step CMake Error: The following variables are used in this project, but they are set to NOTFOUND. Please set them or make sure they are set and tested correctly in the CMake files: /home/mint/Downloads/TaterClient-ddnet-master/VULKAN_INCLUDE_DIRS used as include directory in directory /home/mint/Downloads/TaterClient-ddnet-master VULKAN_LIBRARIES linked by target "DDNet" in directory /home/mint/Downloads/TaterClient-ddnet-master
can u try on ddnet github
20:26
i wonder if its simply bcs its outdated
Avatar
our 32bit build for example does not use vulkan
20:27
and when u reconfigure always try a clean build dir
Avatar
sometimes its weird af
Avatar
it's usually the cmakecache that's the issue when you have reconfiguration issues on a dirty build dir (edited)
20:27
which will only be created if the makefile generation step succeeds
20:28
works on latest
Avatar
but who'd want to turn off vk anyway 😉
Avatar
probably me who oops'd on the cmake
Avatar
Avatar
Jupstar ✪
but who'd want to turn off vk anyway 😉
i like vulkan and use it normally
Avatar
;9
Avatar
but im on a linux live cd rn where using vulkan would require getting official nvidia drivers & rebooting... which i can't do (edited)
Avatar
rip xd
Avatar
im waiting on the creation of 2 500GB disk images and 1 1TB disk image
20:30
20:30
need something to keep me occupied
Avatar
oh hey apparently nouveau can do vulkan now... not performing well though
Avatar
generally dont expect good perf on nvidia if u dont use the real drivers
20:40
even on ogl
20:40
it's chugging pretty hard
20:40
this is pretty much worse than having no driver tbh
20:42
theoretically getting 45 fps but that feels generous
20:43
i can squeeze out 150 at 1080p. meh
Avatar

Checklist

  • [X] Tested the change ingame
  • [ ] Provided screenshots if it is a visual change
  • [ ] Tested in combination with possibly related configuration options
  • [ ] Written a unit test (especially base/) or added coverage to integration test
  • [ ] Considered possible null pointers and out of bounds array indexing
  • [ ] Changed no physics that affect existing maps
  • [ ] Tested the change with [ASan+UBSan or valgrind's memcheck](https://github.com/ddnet/ddnet/#using-addres...
Avatar
But first, a minute of silence for anyone reading this from a Linux desktop machine.
>
...
23:00
Some bugs are merely fun. Others are simply delicious! Today's pick is the latter. Reproducing the issue, part 1 ...
Avatar
dc2601f Fix opening file in editor with enter not working after searching - Robyt3 75d3717 Disable editor file browser hotkeys while another popup is open - Robyt3 4cd2c29 Merge #6376 - bors[bot]
Avatar
can something be done about the obnoxious mouse grab
23:10
when the game is in windowed mode & the user isn't using the mouse in game (in chat, in console, in menus, w/e), it should not capture the mouse
23:10
but it still does
Avatar
press f1 to workaround
Avatar
it would be nice if it behaved that way when in chat or menus as well, because there's no difference in intended mouse behavior among those
Avatar
there's probably an issue about that somewhere
23:21
and probably people who will complain if it were changed this way
Avatar
why on earth would they
23:29
i don't see why someone would want their mouse trapped in the game window unless they were using it to play the game
Avatar
mouse sense changes
Avatar
does the game have its own cursor movement code for the UI
23:43
i would have assumed it just does what the OS does
23:44
or do u need raw mouse input on for that
23:44
either way i'm not really buying it
Exported 320 message(s)