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-02 00:00:00Z and 2024-05-03 00:00:00Z
Avatar
ws-client BOT 2024-05-02 00:17:58Z
<ChillerDragon> > whatsapp doesn't get access to the contact book if you decline it.
00:18
<ChillerDragon> but whatsapp gets access to people in your contact book that did not agree to anything whatsapp related. So that is you violating the gdpr unless you asked all your friends if you can share their contact details with whatsapp.
00:23
<ChillerDragon> If you accept*
Avatar
Avatar
heinrich5991
and adding it wouldn't make browsers more secure either, IMO
lol? i actually do use adblocker and this thing has its own blacklist so i can choose to proceed or not
01:20
it really helps on surfing some fishy sites to grab some relatable info on old thing
03:14
c66886b Version 18.2 - def- 32e638c Update Swedish translations for 18.2 - furo321 46d81c3 Update Estonian translations (by Cammo) - def- c3b71ca Update traditional_chinese.txt - By622 1169eb1 Update simplified_chinese.txt - By622 47664bb update czech translations for 18.2 - dobrykafe 283ee84 update slovak translations for 18.2 - dobrykafe a6056bc Update Turkish translations for 18.2 (by Gokturk) - GokturkTalha cc4edf0 Update Turkish translations for 18.2 (by Gokturk) - GokturkTalha c6fddd5 Add Azerbaijanese translation (by Gokturk) - GokturkTalha a10106d Add new file to CMakeLists.txt - def- 6b6d4ed Add Azerbaijanese translation - GokturkTalha dfac906 fix style - def- 38cc87b Update spanish.txt - n0Ketchp 96a6d5e Update Turkish translations - GokturkTalha e8d3355 Update Turkish translations - GokturkTalha 3ec640b finish.txt - GokturkTalha 70fd5cf Add Azerbaijanese translation - GokturkTalha fbc45eb Add Azerbaijanese translation - GokturkTalha 4ec86b6 Add Azerbaijanese translation - GokturkTalha 5fe4e0f final - GokturkTalha f4ca622 Update Finnish language file - invalid-email-address 36abbfe Update Finnish language file - invalid-email-address 5571b4c Correct Finnish translations - invalid-email-address 69f4b1f Correct Finnish translations - invalid-email-address f24d208 Update data/languages/finnish.txt - def- d858aa4 Update brazilian_portuguese.txt - rffontenelle
03:15
Avatar
Avatar
ws-client
<ChillerDragon> but whatsapp gets access to people in your contact book that did not agree to anything whatsapp related. So that is you violating the gdpr unless you asked all your friends if you can share their contact details with whatsapp.
that is a fucked up way to get people to allegedly spy on us
03:28
b9ebdae Version 18.2 - def- a02ca7d Merge pull request #292 from ddnet/pr-18.2 - def-
Avatar
heino needs vacation
Avatar
ws-client BOT 2024-05-02 03:48:14Z
<ChillerDragon> @ReiTW how did you fix the nvidia debian 12 issue?
Avatar
hi chiller
Avatar
@ChillerDragon switch to your older kernel version which is still installed & doesn't panic, uninstall the newer version, and wait for debian to fix their shit
03:55
Actually it is alrdy fixed tho
Avatar
ws-client BOT 2024-05-02 03:59:37Z
<ChillerDragon> My laptop wasn't booting anymore and i did some stuff to make it boot again. I think that was also using the older kernel. But now apt update and install always compiles the nvidia patches and then fails.
03:59
<ChillerDragon> So if i switch to the new kernel everything latest it should just work?
04:00
<ChillerDragon> I am a bit scared
Avatar
You can always select which kernel version you want to boot up
04:10
If it is installed locally
04:11
My lap at work is using latest ddnet kernel version without any issue now
04:13
Apparently it is nvidia who fixed it
04:13
Hi. My workstation based on Debian 12 worked perfectly with nvidia driver till yesterday. Yesterday I have update Debian OS by apt-get update, apt-get dist-upgrade. A new version of linux.image is come with its new headers. This happens many tipe in the past. So now, when I try to reinstall the nvidia drivers I obtain the error: ERROR: modpo...
Avatar
Avatar
zhn
lol? i actually do use adblocker and this thing has its own blacklist so i can choose to proceed or not
yes, a blacklist can help. it's not something the user has to confirm for every HTTPS redirect
Avatar
Avatar
ws-client
<ChillerDragon> but whatsapp gets access to people in your contact book that did not agree to anything whatsapp related. So that is you violating the gdpr unless you asked all your friends if you can share their contact details with whatsapp.
chillerdragon: I do not think this is how the GDPR works
05:38
whatsapp might violate the GDPR here, but I don't think the end user is
Avatar
(as for whatsapp being GDPR-compliant, that hinges on a probably illegal treaty between the US and the EU, the first one was called "international safe harbor privacy principles", but was successfully challenged by max schrems and declared illegal in 2015. they then put up the next treaty called "privacy shield", which was declared illegal in 2020. then they just put up the next treaty "data privacy framework", which is likely illegal, too, but yet has to be declared as such by the ecj)
06:32
e2c02ea Remove useless operation in CUIRect SplitMid - ChillerDragon 2dbcb97 Merge pull request #8139 from ChillerDragon/pr_cui_noop - heinrich5991
06:43
@Jupstar ✪ xd
Avatar
so they didnt lie after all with needing a second power supply just for the CPU °-° (edited)
Avatar
How would I ping a server and measure the response time? Basically get these numbers, but on the command line or with some script
Avatar
use ping with the server ip? (edited)
Avatar
does port not matter?
08:15
thanks xd
Avatar
I am bad at networking lol
❤️ 1
Avatar
Avatar
Sans
I am bad at networking lol
ping is a very weak indicator. A much better approach would be traceroute ( MTR ), you can use WinMTR for this task for example.
Avatar
Avatar
Avolicious
ping is a very weak indicator. A much better approach would be traceroute ( MTR ), you can use WinMTR for this task for example.
indicator of what
08:32
response time?
Avatar
If you want to troubleshoot where the problem occurs, you have to diagnose the network at each turnpoint - done via traceroute. Just pinging a server is mostly used to check if the server is alive 🙂 But it doesnt give you a hint where its slowed down. So why traceroute? If a hoster has multiple peerings/upstreams, they can choose where your package should be coming from ( Border-Gateway-Protocol ( BGP ), is used for this task ).
Avatar
Avatar
Avolicious
If you want to troubleshoot where the problem occurs, you have to diagnose the network at each turnpoint - done via traceroute. Just pinging a server is mostly used to check if the server is alive 🙂 But it doesnt give you a hint where its slowed down. So why traceroute? If a hoster has multiple peerings/upstreams, they can choose where your package should be coming from ( Border-Gateway-Protocol ( BGP ), is used for this task ).
I (and I mean quite literally) only need the response time
08:37
i.e. if it's alive or not
08:37
so...
Avatar
okay 🙂 then you can just ping
Avatar
only servers that are alive should be in the serverlist – you could also check whether the server is in there (https://master1.ddnet.org/ddnet/15/servers.json)
Avatar
But be aware, if you extensive ping you can get blocked or in our case, we dont allow ICMP at all 🙂
Avatar
Then how does the ddnet client get server pings then?
Avatar
Avatar
Sans
Then how does the ddnet client get server pings then?
They use a built in method to get server data. Its not based on ICMP
Avatar
they check the ping while being connected to the server
Avatar
So to solve this ping/response time stuff. What do you want to achieve?
08:42
Pinging all servers?
Avatar
Avatar
Avolicious
So to solve this ping/response time stuff. What do you want to achieve?
Display this list, with about as much information as there is in the client, in any other environment, for example, a discord bot
Avatar
Avatar
Sans
Display this list, with about as much information as there is in the client, in any other environment, for example, a discord bot
Then I would suggest to use the HTTPS master, heinrich mentioned before
Avatar
(it doesn't have ping info though. but only live servers are listed there)
Avatar
Avatar
heinrich5991
(it doesn't have ping info though. but only live servers are listed there)
But ping/response time info is very location based. Its a bad indicator for a discord bot 😄
08:46
Even two players within the same country & city & street but different ISPs can get different pings to a server (edited)
Avatar
true
Avatar
And the https master is I'd say a trusted source
Avatar
Avatar
Avolicious
But ping/response time info is very location based. Its a bad indicator for a discord bot 😄
that's what im trying to solve
Avatar
You get all information in json ( great for parsing ). You dont have to wait for servers to respond
Avatar
with pytagora's theorem xd
Avatar
???
08:48
Now I am confused tbh
08:50
poggers2
Avatar
Avatar
Avolicious
Now I am confused tbh
  • Have a ping command to measure response time from discord user's pc to bot
  • Have whatever server is hosting the bot ping the ddnet server
  • Use Pythagorean theorem to get an approximate ping value for discord user's pc to ddnet server
(edited)
Avatar
Avatar
Sans
with pytagora's theorem xd
you want to calculate the "distance" between the user and the server using... pythagorean theorem? - just to be sure, are you talking about the good old a^2 + b^2 = c^2 ? XD
Avatar
Avatar
meloƞ
you want to calculate the "distance" between the user and the server using... pythagorean theorem? - just to be sure, are you talking about the good old a^2 + b^2 = c^2 ? XD
Yes
Avatar
well, sort of, yea
Avatar
The internet doesnt work that way, but he want to try
08:54
¯\_(ツ)_/¯
Avatar
using the pythagorean theorem implies that there's a right angle between the game server, the discord bot and the user
08:54
I see no reason to believe that there's a right angle there
Avatar
Avatar
Avolicious
The internet doesnt work that way, but he want to try
I am stoopid, but I still wanna try
08:54
just so I can prove myself wrong ig
Avatar
i mean if you assume a and b are the same size with a 90° angle, c could approx be the actual distance :D
Avatar
Avatar
Sans
I am stoopid, but I still wanna try
No, you can try it. But the internet just not works that way
08:55
You dont connect "directly" with a server. There are a few servers between you and the server
08:55
Datacenters, POPs and so on
08:56
I would suggest you to read up BGP ( Border Gateway Protocol https://www.cloudflare.com/learning/security/glossary/what-is-bgp/)
Avatar
Avatar
meloƞ
i mean if you assume a and b are the same size with a 90° angle, c could approx be the actual distance :D
But then we have to make sure that everyone of those 3 participants are in a perfect triangle
Avatar
Avatar
Avolicious
But then we have to make sure that everyone of those 3 participants are in a perfect triangle
yeah as already mentioned, this wont work """"properly"""", but i like his kind of thinking, pretty creative if you ask me :D (edited)
Avatar
Yeah it is indeed 👍
08:58
Maybe he had this theory in school some days ago & wanted to try it out
Avatar
days? it's been 8 years
08:59
I grew up trying to understand where in life that might be helpful and it popped up in my head yesterday when I was writing an interface for the master server data
Avatar
XD find the angle (a) between the server and the host and calculate it using tan(a) = a/c !!! (edited)
Avatar
im bad at math dumb
Avatar
wait.. was tan a/c ? or was that sin
Avatar
Avatar
Sans
I grew up trying to understand where in life that might be helpful and it popped up in my head yesterday when I was writing an interface for the master server data
can I see the project somewhere?
Avatar
Avatar
heinrich5991
can I see the project somewhere?
A typescript npm package for interacting with data from ddnet.org - Sans3108/DDNet
09:01
I named it 2 years ago when I had no idea what I was doing, I still dont, but I'm better than back then kek
Avatar
hey this is pretty neat - i might fall back to that in a discord bot with appropriate credit ofc catxplosion (edited)
Avatar
That'd be pretty cool PES_Cool
Avatar
naming your npm package "ddnet" is pretty presumptuous
Avatar
Avatar
Sans
I named it 2 years ago when I had no idea what I was doing, I still dont, but I'm better than back then kek
.
09:03
I might have to change it
Avatar
the package looks useful 🙂
tip 1
Avatar
So far it's loosely put together, and doesn't really offer much on top of what you can get by just parsing the json yourself, but I'm working on it :D
Avatar
Ah, because it remembered it. Can we add a http map download url to the ddnet master?
09:07
Right now we are sending it in the map data request package afaik, but adding it to the master to "prefetch" would be also neat, no?
Avatar
Avatar
Avolicious
Ah, because it remembered it. Can we add a http map download url to the ddnet master?
you can add a field to the JSON yourself. no need to wait for ddnet
Avatar
Avatar
Avolicious
Right now we are sending it in the map data request package afaik, but adding it to the master to "prefetch" would be also neat, no?
for the client? doesn't really seem necessary
Avatar
Other languages are inflexible and broken. Let's fix that.
10:16
A port of Sebastian Aaltonen's OffsetAllocator to Rust - pcwalton/offset-allocator
10:16
This is a port of Sebastian Aaltonen's OffsetAllocator package for C++ to 100% safe Rust. It's a fast, simple, hard real time allocator. This is especially useful for managing GPU resources, and the goal is to use it in Bevy.
10:16
cc @Jupstar ✪
Avatar
ws-client BOT 2024-05-02 10:26:03Z
<ChillerDragon> @heinrich5991 so whats the plan for #5949 and #7777 ? c:
Avatar
A high-performance, "quantum-inspired" Fast Fourier Transform (FFT) library written in pure and safe Rust. - QuState/PhastFT
Avatar
Avatar
ws-client
<ChillerDragon> @heinrich5991 so whats the plan for #5949 and #7777 ? c:
justatest
Avatar
@heinrich5991 quick question about style, currently adding indicator for team0mode, how am i supposed to actually call it, because int m_Team0ModeModeOffset for example looks ugly as hell, while int m_Team0ModeOffset might be confusing (edited)
Avatar
ws-client BOT 2024-05-02 11:16:14Z
<ChillerDragon> create a class Team0Mode and add a member int m_ModeOffset troll
Avatar
Avatar
ws-client
<ChillerDragon> create a class Team0Mode and add a member int m_ModeOffset troll
pepe_holy
Avatar
Avatar
meloƞ
@heinrich5991 quick question about style, currently adding indicator for team0mode, how am i supposed to actually call it, because int m_Team0ModeModeOffset for example looks ugly as hell, while int m_Team0ModeOffset might be confusing (edited)
why do you want to repeat "Mode"?
Avatar
because Team0Mode is its own name PRACTICE_MODE makes sense TEAM0_MODE makes less sense TEAM0MODE_MODE looks ugly
Avatar
just call it TEAM0_MODE then
11:32
like you suggested
11:39
aight - while im at it heinrich do you mind me refactoring team_flock to team0_mode then?
Avatar
you mean the team number?
Avatar
the enum TEAM_FLOCK and the TeamFlock member of Teams()
11:43
aswell as anything else associated with team0mode beeing called flock in the src atm
Avatar
TEAM_FLOCK → TEAM0_MODE doesn't seem to make sense
11:43
TEAM_FLOCK is 0
11:44
but TEAM0_MODE doesn't sound like a team name
Avatar
This is amusing to read 🍿
❓ 1
Avatar
void CTeamsCore::Team(int ClientId, int Team) { dbg_assert(Team >= TEAM0_MODE && Team <= TEAM_SUPER, "invalid team"); m_aTeam[ClientId] = Team; } vs void CTeamsCore::Team(int ClientId, int Team) { dbg_assert(Team >= TEAM_FLOCK && Team <= TEAM_SUPER, "invalid team"); m_aTeam[ClientId] = Team; }
Avatar
but team 0 isn't "team 0 mode"
11:45
team 0 mode is a mode that can be applied to teams other than team 0
Avatar
alright, just wanted clarification before unneccesarily doing work :P ty
Avatar
ChillerDragon: https://github.com/ddnet/ddnet/pull/5949 needs a (hopefully final) round of reviews?
While keeping 0.6 fully working and untouched this adds the option to connect via 0.7. The server browser now lists also 0.7 servers. The 0.7 skin system is only active for 0.7 connections and the ...
Avatar
https://github.com/BlaiZephyr/ddnet/commit/9bbe238159bfc655541a9c5b9ad00919fb6ac3b5 what da hell am i missing so it actually gets displayed.. dobry help also pls rate initial design, i gave it my all (edited)
🤣 1
Avatar
Avatar
heinrich5991
ChillerDragon: https://github.com/ddnet/ddnet/pull/5949 needs a (hopefully final) round of reviews?
I still can't quite wrap my head around the fact that we are merging a +6k -200 patch to add support for a dead fork. At least the patch seems to mostly be contained within conditionals that we'll never realistically get to remove but atleast can be folded out of the way
Avatar
Avatar
Ryozuki
epyc version
what do you like in particular?
Avatar
the diagnostics
13:20
new llvm version
13:20
u128 align is correct now too
13:20
but specially the diagnostics
Avatar
have you seen them used somewhere already? (edited)
Avatar
#[diagnostic::on_unimplemented( message = "the size for values of type `{Self}` cannot be known at compilation time", label = "doesn't have a size known at compile-time" )] pub trait Sized {}
13:21
std uses them
13:21
for example
13:21
now you can use them on ur own libs
Avatar
tbf they already had them before
Avatar
but i think it was std only
13:22
Rust now supports a #[diagnostic] attribute namespace to influence compiler error messages. These are treated as hints which the compiler is not required to use, and it is also not an error to provide a diagnostic that the compiler doesn't recognize. This flexibility allows source code to provide diagnostics even when they're not supported by all compilers, whether those are different versions or entirely different implementations.
13:22
also the debug unsafe assert preconditions
13:22
seems nice
13:23
they also did impl Read for &Stdin
13:23
but havent tried it to know how it looks
Avatar
yea, debug unsafe assert preconditions seem nice
13:25
however I saw it leading to not using these functions anymore inside std
13:25
because "slow"
13:25
sounds bad if you don't even use these functions yourselves
14:06
63c8172 Enforce UpperCamelCase for local variables - ChillerDragon fc18056 Merge pull request #8151 from ChillerDragon/pr_tidy_camel - def-
Avatar
Avatar
heinrich5991
yes, a blacklist can help. it's not something the user has to confirm for every HTTPS redirect
user will be able to make his whitelist if asked everytime
Avatar
Avatar
Sans
  • Have a ping command to measure response time from discord user's pc to bot
  • Have whatever server is hosting the bot ping the ddnet server
  • Use Pythagorean theorem to get an approximate ping value for discord user's pc to ddnet server
(edited)
but ping between user and bot is just ping between bot server and discord api server
Avatar
no, that's found in client.ws.ping i believe
14:33
with djs at least
14:34
between user and bot is literally how long it took the bot to respond to the user
Avatar
Avatar
Sans
between user and bot is literally how long it took the bot to respond to the user
you should ping bot directly then
Avatar
the bot does that yea
Avatar
how? you need the discord client to run your program to work
Avatar
when the user runs a ping command or similar, the bot takes the timestamp of the user's message, sends a new message, and then subtracts the first timestamp from the new message timestamp, and edits that message to display the response time
14:36
it's the most accurate approximation i can do with djs
14:36
idk if there's a better way
Avatar
but still user doesn't communicate with your bot directly, they do it via discord servers
14:38
you actually measure response time between you discord server and user
Avatar
Avatar
Sans
no, that's found in client.ws.ping i believe
could probably use this to offset the result
14:39
then
14:39
idk
Avatar
routing in world wide network is kinda unpredictable by third party observer
14:41
thats why http masterserver doesn't give you any info about ping
14:41
if you didn't connect manually
Avatar
no more winter, epyc
Avatar
Avatar
Ryozuki
cc @Jupstar ✪
sounds cool
Avatar
Avatar
Jupstar ✪
no more winter, epyc
everyday sauna lets gooo :D
Avatar
@Patiga if i might suggest you smth for your lib: https://docs.rs/virtual-fs/0.11.3/virtual_fs/ https://docs.rs/virtual-fs/0.11.3/virtual_fs/struct.ScopedDirectoryFileSystem.html it's not really documented and some decisions are a bit weird, but wasmer uses it for their WASI isolation. I use it now, works quite well
API documentation for the Rust virtual_fs crate.
A FileSystem implementation that is scoped to a specific directory on the host.
Avatar
what advantages do you see in using them?
Avatar
it scopes your filesystem operation to the given directory
Avatar
does it disallow symlinks?
Avatar
if WASI disallows it
15:21
this should too
15:21
or only inside that directory
Avatar
Avatar
furo
Looks great, also the code seems to work for me.
weird - because it doesnt for me XD
Avatar
cargo clean Removed 250209 files, 133.7GiB total ah yeah
kek 1
15:24
always nice
15:24
lmao
Avatar
Avatar
Patiga
does it disallow symlinks?
i'll add a test case for my lib and check it
Avatar
is another advantage that the api would then also work on wasi?
Avatar
i guess it would work on wasi anyway
Avatar
I would expect that to limit the scope of fs accesses to the ddnet directories, looking out for .. would be sufficient
Avatar
Are you testing on a LAN server? If you aren't, it won't work because you've done server changes as well.
Replying to @meloƞ weird - because it doesnt for me XD
Avatar
add a team0mode indicator. closes #8225 we are currently missing a fitting indicator, mine is just a placeholder to test functionality. I kindly asked Insanity and she might create something for us.

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 po...
Avatar
well i dunno if wasi allows reading from a config dir or smth, but i assume it can. maybe it also only allows it in the directory of the exe
15:27
haven't really read about it
Avatar
Avatar
Jupstar ✪
i guess it would work on wasi anyway
ah does rust with wasi have std::fs?
Avatar
Avatar
furo
Are you testing on a LAN server? If you aren't, it won't work because you've done server changes as well.
justatest
Avatar
Avatar
Patiga
ah does rust with wasi have std::fs?
yes that is basically the idea
Avatar
ah nice
Avatar
"Unlike many filesystem APIs, WASI filesystem is capability-oriented. Instead of having functions that implicitly reference a filesystem namespace, WASI filesystems' APIs are passed a directory handle along with a path, and the path is looked up relative to the given handle, and sandboxed to be resolved within that directory." "WASI filesystem hides some of the surface differences between Windows and Unix-style filesystems, however much of its behavior, including the semantics of path lookup, and the semantics of files, directories, and symlinks, and the constraints on filesystem paths, is host-dependent. WASI filesystem is not intended to be used as a virtual API for accessing arbitary resources. Unix's "everything is a file" philosophy is in conflict with the goals of supporting modularity and the principle of least authority."
15:29
Filesystem API for WASI. Contribute to WebAssembly/wasi-filesystem development by creating an account on GitHub.
Avatar
@Jupstar ✪ I managed to get ffmpeg encoding to work with my renderer btw, I can now render to mp4 🎉
Avatar
Avatar
Patiga
@Jupstar ✪ I managed to get ffmpeg encoding to work with my renderer btw, I can now render to mp4 🎉
oh nice, i tried hard to not depend on ffmpeg
Avatar
(currently using libx264rgb, I'll try to switch to AV12)
Avatar
but i can't get the MKV (webm) lib to work
Avatar
Avatar
Patiga
(currently using libx264rgb, I'll try to switch to AV12)
epyc
Avatar
Avatar
Jupstar ✪
oh nice, i tried hard to not depend on ffmpeg
why is that?
Avatar
Avatar
Patiga
why is that?
currently i only depend on very few c libs:
  • opus (only for converting legacy maps)
  • vorbis, no rust encoder implementation yet (also for legacy map converting)
  • ring, bcs no rust alternative
Avatar
i'd like to keep it.. but yeah if i don't get other stuff to work i'm also open to use ffmpeg 😄
Avatar
gotta say ffmpeg doesn't hold hands with its error messages, had to get tons of help from a friend with much more experience in encoding
Avatar
ffmpeg is horrible to use 😄
15:34
i still don't understand the ddnet implementation fully
15:34
i just want: "Hi here is RGB value, do you shit" - library
Avatar
the rust vrate for ffmpeg also had some really bad traps which I fell into, alongside with examples that don't work 😅
15:35
actually I just give ffmpeg rgb pictures rn
15:35
works just fine
Avatar
ah right you have no sound
15:35
but for video that is enough (edited)
15:35
*for
Avatar
well adding gpu-encoder support is even more horrible
15:37
i'd like to have the library i work with like this:
15:37
5-6 important options. rest nobody cares about for our use
Avatar
Avatar
Patiga
but for video that is enough (edited)
(once you got the ritual setup right, have the sacrificial lamb ready, and chanted the right chorus. that is the hard part)
Avatar
Avatar
Patiga
(once you got the ritual setup right, have the sacrificial lamb ready, and chanted the right chorus. that is the hard part)
do you use a ffmpeg binding
15:38
or a ffmpeg high level library
Avatar
I use ffmpeg-next
15:38
more high-level
15:39
although not high-level enough imo
15:39
ffmpeg is simply too complicated I guess
Avatar
it is
15:40
i defs want highest level possible, bcs i feel like the performance gain of doing everything your own is too small when most of the work happens inside ffmpeg anyway
Avatar
during our degbugging sessions, we already found some (non-critical) bugs in some of the ffmpeg-next functions
15:41
return codes that are not bein checked, a return code that is checked not quite right, a parameter that do absolutely nothing
15:41
and ofc the absolutely broken example for x264 encoding
Avatar
Avatar
Patiga
does it disallow symlinks?
apparently it does, lmao
15:47
i did not expect that tbh 😄
Avatar
same ^^
15:48
I do want symlinks to be followed in ddnet dirs tho
Avatar
especially bcs i already added tests for relative path that try to escape the isolation
Avatar
wait it allows or disallows symlinks]
Avatar
it does allow them
15:49
then that was my expected outcome ^^
Avatar
i wonder if wasi generally allows it
15:49
bcs the sys link cannot be created in first place
15:49
only by a "real" user
Avatar
Avatar
Jupstar ✪
"Unlike many filesystem APIs, WASI filesystem is capability-oriented. Instead of having functions that implicitly reference a filesystem namespace, WASI filesystems' APIs are passed a directory handle along with a path, and the path is looked up relative to the given handle, and sandboxed to be resolved within that directory." "WASI filesystem hides some of the surface differences between Windows and Unix-style filesystems, however much of its behavior, including the semantics of path lookup, and the semantics of files, directories, and symlinks, and the constraints on filesystem paths, is host-dependent. WASI filesystem is not intended to be used as a virtual API for accessing arbitary resources. Unix's "everything is a file" philosophy is in conflict with the goals of supporting modularity and the principle of least authority."
i mean it here says it's host-dependent
Avatar
I'm still unusure what the appeal of virtual_fs is for me, as checking for .. should be fully sufficient
Avatar
Avatar
Patiga
I'm still unusure what the appeal of virtual_fs is for me, as checking for .. should be fully sufficient
but if u add 3 different open_file version u might accidentially forget it in one
15:53
with a virtual_fs this cannot happen, except the impl is buggy
Avatar
yes, thats the advantage I see as well
Avatar
Avatar
Patiga
yes, thats the advantage I see as well
https://docs.rs/virtual-fs/0.11.3/virtual_fs/mem_fs/struct.FileSystem.html is also neat. i can now ship my executable without a data dir, since all mount points in my file system implementations are a variant of these virtual_fs file systems
The in-memory file system!
16:07
esp. nice for android. no need to deal with APK anymore 😬
Avatar
@Sedonya my favourite interaction
Avatar
Avatar
meloƞ
@Sedonya my favourite interaction
Thanks, but the free OpenAI API has run out for the day owo
Avatar
But I've already solved that problem, I have many ways around the restrictions 🫡
Avatar
static Foo *ms_pInstance; xd
Avatar
im stpid yoea
16:45
sry
Avatar
just noticed
Avatar
ah you deleted it
Avatar
irc remembers everything :P
16:51
should i prefix member vars of structs also with m_?
Avatar
i think so
Avatar
Hungarian notation, so i guess? even tho we dont 100% follow that iirc (edited)
Avatar
@meloƞ ^^
❤️ 1
Avatar
oh thaaaats good
Avatar
Easily the best part is Barrier::new() in const contexts. impl Read for &Stdin was surprising, if asked I'd have said it already existed 😄
19:00
I'm currently at peak dunning kruger with golang. I suddenly feel very comfortable with it
Avatar
its normal u feel comfy it's meant to be that way
Avatar
Avatar
Jupstar ✪
it does allow them
it's kinda hard to disallow them in a performant (or correct) way. the APIs aren't there IIRC
Exported 292 message(s)