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 10/19/2023 12:00AM and 10/20/2023 12:00AM
Avatar
Avatar
TsFreddie
Click to see attachment 🖼️
almost a perfect meme if the bottom right actually wrote SSL instead of SNL lmao
Avatar
Morning 🍵
Avatar
@Jupstar ✪ have any controversial or interesting topics crossed your mind today?
8:01AM
This for example?
8:01AM
very interesting web development
Avatar
Avatar
Teero
@Jupstar ✪ have any controversial or interesting topics crossed your mind today?
Jupstar ✪ 10/19/2023 10:07AM
Yes. When do robots finally replace my boring useless work
Avatar
Avatar
Jupstar ✪
Yes. When do robots finally replace my boring useless work
Interesting. A war could help
10:39AM
In times of need people will be forced to innovate.
10:39AM
Let's start a war
Avatar
Jupstar ✪ 10/19/2023 10:39AM
No
10:39AM
This is a common miss thinking
10:40AM
The golden ages for humans were in longer peace times
Avatar
Avatar
Jupstar ✪
Yes. When do robots finally replace my boring useless work
what do u do at work
Avatar
Avatar
Ryozuki
what do u do at work
Jupstar ✪ 10/19/2023 10:40AM
Coding xd
Avatar
Welp I mean if everything is at peace and everyone is happy then it's good and people have free time.
10:41AM
to think of new things
Avatar
Avatar
Teero
Welp I mean if everything is at peace and everyone is happy then it's good and people have free time.
Jupstar ✪ 10/19/2023 10:41AM
Yes. In fact most innovative ppl are not poor
Avatar
the world is ending
Avatar
Jupstar ✪ 10/19/2023 10:41AM
So pressure is not a motivator
Avatar
So ideas come from boredom ig
10:42AM
Mb
Avatar
Jupstar ✪ 10/19/2023 10:42AM
I think they come only from motivation
10:43AM
But having to think about, if u can manage life, does not help
10:43AM
E.g. being poor and forced to work
Avatar
Avatar
Jupstar ✪
But having to think about, if u can manage life, does not help
Hmm true
10:45AM
My classmate says necessities makes inventions
Avatar
Jupstar ✪ 10/19/2023 10:46AM
I'm really not sure about it. We have enough knowledge to print houses etc. But we don't do it
10:46AM
Because rich society and/or politics doesnt seem interested
Avatar
It isn't necessary to print houses
10:47AM
Doesn't have enough gains
Avatar
Jupstar ✪ 10/19/2023 10:47AM
Rich Africans dont built wells
10:48AM
I'd say it's a matter of motivation to see the problems and actually wanting to solve them. And it's a societally effort
10:49AM
Some problems are simply complex and need lot of workers etc
Avatar
Avatar
Teero
My classmate says necessities makes inventions
Jupstar ✪ 10/19/2023 10:50AM
But yes i could imagine that this could at least be a starting factor to talk about it more
10:50AM
Like if climate crisis hits harder. We will think about it more. But if we unlucky it will actually even demotivate ppl
10:50AM
We'll see
10:51AM
I guess there is no definite answer^^
Avatar
thx for convo school is boring ^^
10:52AM
I might just invent something new
Avatar
Jupstar ✪ 10/19/2023 10:52AM
Creating something is also a matter of discipline
10:53AM
Sometimes it's hard and annoying and boring
10:53AM
And if u give up because of that.. rip
Avatar
Avatar
Jupstar ✪
So pressure is not a motivator
There are a couple things that were greatly accelerated by war and insane war budgets. The jet engine and radar technology both come to mind. Also the tiny vacuum tube transistors the US got made.
Avatar
Avatar
Jupstar ✪
I'm really not sure about it. We have enough knowledge to print houses etc. But we don't do it
Isn't it just less efficient than the precast concrete buildings we make nowadays?
Avatar
Avatar
Learath2
There are a couple things that were greatly accelerated by war and insane war budgets. The jet engine and radar technology both come to mind. Also the tiny vacuum tube transistors the US got made.
Jupstar ✪ 10/19/2023 11:04AM
I bet the science behind these technologies were invented long before and probably not even by the military
11:04AM
So the missing piece was cheap labor force or whatever was expensive about these processes
Avatar
Avatar
Jupstar ✪
I bet the science behind these technologies were invented long before and probably not even by the military
That's true. Most was already discovered. Just needed the stupid levels of war budget
Avatar
Avatar
Learath2
Isn't it just less efficient than the precast concrete buildings we make nowadays?
Jupstar ✪ 10/19/2023 11:06AM
Depends on the size of the buildings i guess. But in the end it probably also doesn't matter how high the price is.. at least in European countries u are probably low on humans rather than money xd
Avatar
Avatar
Jupstar ✪
Depends on the size of the buildings i guess. But in the end it probably also doesn't matter how high the price is.. at least in European countries u are probably low on humans rather than money xd
I'd actually argue it's neither money nor labour. It's just not good for the old people in charge to build more. If they build more their own homes lose value
Avatar
Jupstar ✪ 10/19/2023 11:09AM
Xd
Avatar
If they needed workers they would import them from wherever. When germany needed workers turkey was happy to oblige
Avatar
Jupstar ✪ 10/19/2023 11:09AM
True
Avatar
Avatar
Teero
@Jupstar ✪ have any controversial or interesting topics crossed your mind today?
As @zogtib / (gotroyb) would say C99 is the best language to build upon. But it still has problems. tee_thinking. So if the best things have problems why do invent new things which are easier to grasp at first but got more problems? Maybe it's because we want ppl to use smt that will not inovate things. (btw do not take this serious I just typed a word which would make sense after the previous with the context.) (edited)
Avatar
Avatar
Mr.Gh0s7
As @zogtib / (gotroyb) would say C99 is the best language to build upon. But it still has problems. tee_thinking. So if the best things have problems why do invent new things which are easier to grasp at first but got more problems? Maybe it's because we want ppl to use smt that will not inovate things. (btw do not take this serious I just typed a word which would make sense after the previous with the context.) (edited)
I read the msg and I can't remember a single word
11:28AM
C best language tho
Avatar
See this I just typed a word which would make sense after the previous with the context. worked
Avatar
ghostGPT
Avatar
It was I.
Avatar
Most annoying thing (my opinion) with not C programming languages is that they don't actually fix the many problems C has but instead add many other and very annoying problems. So, in the end, C is still a very good option, which is sad, because something with less problems would worth it (if it actually has less problems).
Avatar
wrong opinion
11:37AM
rust fixes the biggest issue with C, it prevents memory unsafety (not totally, but an improvement is better than nothing), it also helps preventing data races
11:37AM
u just dont want to accept progress
11:38AM
the only place where rust is less right now is: support for obscure platforms (which is not a problem of the language itself, but a problem of the compiler backend implementation), and compile times (atleast vs C which compiles fast iirc)
Avatar
Avatar
zogtib
Most annoying thing (my opinion) with not C programming languages is that they don't actually fix the many problems C has but instead add many other and very annoying problems. So, in the end, C is still a very good option, which is sad, because something with less problems would worth it (if it actually has less problems).
many lang does fix lol (edited)
Avatar
rust is as fast as C
Avatar
just you'll loose stuff such as performance
11:39AM
(gc etc...), but rust does fix C issues without loosing perf
Avatar
Rust doesn't have the simplicity and the clarity C code can have (as I understand Rust by now) and that has great value for me. I'd better debug clearly-written programms instead of a big complicated stuff that its (only?) good is that is does not do invalid memory accesses and runs fast. (edited)
Avatar
the clarity of C is a double edge
11:42AM
it hurts you more than not
Avatar
Jupstar ✪ 10/19/2023 11:42AM
@zogtib be honest, did u code rust for at least 6 months? xd
Avatar
but by what ur saying it shows u rly havent tried rust
11:43AM
jupstar was the same
11:43AM
justatest
Avatar
tbh Rust is hard when you start
Avatar
i think
Avatar
but after it's pure enjoyment
Avatar
Avatar
ReiTW
tbh Rust is hard when you start
C is hard too if u dont know C like langs
Avatar
Avatar
Ryozuki
jupstar was the same
Jupstar ✪ 10/19/2023 11:43AM
i was always pro rust. and tbf i still think some things are annoying xd
Avatar
Avatar
Jupstar ✪
i was always pro rust. and tbf i still think some things are annoying xd
no u werent, i remember u not knowing rust
Avatar
Jupstar ✪ 10/19/2023 11:43AM
i'm less of a fanboy than u xd
11:44AM
i also acknowledge annoying things in rust
11:44AM
and whish to be fixed
Avatar
@Ryozuki send good rust books
f3 1
Avatar
Avatar
Ryozuki
no u werent, i remember u not knowing rust
Jupstar ✪ 10/19/2023 11:44AM
yes but i learned it, because i accepted that i should learn it xd
Avatar
yes but C is very small and "easy", like there's ,ot much stuff to learn tho. Only the way devs will write their code will make things harder
Avatar
Avatar
Teero
@Ryozuki send good rust books
Low-level Concurrency in Practice. This practical book helps Rust programmers of all levels gain a clear understanding of low-level concurrency. You'll learn everything about atomics and …
📌 2
Avatar
C is hot asf. Best language ever conceived
Avatar
Avatar
Jupstar ✪
Yes. In fact most innovative ppl are not poor
heinrich5991 10/19/2023 11:45AM
wdym by that?
Avatar
It's proof of intelligent creation
Avatar
Avatar
Jupstar ✪
but maybe godot with rust bindings could be project to test for me
Jupstar ✪ 10/19/2023 11:45AM
@Ryozuki xddd
Avatar
Avatar
Learath2
It's proof of intelligent creation
rust is, its proof of improvement without a sacrificy thought to be needed (runtime speed with gained safety)
Avatar
ho lol the atomics book is definetly smth I need to read lmao
Avatar
Avatar
ReiTW
ho lol the atomics book is definetly smth I need to read lmao
read it, its one of the best books
Avatar
its online btw
Avatar
yeah saw
Avatar
Avatar
Teero
Click to see attachment 🖼️
heinrich5991 10/19/2023 11:46AM
windows is largely written in C++ afaik
Avatar
Avatar
heinrich5991
wdym by that?
Jupstar ✪ 10/19/2023 11:46AM
if you have a living standard that allows you to not care too much about money.. u can concentrate more about being innovative
Avatar
Avatar
Ryozuki
rust is, its proof of improvement without a sacrificy thought to be needed (runtime speed with gained safety)
You meant C, right?
Avatar
Avatar
Learath2
C is hot asf. Best language ever conceived
scratch giga_chad
GIGACHAD 4
Avatar
I remember that I was learning OpenGL using C, but then learned about Rust and that felt that it could do things better and "clearer", like "match" etc, but I got annoyed by its pursue to hide complexity by introducing more complexity.
Avatar
Avatar
zogtib
I remember that I was learning OpenGL using C, but then learned about Rust and that felt that it could do things better and "clearer", like "match" etc, but I got annoyed by its pursue to hide complexity by introducing more complexity.
It's the pursuit of every modern language. Extreme abstraction
Avatar
Jupstar ✪ 10/19/2023 11:47AM
i think rust's enums are one of the coolest things. they are a clean way to represent variants
11:47AM
match is at least as clean as a switch
Avatar
Avatar
Jupstar ✪
i think rust's enums are one of the coolest things. they are a clean way to represent variants
True. Rust enums are probably the best thing about rust after the way errors are handled
Avatar
I mean I'd better write if (a > 0) { ... } else if (a < 0) instead of use std::signs; match signs::of(num) signs::Positive: ... signs::Negative: ...
Avatar
Jupstar ✪ 10/19/2023 11:48AM
in the context of enums actually cleaner, bcs you can only handle the data if you match the enum not like switch a.type {...}
Avatar
Avatar
zogtib
Rust doesn't have the simplicity and the clarity C code can have (as I understand Rust by now) and that has great value for me. I'd better debug clearly-written programms instead of a big complicated stuff that its (only?) good is that is does not do invalid memory accesses and runs fast. (edited)
heinrich5991 10/19/2023 11:48AM
C code is not "simple" for me. e.g. any addition can invoke UB
Avatar
There isn't a single thing I hate more than exceptions in programming I think
Avatar
Avatar
zogtib
I mean I'd better write if (a > 0) { ... } else if (a < 0) instead of use std::signs; match signs::of(num) signs::Positive: ... signs::Negative: ...
Jupstar ✪ 10/19/2023 11:49AM
but u can do that
11:49AM
i'd also not write the sign stuff xD
Avatar
C is not simple if u know its a minefield
11:50AM
im never too sure about anything
Avatar
Avatar
Learath2
There isn't a single thing I hate more than exceptions in programming I think
so that's why we have -wno-exceptions in ddnet xdd
Avatar
whereas i rust i am
Avatar
Avatar
Learath2
There isn't a single thing I hate more than exceptions in programming I think
heinrich5991 10/19/2023 11:50AM
wdym by exceptions? automatically propagated errors? errors not appearing the type signature?
Avatar
Avatar
Jupstar ✪
i'd also not write the sign stuff xD
When use is_odd and is_even crate?
Avatar
Avatar
Learath2
When use is_odd and is_even crate?
Jupstar ✪ 10/19/2023 11:50AM
xdd
Avatar
Avatar
heinrich5991
C code is not "simple" for me. e.g. any addition can invoke UB
C does have its problems and they are not tiny. But alternatives seem worse to me.
Avatar
Jupstar ✪ 10/19/2023 11:50AM
honestly, you can write rust code that is pretty similar to c, u just have to accept using unsafe
Avatar
Also Ada has safety features etc without overcomplicating everything.
Avatar
Avatar
Jupstar ✪
honestly, you can write rust code that is pretty similar to c, u just have to accept using unsafe
unsafe still has strong guarantee s
Avatar
Btw what happened to carbon?
Avatar
Avatar
Ryozuki
unsafe still has strong guarantee s
Jupstar ✪ 10/19/2023 11:51AM
pointers alone can easily destroy most of these (if you really want to).. not saying it is good 😄
Avatar
but of u dont know what u doing it can be a stronger minefield
Avatar
Avatar
heinrich5991
wdym by exceptions? automatically propagated errors? errors not appearing the type signature?
I hate both aspects. If you HAVE to have an exception system in your language it shouldn't have automatic propagation and you should be forced to enumerate all possible errors from every function
Avatar
Avatar
zogtib
Also Ada has safety features etc without overcomplicating everything.
heinrich5991 10/19/2023 11:52AM
it seems to me that rust isn't "overcomplicating" C, to me it's what has to happen inside my brain in order to write C, but it's not chhecked there
Avatar
Avatar
zogtib
Also Ada has safety features etc without overcomplicating everything.
heinrich5991 10/19/2023 11:52AM
does ada have protection against dangling pointers? afaik no
Avatar
Exceptions lead to "Unhandled Exception"s. Always
Avatar
Avatar
Jupstar ✪
pointers alone can easily destroy most of these (if you really want to).. not saying it is good 😄
yes but in unsafe rust code u need to uphold to more stuff than in C, you need to make sure safe code cant do ub
Avatar
Avatar
Teero
Btw what happened to carbon?
heinrich5991 10/19/2023 11:52AM
just announced so far. creator told us to use rust if we want a usable language right now
Avatar
Avatar
Learath2
I hate both aspects. If you HAVE to have an exception system in your language it shouldn't have automatic propagation and you should be forced to enumerate all possible errors from every function
heinrich5991 10/19/2023 11:53AM
so java's checked exceptions are actually a step up from C++'s unchecked ones? I tend to agree
Avatar
Avatar
Jupstar ✪
honestly, you can write rust code that is pretty similar to c, u just have to accept using unsafe
So I can sell simplicity for longer compile times? What would that worth? (edited)
Avatar
Avatar
Ryozuki
yes but in unsafe rust code u need to uphold to more stuff than in C, you need to make sure safe code cant do ub
Jupstar ✪ 10/19/2023 11:53AM
my point is really. if u just wrap everything in unsafe, u can write code similar to c.. with some differences ofc. but it feels similary low level
Avatar
Avatar
zogtib
C does have its problems and they are not tiny. But alternatives seem worse to me.
Have you tried zig? It's not the worst
Avatar
Avatar
zogtib
So I can sell simplicity for longer compile times? What would that worth? (edited)
heinrich5991 10/19/2023 11:53AM
I don't think you'll get longer compile times if you write a better-C dialect of rust
11:53AM
the long compile times come from using the non-C features
Avatar
what problem of C would that solve?
Avatar
I've also enjoyed D, but haven't used for any significant time
Avatar
Avatar
zogtib
what problem of C would that solve?
Borrow checker might help
Avatar
Avatar
Learath2
Have you tried zig? It's not the worst
haven't actually tried it, but its syntex felt annoying (not a too serious problem tho)
Avatar
Avatar
zogtib
what problem of C would that solve?
heinrich5991 10/19/2023 11:55AM
the problem that no one seems to be able to write safe, nontrivial C programs
11:55AM
inb4 "I can" 😉
Avatar
Jupstar ✪ 10/19/2023 11:55AM
@zogtib i generally agree that compile times are a problem of rust. But on the other side. since u have a really great ecosystem it's easy to add high quality libraries to your project, it works cross platform. that alone saves lot of time often
Avatar
Avatar
heinrich5991
inb4 "I can" 😉
I can 😉
Avatar
Avatar
Learath2
I can 😉
heinrich5991 10/19/2023 11:55AM
x
Avatar
Jupstar ✪ 10/19/2023 11:55AM
in my current rust project i have not a single build script.. yet everything works
Avatar
Avatar
heinrich5991
the problem that no one seems to be able to write safe, nontrivial C programs
I can do just a printf("Hello world\n"); & consider it safe (edited)
Avatar
Avatar
ReiTW
I can do just a printf("Hello world\n"); & consider it safe (edited)
Nontrivial
Avatar
Avatar
heinrich5991
the problem that no one seems to be able to write safe, nontrivial C programs
just think harder lul
Avatar
Avatar
Learath2
I can 😉
heinrich5991 10/19/2023 11:56AM
let's add network interaction so we have a threat model?
11:57AM
or do you have an example in mind?
Avatar
It's actually an unfalsifiable statement. If I wrote one it would be an exception rather than the rule
Avatar
heinrich5991 10/19/2023 11:57AM
why unfalsifiable?
Avatar
Well, C programs don't just magically work just because I write them, I think that the effort spent making them complete is worth it instead of overcomplicating things by adding a ton of other names etc.
👍 1
Avatar
Avatar
zogtib
Well, C programs don't just magically work just because I write them, I think that the effort spent making them complete is worth it instead of overcomplicating things by adding a ton of other names etc.
heinrich5991 10/19/2023 11:58AM
but C programs seem to magically have security vulnerabilities 🙂
Avatar
Avatar
heinrich5991
why unfalsifiable?
Well your initial statement would be disproven since you said no one. But you'd quickly update it to "not many people" and everyone will clap and I'll have wasted a couple dozen hours of my life
Avatar
Jupstar ✪ 10/19/2023 11:58AM
@Learath2 tbh my biggest problem with exceptions is not using them together with RAII. that often leads to weird bugs, even if u handle exceptions. Java imo is a good example
11:59AM
c++ at least in this case is actually better
11:59AM
(and ofc it's hard to do it right, generally)
Avatar
Avatar
Jupstar ✪
@Learath2 tbh my biggest problem with exceptions is not using them together with RAII. that often leads to weird bugs, even if u handle exceptions. Java imo is a good example
The way raii and exceptions interact is also quite hard for a new learner. Overall very meh feature
Avatar
Avatar
Learath2
The way raii and exceptions interact is also quite hard for a new learner. Overall very meh feature
heinrich5991 10/19/2023 12:00PM
you also have that in rust, "panics"
Avatar
Avatar
heinrich5991
but C programs seem to magically have security vulnerabilities 🙂
One guy that worked on a Rust-written GNU-coreutils implementation said that GNU-coreutils has had just a few vulerenabilities in so many years and that they are not rewritting them in Rust for security reasons.
Avatar
Avatar
zogtib
One guy that worked on a Rust-written GNU-coreutils implementation said that GNU-coreutils has had just a few vulerenabilities in so many years and that they are not rewritting them in Rust for security reasons.
heinrich5991 10/19/2023 12:01PM
I think even glibc recently had an exploitable bug
Avatar
Avatar
zogtib
One guy that worked on a Rust-written GNU-coreutils implementation said that GNU-coreutils has had just a few vulerenabilities in so many years and that they are not rewritting them in Rust for security reasons.
The argument is always that some of those vulnerabilities couldn't have happened with rust
Avatar
Rust also has had many vulerenabilities itself? not necessary memory-related
Avatar
Avatar
zogtib
Rust also has had many vulerenabilities itself? not necessary memory-related
The argument against that one is that Rust doesn't claim to eliminate all errors. It eliminates a couple classes of errors
Avatar
Avatar
zogtib
Rust also has had many vulerenabilities itself? not necessary memory-related
heinrich5991 10/19/2023 12:02PM
IME the bugs that rust reports are usually things that wouldn't even be classified as bugs in C
Avatar
Jupstar ✪ 10/19/2023 12:03PM
i'd say rust tries to force you to make a better design over your program. it e.g. doesn't prevent dead locks, but with a clear hierarchy you could evade most of these problems Memory safety is given in safe rust. that eliminates many problems. If you use Arc only with the said hierarchy you also should not fall into traps like memory leaks (edited)
12:03PM
overall rust at least helps you. it doesnt enforce everything that is needed to say it's the 100% safe alternative, but that's probably also not its goal
Avatar
Avatar
heinrich5991
IME the bugs that rust reports are usually things that wouldn't even be classified as bugs in C
heinrich5991 10/19/2023 12:03PM
Empowering everyone to build reliable and efficient software.
Empowering everyone to build reliable and efficient software.
12:03PM
two links that appear from the ddg search for "rust cve"
12:04PM
both of these would probably be considered "working just fine" in C/C++
Avatar
Personally, I'm not ready to sell C's simplicity for Rust's safety. I might be if I got fed up with C unsafety. But doesn't seem very likely to me now.
Avatar
Avatar
zogtib
Rust also has had many vulerenabilities itself? not necessary memory-related
heinrich5991 10/19/2023 12:04PM
give examples
Avatar
Avatar
zogtib
Personally, I'm not ready to sell C's simplicity for Rust's safety. I might be if I got fed up with C unsafety. But doesn't seem very likely to me now.
heinrich5991 10/19/2023 12:04PM
C isn't simple. it only looks simple before you know all the UB stuff
Avatar
Avatar
zogtib
Personally, I'm not ready to sell C's simplicity for Rust's safety. I might be if I got fed up with C unsafety. But doesn't seem very likely to me now.
Jupstar ✪ 10/19/2023 12:05PM
i don't want to lie. alone the fact that rust has RAII and c not. already makes so much stuff simpler
12:05PM
i dont see what u mean with simplcity
12:05PM
in c u code everything, even stuff that i'd call intuitive
Avatar
heinrich5991 10/19/2023 12:05PM
destructors are actually a thing that C really lacks
12:05PM
it'd be really nice if you could just defer free(a); in C
12:05PM
like in go
12:06PM
I think there's a gcc extension for this
Avatar
Avatar
heinrich5991
C isn't simple. it only looks simple before you know all the UB stuff
C is absolutely trivial compared to Rust. The UB stuff is unexpected but C just doesn't have the depth to compare to Rusts complexity
12:06PM
You can't have a box pin dyn send sync
Avatar
Avatar
Learath2
C is absolutely trivial compared to Rust. The UB stuff is unexpected but C just doesn't have the depth to compare to Rusts complexity
heinrich5991 10/19/2023 12:06PM
it's not simple to program in, and it doesn't have a simple model for your mind
12:06PM
libtw2 also doesn't have that
12:07PM
glib, however, has self-built vtables
12:07PM
which I'd consider less simple than compiler support
Avatar
Avatar
heinrich5991
give examples
I prob remember some CVE's like you sent. I remember something about directory recursive deletion but maybe we'd just forget it for the current conversation, not a big deal even if rust had no CVEs
Avatar
Avatar
zogtib
I prob remember some CVE's like you sent. I remember something about directory recursive deletion but maybe we'd just forget it for the current conversation, not a big deal even if rust had no CVEs
heinrich5991 10/19/2023 12:08PM
the directory deletion thing would be considered "no bug" in C/C++
12:08PM
the C++ std says that concurrent access to the filesystem is UB
12:08PM
completely insane
Avatar
Avatar
heinrich5991
which I'd consider less simple than compiler support
I mean, is it really? It's less simple when programming but it's actually far more intuitive. Vtables are a very simple thing hidden behind lots of magic
Avatar
Avatar
Learath2
I mean, is it really? It's less simple when programming but it's actually far more intuitive. Vtables are a very simple thing hidden behind lots of magic
heinrich5991 10/19/2023 12:09PM
yes. just like having functions is more simple than having to invent your own calling conventions in x86 asm, e.g.
Avatar
Avatar
heinrich5991
it's not simple to program in, and it doesn't have a simple model for your mind
It builds generally with a simple way upon what it has. So using C you get access to what C has with a "direct way".
Avatar
heinrich5991 10/19/2023 12:10PM
or stack variables are easier than manual stack management, structs are easier than only having access to primitive types
12:10PM
C's idea of strings is also very bad, and not very performant
👍 1
Avatar
for example, C gives you access to the filesystem (with libc let's say) but doesn't actually care what it does on higher level.
Avatar
Avatar
heinrich5991
it's not simple to program in, and it doesn't have a simple model for your mind
Actually idk how I let this one sneak by, just because you don't program like that doesn't mean no one does. You'll absolutely see a pin box dyn send sync hashmap box box pin
Avatar
Avatar
zogtib
for example, C gives you access to the filesystem (with libc let's say) but doesn't actually care what it does on higher level.
heinrich5991 10/19/2023 12:12PM
not sure what you mean by this. rust gives you access to the file system in the same way
Avatar
Avatar
Learath2
Actually idk how I let this one sneak by, just because you don't program like that doesn't mean no one does. You'll absolutely see a pin box dyn send sync hashmap box box pin
heinrich5991 10/19/2023 12:12PM
I've been able to avoid it (in non-work related settings) 🤷‍♀️
12:12PM
hmm, maybe not
12:12PM
the mastersrv
Avatar
Avatar
heinrich5991
it's not simple to program in, and it doesn't have a simple model for your mind
Also this I disagree with. You could say that the abstract machine has very little to do with the modern machines but it is an absolutely trivial machine
Avatar
heinrich5991 10/19/2023 12:14PM
I disagree. the rules around integer overflow, type promotion, pointer validity rules, all disagree with the simple model
Avatar
Avatar
zogtib
for example, C gives you access to the filesystem (with libc let's say) but doesn't actually care what it does on higher level.
I mean that it's relation to the OS/filesystem is simple and clear, but the programmer has to take care of correctness. I'm not ready to accept much complexity so that I don't fall into incorrect behaviours.
Avatar
heinrich5991 10/19/2023 12:14PM
note that C's standard library actually buffers your files by default
12:15PM
so you're not even close to the OS there
Avatar
I was thinking about systems calls rather than library calls.
Avatar
heinrich5991 10/19/2023 12:15PM
system calls have little to do with C
12:16PM
you can do system calls from all sorts of languages, including C, rust, …
Avatar
I did say libc but i was thinking about making available the open(2) function e.g.
Avatar
heinrich5991 10/19/2023 12:16PM
which is then implemented as openat
Avatar
All languages have those available, C's wrappers are just very thin usually
Avatar
heinrich5991 10/19/2023 12:16PM
doesn't sound very transparent
12:17PM
you can absolutely make these syscalls from rust, too. I participated in a rust stdlib rewrite using the syscalls directly
12:17PM
was pretty fun 🙂
Avatar
Avatar
heinrich5991
doesn't sound very transparent
Using open(2)'s model is enough for many cases. Knowing all the details isn't something very practical.
Avatar
Avatar
heinrich5991
you can absolutely make these syscalls from rust, too. I participated in a rust stdlib rewrite using the syscalls directly
Using them from C seems more enjoyable.
Avatar
Avatar
zogtib
Using open(2)'s model is enough for many cases. Knowing all the details isn't something very practical.
We just seem to disagree about the level of abstraction. I like my wrappers thin. Rust people like them thick and featureful
Avatar
heinrich5991 10/19/2023 12:19PM
C is a bit preferred here, not because it's a good language, but because it was chosen (maybe implicitly) to be the model for POSIX interactions
Avatar
Avatar
Learath2
We just seem to disagree about the level of abstraction. I like my wrappers thin. Rust people like them thick and featureful
heinrich5991 10/19/2023 12:19PM
rust's File is less of an abstraction than C's FILE *
12:20PM
but it actually works well on windows and linux ^^
Avatar
I prefer C over Rust, it's not that Rust is useless compared to C (Rust solves many problems C has) but I don't like Rust's solution to those problems.
Avatar
Avatar
Learath2
We just seem to disagree about the level of abstraction. I like my wrappers thin. Rust people like them thick and featureful
I think open(2) existed already because of historical reasons?, so even if under the hood things changed, open(2) is still useful.
Avatar
heinrich5991 10/19/2023 12:22PM
open(2) still exists
Avatar
But even if it isn't, openat(2) is available.
Avatar
heinrich5991 10/19/2023 12:23PM
the syscall open still exists
12:23PM
it's just not called by the glibc function open anymore
Avatar
Avatar
heinrich5991
rust's File is less of an abstraction than C's FILE *
I would be very very very surprised if it's not about the same level given they provide similar features
12:24PM
The only way I can imagine it being a lower level abstraction is cheating like msvcrt
Avatar
Avatar
Learath2
I would be very very very surprised if it's not about the same level given they provide similar features
heinrich5991 10/19/2023 12:24PM
C's FILE * has buffering
12:24PM
rust's File is just a file descriptor
Avatar
If what open(2)'s manual fit's the programmer needs, then what it does in detail is not important imo.
Avatar
heinrich5991 10/19/2023 12:25PM
(rust's File is literally 4 byte in size on linux)
Avatar
Avatar
zogtib
If what open(2)'s manual fit's the programmer needs, then what it does in detail is not important imo.
heinrich5991 10/19/2023 12:25PM
it's not just a thin wrapper over the open syscall then, though
12:25PM
it's about as thin as the File::open function in rust
Avatar
Avatar
heinrich5991
C's FILE * has buffering
As far as the standard is concerned what is buffering even?
Avatar
heinrich5991 10/19/2023 12:26PM
idk, you're the standard person 😄
12:26PM
but it even has functions for adjusting the buffer
12:26PM
in the standard
Avatar
FILE could be whatever the implementor wants. Msvcrt uses that to implement it through a fake fileno table
Avatar
heinrich5991 10/19/2023 12:27PM
fact is, FILE * is buffered in all libcs that I know
12:27PM
do you know any where it's not?
12:27PM
musl, glibc, msvcrt all buffer AFAIK
Avatar
Jupstar ✪ 10/19/2023 12:27PM
wtf r u guys all even doin with filesystems xddd i need open file, write file maybe some helper functions like list directory
12:27PM
r u like coding the next sql database xdd
Avatar
Avatar
Jupstar ✪
wtf r u guys all even doin with filesystems xddd i need open file, write file maybe some helper functions like list directory
heinrich5991 10/19/2023 12:28PM
list directory is not available in C
Avatar
Jupstar ✪ 10/19/2023 12:28PM
tru
12:28PM
times before c++17 were hard
Avatar
heinrich5991 10/19/2023 12:29PM
Besides the system-specific information necessary to access the device (e.g., a POSIX file descriptor), each FILE object directly or indirectly holds the following: 1. (C95) Character width: unset, narrow, or wide. 2. (C95) Parse state for conversions between multibyte and wide characters (an object of type mbstate_t) 3. Buffering state: unbuffered, line-buffered, fully buffered. 4. The buffer, which may be replaced by an external, user-provided buffer. 5. I/O mode: input, output, or update (both input and output). 6. Binary/text mode indicator. 7. End-of-file status indicator. 8. Error status indicator. 9. File position indicator, accessible as an object of type fpos_t, which, for wide streams, includes parse state. 10. (C11) Reentrant lock used to prevent data races when multiple threads read, write, position, or query the position of a stream.
Avatar
Avatar
heinrich5991
Besides the system-specific information necessary to access the device (e.g., a POSIX file descriptor), each FILE object directly or indirectly holds the following: 1. (C95) Character width: unset, narrow, or wide. 2. (C95) Parse state for conversions between multibyte and wide characters (an object of type mbstate_t) 3. Buffering state: unbuffered, line-buffered, fully buffered. 4. The buffer, which may be replaced by an external, user-provided buffer. 5. I/O mode: input, output, or update (both input and output). 6. Binary/text mode indicator. 7. End-of-file status indicator. 8. Error status indicator. 9. File position indicator, accessible as an object of type fpos_t, which, for wide streams, includes parse state. 10. (C11) Reentrant lock used to prevent data races when multiple threads read, write, position, or query the position of a stream.
Where does rust shove these? I have a feeling we are not comparing equivalent abstractions
Avatar
heinrich5991 10/19/2023 12:29PM
rust's file has none of 1-10
12:29PM
you can wrap a file in a BufReader
Avatar
Jupstar ✪ 10/19/2023 12:30PM
i could imagine that, if you code smth where low level filesystem access is important (even in rust) you might just use system related operations anyway (win32 on windows etc.)
Avatar
heinrich5991 10/19/2023 12:30PM
(you probably should, if you're not just reading the complete file)
Avatar
Avatar
Jupstar ✪
i could imagine that, if you code smth where low level filesystem access is important (even in rust) you might just use system related operations anyway (win32 on windows etc.)
heinrich5991 10/19/2023 12:30PM
no need in rust, because it's just a thin wrapper here
Avatar
Avatar
heinrich5991
no need in rust, because it's just a thin wrapper here
Jupstar ✪ 10/19/2023 12:30PM
yeah but like permission stuff and so on
12:30PM
or does all this exist as wrapper?
Avatar
Ok, so these are not the same abstractions. C doesn't have a similar thin wrapper for files
Avatar
Avatar
Learath2
Where does rust shove these? I have a feeling we are not comparing equivalent abstractions
heinrich5991 10/19/2023 12:31PM
it doesn't do 1,2. 3,4: buffering can be done by wrapping it in a BufReader, 5,6,7,8,9 is not done in rust, 10 is guaranteed by rust's guarantees
Avatar
Avatar
Learath2
Ok, so these are not the same abstractions. C doesn't have a similar thin wrapper for files
heinrich5991 10/19/2023 12:31PM
correct
12:32PM
so rust has a thinner abstraction around files than C does
Avatar
You mean than C libc does.
Avatar
Jupstar ✪ 10/19/2023 12:32PM
man alone not having unicode support must suck in c
12:32PM
u HAVE to use win32 api
12:32PM
xd
Avatar
Avatar
zogtib
You mean than C libc does.
heinrich5991 10/19/2023 12:33PM
I mean C. you might be talking about POSIX, C on linux or libraries (edited)
Avatar
Avatar
heinrich5991
so rust has a thinner abstraction around files than C does
It's a little disingenuous when no one would use those
Avatar
heinrich5991 10/19/2023 12:33PM
no one uses FILE *?
Avatar
No File you almost always want a bufreader or bufwriter
Avatar
heinrich5991 10/19/2023 12:34PM
yes, but that's simpler, no?
12:34PM
you don't put all the abstractions into one big file struct
Avatar
It exists but almost everyone will be using the fatter abstraction
Avatar
heinrich5991 10/19/2023 12:34PM
even with BufReader, it's still thinner than C's stuff
Avatar
Avatar
heinrich5991
even with BufReader, it's still thinner than C's stuff
Through having a fatter abstraction for strings iirc
Avatar
heinrich5991 10/19/2023 12:35PM
in what way?
12:35PM
you mean having one at all?
Avatar
Avatar
Learath2
Through having a fatter abstraction for strings iirc
Jupstar ✪ 10/19/2023 12:35PM
fater abstraction = more code? or fater abstraction = less performance?
12:36PM
i kinda have the feeling this isnt clear in this conversation
Avatar
heinrich5991 10/19/2023 12:36PM
I think we agreed on the fact that C and rust code is in the same league for speed
Avatar
Avatar
heinrich5991
in what way?
C strings are nothing but a bunch of bytes. That's why we need to keep track of the wchar stuff
Avatar
Avatar
Learath2
C strings are nothing but a bunch of bytes. That's why we need to keep track of the wchar stuff
heinrich5991 10/19/2023 12:36PM
no, C strings are nul-terminated char arrays
Avatar
rust strings can be faster, null terminator was a bad decision
Avatar
Jupstar ✪ 10/19/2023 12:36PM
ok then fat as in more code for the user to write? or fat as in the standard is more fat?
Avatar
heinrich5991 10/19/2023 12:36PM
char * can refer to a pointer to a char or to such a C string, or to a pointer to a char array, even (edited)
Avatar
Avatar
heinrich5991
no, C strings are nul-terminated char arrays
Since when are null terminated char arrays are not a bunch of bytes?
Avatar
heinrich5991 10/19/2023 12:37PM
it just doesn't say
Avatar
Avatar
Learath2
Since when are null terminated char arrays are not a bunch of bytes?
heinrich5991 10/19/2023 12:37PM
because they carry an additional guarantee
Avatar
Ok, done for the day
👋 1
Avatar
pack it up we done
Avatar
Avatar
heinrich5991
even with BufReader, it's still thinner than C's stuff
All details are not important all of the time. Also C standards have long history so they can't just appear perfect, so I don't mean "just the standarised C" as C.
Avatar
Avatar
Learath2
Ok, done for the day
Jupstar ✪ 10/19/2023 12:39PM
lmao, don't be sad over programming languages. if you like c so much use it. it's your life and your time and if u like it so much do it
Avatar
Thanks for sharing your opinions and knowledge with me, have nice days. Cheers 🙂
Avatar
ye its just a discussion
12:39PM
end of the day each uses the lang they want
Avatar
Jupstar ✪ 10/19/2023 12:40PM
no, don't use python 😬
😂 3
Avatar
heinrich5991 10/19/2023 12:40PM
<flamebait>but people writing critical software hopefully don't start their new projects in C</flamebait> (edited)
Avatar
they use ada
Avatar
Avatar
Jupstar ✪
lmao, don't be sad over programming languages. if you like c so much use it. it's your life and your time and if u like it so much do it
I don't care about your opinion of C, nor do I care about @heinrich5991's opinion on C. I'm just annoyed at the disingenuous bad faith discussion techniques employed
Avatar
Avatar
heinrich5991
<flamebait>but people writing critical software hopefully don't start their new projects in C</flamebait> (edited)
programmer tone tags
Avatar
Jupstar ✪ 10/19/2023 12:41PM
at the end of the day, i don't want to sit in a plane that panics, nor runs on UB so just proof the software or smth
Avatar
Avatar
Learath2
I don't care about your opinion of C, nor do I care about @heinrich5991's opinion on C. I'm just annoyed at the disingenuous bad faith discussion techniques employed
heinrich5991 10/19/2023 12:42PM
I'm sorry. maybe we can come together some other time
Avatar
Avatar
Learath2
I don't care about your opinion of C, nor do I care about @heinrich5991's opinion on C. I'm just annoyed at the disingenuous bad faith discussion techniques employed
i think u call disingenuous any argument not in ur favour tho
Avatar
Avatar
Jupstar ✪
at the end of the day, i don't want to sit in a plane that panics, nor runs on UB so just proof the software or smth
UB as in go to your destination. Go to Heaven!
Avatar
Avatar
heinrich5991
<flamebait>but people writing critical software hopefully don't start their new projects in C</flamebait> (edited)
OpenBSD say they are serious about security and they use C, I'm just letting you know.
greenthing 1
Avatar
Avatar
heinrich5991
<flamebait>but people writing critical software hopefully don't start their new projects in C</flamebait> (edited)
ppl use /s for sarcasm btw
Avatar
Avatar
zogtib
OpenBSD say they are serious about security and they use C, I'm just letting you know.
They don't know shit
Avatar
heinrich5991 10/19/2023 12:42PM
it wasn't sarcasm
12:43PM
it was flamebait
Avatar
sarcasm is often used for that
12:43PM
anyway
Avatar
Avatar
Ryozuki
ppl use /s for sarcasm btw
yeah but tonetags suck and most are infantilizing
Avatar
Jupstar ✪ 10/19/2023 12:43PM
but he was serious af about it
Avatar
Avatar
Ryozuki
i think u call disingenuous any argument not in ur favour tho
Yes
Avatar
my take is, ill take rust complexity that maintains same speed as C but with improved safety
12:44PM
and i enjoy it
Avatar
Avatar
Learath2
I don't care about your opinion of C, nor do I care about @heinrich5991's opinion on C. I'm just annoyed at the disingenuous bad faith discussion techniques employed
Jupstar ✪ 10/19/2023 12:45PM
i don't have an opinion about it, because i don't use it as a daily driver. But i know concepts i use, and that i like that c is missing.
Avatar
but C simplicity is often just at face value, digging deeper it becomws complex because you need to be aware and careful of lot of stuff, ur cognitivie load comes later, when u need to fix those bugs, or when ur thinking how to do X safely
12:46PM
in rust the cognitive load comes at compile time, at ur initial write
Avatar
Avatar
Ryozuki
but C simplicity is often just at face value, digging deeper it becomws complex because you need to be aware and careful of lot of stuff, ur cognitivie load comes later, when u need to fix those bugs, or when ur thinking how to do X safely
You actually need to know how make things, right? (edited)
Avatar
It's like talking about how calculus is a thin abstraction over zermelo-fraenkel set theory. Just because thin layers exist along the way
Avatar
altho u can avoid the load initially by using simpler stuff but less fast
12:46PM
which is how u protoptype
Avatar
Avatar
Ryozuki
altho u can avoid the load initially by using simpler stuff but less fast
Jupstar ✪ 10/19/2023 12:47PM
in fact sometimes u just accept it, because it would bloat software a lot
Avatar
Avatar
zogtib
You actually need to know how make things, right? (edited)
there is a difference between knowimg how to make things and how to make things correctly and safe
Avatar
Jupstar ✪ 10/19/2023 12:47PM
well remove the "sometimes" always
12:47PM
in the end c is high level compared to asm xD
Avatar
i wonder what rust feature will benefit the ddnet code if it ever replaced the server code like, i imagine rust has some unique function that c doesnt
Avatar
Avatar
Voxel
i wonder what rust feature will benefit the ddnet code if it ever replaced the server code like, i imagine rust has some unique function that c doesnt
it wont make ddnet faster
12:48PM
it may avoid segfaults
12:48PM
altho a rewrite maybe improves perf by encountering optimization oportunities
Avatar
Avatar
Voxel
i wonder what rust feature will benefit the ddnet code if it ever replaced the server code like, i imagine rust has some unique function that c doesnt
Jupstar ✪ 10/19/2023 12:48PM
i'd say derive macros and struct enums
Avatar
Avatar
Ryozuki
it wont make ddnet faster
i dont care about speed in this arguement LOL
Avatar
Avatar
Jupstar ✪
i'd say derive macros and struct enums
oo
Avatar
a new lang wont bring new ingame features
Avatar
Saying C has the level of complexity of Rust is like saying a casio watch calculator is comparable to a modern octocore cpu
Avatar
Avatar
Learath2
Saying C has the level of complexity of Rust is like saying a casio watch calculator is comparable to a modern octocore cpu
C has delayed complexity
Avatar
Avatar
Ryozuki
a new lang wont bring new ingame features
Jupstar ✪ 10/19/2023 12:49PM
but it has different answers to the same problem ^^
Avatar
u still need to think about what rust solves for u
Avatar
Jupstar ✪ 10/19/2023 12:49PM
and these answers might be more fitting
Avatar
Avatar
Jupstar ✪
but it has different answers to the same problem ^^
maybe iterators improve stuff
Avatar
Avatar
Ryozuki
u still need to think about what rust solves for u
I'm not saying rust doesnt solve problems. I'm saying it doesnt solve them at no complexity cost
Avatar
yeah sure, but complexity is abstract
Avatar
Avatar
Ryozuki
maybe iterators improve stuff
Jupstar ✪ 10/19/2023 12:50PM
the fact that i can easily serialize data types for example is great compared to c (which has no concept of typeids) and even compared to c++, where it's probably still a mess
Avatar
for me who i care about writimt correct safe software its hard im C
12:51PM
because there is lot of unknowns
12:51PM
the fix is to read the bible
12:51PM
learn the standard
12:51PM
fck mobile
Avatar
Avatar
Jupstar ✪
the fact that i can easily serialize data types for example is great compared to c (which has no concept of typeids) and even compared to c++, where it's probably still a mess
Now open up serde docs and observe where the complexity is. Just because very smart people manage to hide it well doesnt mean rust is a very complex language
Avatar
Avatar
Learath2
Now open up serde docs and observe where the complexity is. Just because very smart people manage to hide it well doesnt mean rust is a very complex language
Jupstar ✪ 10/19/2023 12:52PM
why do u need serde docs?
Avatar
Avatar
Ryozuki
the fix is to read the bible
i didnt read the c++ bible when i dived head first into ddnet code LOL
Avatar
Jupstar ✪ 10/19/2023 12:52PM
let's assume u use all fields you serialize (so no skip attribute or smth)
Avatar
Avatar
Learath2
Now open up serde docs and observe where the complexity is. Just because very smart people manage to hide it well doesnt mean rust is a very complex language
see thats a bad faith arg
12:52PM
its solving a complex problem about giving u a simple interface to seriakize stuff
Avatar
Jupstar ✪ 10/19/2023 12:53PM
for network stuff this makes sense for example
Avatar
Avatar
Ryozuki
its solving a complex problem about giving u a simple interface to seriakize stuff
Using extremely complex language constructs that equivalents of don't even exist in C
Avatar
yeah cuz u need to make them urself in c
Avatar
Jupstar ✪ 10/19/2023 12:53PM
but @Learath2 what would u do in c?
Avatar
Avatar
Ryozuki
yeah cuz u need to make them urself in c
You can't even make them in C, that sort of access to AST through macros don't exist
Avatar
Jupstar ✪ 10/19/2023 12:54PM
u'd need to manually verify every single data chunk is correct size (size > my struct) then proof all fields individually etc.
Avatar
well too bad
12:54PM
i prefer that vs textual macros
Avatar
Jupstar ✪ 10/19/2023 12:54PM
that is complex IMHO
Avatar
also headers are complex
Avatar
Avatar
Ryozuki
i prefer that vs textual macros
The discussion is about language complexity, not your preferences. I also prefer just automagically having my stuff serialized
Avatar
From my perspective: Rust's solutions (and Rust itself) are way more complex than a solution should be, and I find that as a big and primary problem.
Avatar
Avatar
zogtib
From my perspective: Rust's solutions (and Rust itself) are way more complex than a solution should be, and I find that as a big and primary problem.
i dont agree
Avatar
Avatar
Learath2
The discussion is about language complexity, not your preferences. I also prefer just automagically having my stuff serialized
If that is the measure of complexity then the best language is js
Avatar
the problem rust tries to solve is rooy complex
12:55PM
if u know a simple solution u would get a Nobel prize
Avatar
Avatar
Learath2
The discussion is about language complexity, not your preferences. I also prefer just automagically having my stuff serialized
Jupstar ✪ 10/19/2023 12:55PM
yes in that sense you are right. it's more complex behind the scnenes.. but therefore less complex in the scene itself 😄
Avatar
Avatar
zogtib
From my perspective: Rust's solutions (and Rust itself) are way more complex than a solution should be, and I find that as a big and primary problem.
ive seen some solutions that are beautiful
Avatar
Jupstar ✪ 10/19/2023 12:55PM
less code = less potential for bugs
12:56PM
if serde is used widely, it might™️ be more tested
Avatar
アリヂン 10/19/2023 12:56PM
wdym guys, rust is not complex at all
Avatar
Jupstar ✪ 10/19/2023 12:56PM
than anthing u ever write by yourself
Avatar
rust is complex but not complex
Avatar
I guess I look at complexity of a language very differently than you seem to do. It's almost a linear function of the amount of features for me
Avatar
Avatar
Voxel
rust is complex but not complex
Jupstar ✪ 10/19/2023 12:57PM
It moves complexity
12:57PM
Imo intuitively is more important
12:57PM
And serde is intuitive
Avatar
Avatar
Jupstar ✪
It moves complexity
What is the complexity it uses to move that complexity though?
Avatar
Jupstar ✪ 10/19/2023 12:58PM
In it's prime form
Avatar
Avatar
zogtib
What is the complexity it uses to move that complexity though?
Jupstar ✪ 10/19/2023 12:58PM
Derive macros
Avatar
when i inevitably make a file generator ill use rust so my own code doesnt trash my own pc
Avatar
Jupstar ✪ 10/19/2023 12:58PM
Basically a mini compiler
12:59PM
U know the attributes of the structure etc
Avatar
Avatar
Jupstar ✪
Basically a mini compiler
Even more powerful. Procmacros have access to the compiler itself, not a separate precompiler
Avatar
Avatar
Learath2
Even more powerful. Procmacros have access to the compiler itself, not a separate precompiler
Jupstar ✪ 10/19/2023 12:59PM
Yes it's a fully working program
12:59PM
U can do anything u want
Avatar
It's almost like monkeypatching the compiler itself
Avatar
Jupstar ✪ 10/19/2023 1:00PM
But let's be fair. In this case u wouldn't need to do this
Avatar
Avatar
Learath2
It's almost like monkeypatching the compiler itself
Jupstar ✪ 10/19/2023 1:00PM
Yep
Avatar
Avatar
Jupstar ✪
but @Learath2 what would u do in c?
Nothing really except for some hobby projects. I see coding in C as mostly an artistic endeavour. Not much practical value in it
Avatar
we all agree in one thing tho
1:13PM
linux is better than windows
1:13PM
poggers2
Avatar
Jupstar ✪ 10/19/2023 1:13PM
And voxel took that personally
Avatar
Avatar
Ryozuki
linux is better than windows
heinrich5991 10/19/2023 1:14PM
better in what way? ^^
1:14PM
I like it better to work
Avatar
ws-client BOT 10/19/2023 1:18PM
<ChillerDragon> gnome looks nicer than windows ui
Avatar
Jupstar ✪ 10/19/2023 1:18PM
Next explosive opened xd
Avatar
being open source is already a killer
Avatar
ws-client BOT 10/19/2023 1:24PM
<ChillerDragon> yes that too
1:24PM
<ChillerDragon> oh and free
1:24PM
<ChillerDragon> lightweight
Avatar
Avatar
Ryozuki
linux is better than windows
Can't even use directx12. Weak os
Avatar
Jupstar ✪ 10/19/2023 1:43PM
It can xd
Avatar
Avatar
Jupstar ✪
It can xd
Needs translator, not even native. Weak
Avatar
Jupstar ✪ 10/19/2023 1:49PM
Bloat
1:50PM
The abstraction could do smth similar to dxvk and allow to compile ur program directly to Vulkan using dx headers
1:52PM
Time to invent royalty free Direct 4D 12 To convince the fan boys xd
Avatar
vulkan better
Avatar
Microsoft best ❤️
1:54PM
@Jupstar ✪ when ddnet on dx?
Avatar
Avatar
Learath2
@Jupstar ✪ when ddnet on dx?
Jupstar ✪ 10/19/2023 2:06PM
U can always use it
2:06PM
Microsoft contributed a Vulkan to dx12 translator to Mesa xd
Avatar
tfw you stumble upon your own thread about a problem feelsbadman feelsamazingman
Avatar
Avatar
Mr.Gh0s7
tfw you stumble upon your own thread about a problem feelsbadman feelsamazingman
Tfw it only has one reply, it's wrong ohno
pepeW 4
Avatar
Comfy is a fun 2D game engine built in Rust. It&#39;s designed to be opinionated, productive, and easy to use. - GitHub - darthdeus/comfy: Comfy is a fun 2D game engine built in Rust. It&#3...
Avatar
@Jupstar ✪ didn't think I'd spark a 800 message convo xdd
Avatar
Jupstar ✪ 10/19/2023 3:14PM
ah true, all your fault
3:14PM
xd
Avatar
Jupstar ✪ 10/19/2023 4:07PM
AMD today announced the Ryzen Threadripper PRO 7000 WX Series as the company's long-awaited Threadripper update that brings up to 96 Zen 4 cores, RDIMM memory is now required for Threadripper platforms moving forward, and catering to both HEDT enthusiasts and professionals.
4:08PM
96 cores
4:08PM
can u buy me one
4:09PM
AMD Ryzen Threadripper PRO 7995WX: $9,999
4:09PM
wow, really cheap... not xd
4:25PM
cries in Intel Xeon E5420 (8) @ 2.499GHz
Avatar
Avatar
Learath2
Tfw it only has one reply, it's wrong ohno
cyberFighter 10/19/2023 5:48PM
@Voxel
Avatar
Jupstar ✪ 10/19/2023 6:23PM
depends on the function
6:24PM
if u have early returns without any logic, u might want to not even call that function at all in first place
Avatar
He11o, wor1d 10/19/2023 6:58PM
how to make a freeze bar was only seen by allies on ddnet-skeleton server? (edited)
7:03PM
or replace freeze bar to stars I'm trying to make a fng mod (edited)
Avatar
we have timeout ppl can we fast get code? or he will disconnect swap 2 hours run 'viny ᵐᶦᵒ' would have timed out, but can use timeout protection now 45.141.57.22:8332
Avatar
45.141.57.22:8332 is an official DDNet server. <steam://run/412220//45.141.57.22:8332>/
Avatar
Avatar
triki
we have timeout ppl can we fast get code? or he will disconnect swap 2 hours run 'viny ᵐᶦᵒ' would have timed out, but can use timeout protection now 45.141.57.22:8332
Jupstar ✪ 10/19/2023 7:11PM
nobody has any code. if u have him in discord ask there
Avatar
Avatar
Jupstar ✪
nobody has any code. if u have him in discord ask there
he timeout
7:11PM
its mean we cant contact with him
Avatar
Jupstar ✪ 10/19/2023 7:12PM
the only thing mods could potentially do is increase the timeout time
Avatar
Avatar
Jupstar ✪
the only thing mods could potentially do is increase the timeout time
nobody have taht timeout code?
7:12PM
admins cant see that?
7:12PM
server know this code
Avatar
Jupstar ✪ 10/19/2023 7:12PM
i am not aware of that at least
7:12PM
server knows it yes
7:13PM
he dropped
7:13PM
near finish
Avatar
Jupstar ✪ 10/19/2023 7:13PM
unlucky
Avatar
if someone timeout and dont reconnect in t0 give acess to swap with near tees(ip) its mean alive can join dummy and get swap with timeout. it is save some race where u race 2 hours and someone just timeouted.
Avatar
what do i need to do with the binary of clang on my debian? I wanna install clang 10 and this seems to be the only way to install it. do I need to unzip it or something? https://github.com/muttleyxd/clang-tools-static-binaries/releases
static-linked versions of clang tools for Linux, Mac OS X and Windows, available in AUR as clang-format-static-bin - muttleyxd/clang-tools-static-binaries
Avatar
Jupstar ✪ 10/19/2023 7:42PM
why do u want to use clang 10?
7:42PM
ddnet compiles just fine with newer ones
7:42PM
ah u mean clang-format
7:43PM
well depends:
  • do you use some kind of IDE?
  • do you just want to fix style?
7:44PM
the easiest is probably to copy it to /usr/local/bin/
7:44PM
that should be in your path i guess
Avatar
well yeah I just wanna fix the style
Avatar
He11o, wor1d 10/19/2023 7:44PM
how to make a freeze bar was only seen by allies on ddnet-skeleton server? or replace freeze bar to stars I'm trying to make a fng mod
Avatar
Avatar
Jupstar ✪
the easiest is probably to copy it to /usr/local/bin/
will try that, I guess I will have to rename it?
Avatar
Avatar
He11o, wor1d
how to make a freeze bar was only seen by allies on ddnet-skeleton server? or replace freeze bar to stars I'm trying to make a fng mod
Jupstar ✪ 10/19/2023 7:45PM
don't send them to the users that should not see them
Avatar
Avatar
toneey
will try that, I guess I will have to rename it?
Jupstar ✪ 10/19/2023 7:45PM
i'd call it clang-format-10
Avatar
alright thank you.
Avatar
Avatar
Jupstar ✪
don't send them to the users that should not see them
He11o, wor1d 10/19/2023 7:46PM
i am dont know how this make (sorry for my english)
Avatar
Avatar
toneey
alright thank you.
Jupstar ✪ 10/19/2023 7:46PM
fix_style.py also tries to find version 10
Avatar
Avatar
He11o, wor1d
i am dont know how this make (sorry for my english)
Jupstar ✪ 10/19/2023 7:46PM
mh, maybe start with something easier then 😄
Avatar
Avatar
Jupstar ✪
mh, maybe start with something easier then 😄
He11o, wor1d 10/19/2023 7:47PM
why?
Avatar
Avatar
He11o, wor1d
why?
Jupstar ✪ 10/19/2023 7:47PM
to get a feeling for how the source code works
Avatar
Avatar
Jupstar ✪
mh, maybe start with something easier then 😄
yeah that's what I noticed, I don't have it installed and it seems that there is no actual package for v10 (edited)
Avatar
Avatar
Jupstar ✪
mh, maybe start with something easier then 😄
He11o, wor1d 10/19/2023 7:47PM
where do we start?
Avatar
Jupstar ✪ 10/19/2023 7:47PM
yeah sadly :/
Avatar
Avatar
He11o, wor1d
where do we start?
Jupstar ✪ 10/19/2023 7:48PM
i dunno, try edit some source code you think you understand
7:48PM
e.g. server messages, or changing player name/skin whatever
7:48PM
try to place stars into the map
Avatar
Avatar
Jupstar ✪
try to place stars into the map
He11o, wor1d 10/19/2023 7:49PM
can you give me a hint on how to do this?)
Avatar
Avatar
He11o, wor1d
can you give me a hint on how to do this?)
Jupstar ✪ 10/19/2023 7:49PM
do you know c++?
Avatar
He11o, wor1d 10/19/2023 7:50PM
on elementary level
7:50PM
or better yet, a hint on how to send the freeze bar only to allies)
Avatar
Jupstar ✪ 10/19/2023 7:50PM
DDraceNetwork, a free cooperative platformer game. Contribute to ddnet/ddnet development by creating an account on GitHub.
7:50PM
that is the most important file
7:51PM
i dunno how that file is called in ddnet-skeleton
7:51PM
i never used that
Avatar
He11o, wor1d 10/19/2023 7:51PM
это подсказка для стоп-бара?)
7:51PM
sry
7:51PM
is this a tip for a freeze bar?
7:52PM
or place start into the map?
Avatar
Jupstar ✪ 10/19/2023 7:52PM
CreateDamageInd
7:52PM
creates stars
Avatar
Avatar
Jupstar ✪
creates stars
He11o, wor1d 10/19/2023 7:53PM
ok, but how to send a freeze bar only to allies?
Avatar
Jupstar ✪ 10/19/2023 7:54PM
how should i answer this question without implementing it myself? xD
7:55PM
i'd try to see what network package contains information about the current freeze time
7:55PM
and only sent it to allies
Avatar
Avatar
Jupstar ✪
how should i answer this question without implementing it myself? xD
He11o, wor1d 10/19/2023 7:55PM
Well, I would at least like the name of the function that sends the freeze bar to players)
8:00PM
this seems freeze related
8:00PM
for the other team u could simply set the skin to ninja skin or smth
8:00PM
i dunno if u can cleanly do what u want for FNG
8:00PM
the codebase favours ddrace
Avatar
The freeze bars are not sent to the players directly. The server sends m_FreezeStart and m_FreezeEnd for each tee (character)
8:01PM
If you don't want the freezebars, only send 0 or -1 for both values I guess
8:02PM
Then send the damage indicator stars manually
Avatar
nuh uh dont remove stars from fng
Avatar
He11o, wor1d 10/19/2023 8:17PM
why is TeamMask() the same for both teams? how can this be fixed?
Avatar
See commit messages. The demo linked in #7349 is now considered invalid and fails to load. Demos which were simply truncated due to the client crashing during the recording can usually still be opened but the playback will be stopped entirely when an error is encountered reading the demo until the end.

Checklist

  • [X] Tested the change ingame
  • [ ] Provided screenshots if it is a visual change
  • [ ] Tested in combination with possibly related configuration options
  • [ ] Writ...
Avatar
He11o, wor1d 10/19/2023 8:23PM
3 - this TeamMask() player 1 0 - this Team() player 1 3 - this TeamMask() player 2 0 - this Team() palyer 2 player1 - Red Team player2 - Blue Team
Avatar
Avatar
He11o, wor1d
why is TeamMask() the same for both teams? how can this be fixed?
I assume because ddnet-skeleton adds back the original red and blue teams without integrating DDNet team system with this properly
Avatar
He11o, wor1d 10/19/2023 8:25PM
how this fix?
Avatar
Don't know, maybe use separate TeamMask for both teams
8:26PM
Change TeamMask() to TeamMask(int Team) so you can get the mask for each team separately (and adjust the rest of the code accordingly)
Avatar
He11o, wor1d 10/19/2023 8:27PM
a how to change int Team for blue team?
Avatar
There are constants in the code for the teams
8:28PM
I'd recommend starting with something easier then trying to fix ddnet-skeleton
pepeW 1
Avatar
I too tried to make a mod with ddnet-skeleton but quickly forgot about it :/
Avatar
60807b5 Fix io_skip return type and documentation - Robyt3 6951795 Add title to engine warnings and make auto-hiding optional - Robyt3 92e2e17 Validate ticks when reading demo chunk headers - Robyt3 0e4f174 Check for all file errors in demo player, show demo error popup - Robyt3 5987d8d Merge pull request #7358 from Robyt3/Engine-Demo-Validation - def-
Exported 536 message(s)
Timezone: UTC+0