hades

joined 5 months ago
[–] hades@programming.dev 15 points 2 days ago

Just an ad article. "Did you also encounter skill issues while building web applications? Try my platform."

 

I was solving old Advent of Code the other day, and someone suggested to me another seasonal coding challenge website: https://everybody.codes/home

As there are many people here who are actively solving AoC, I'm sure you'd be interested in that too. However, I'm not sure which community we should be using to discuss these? I'm seeing three options:

  • use this community for everybody.codes specifically (as it has largely the same format as AoC, and probably a lot of AoC solvers would be interested in that too),
  • create a dedicated community for everybody.codes (I can do that using this community as a blueprint),
  • use !challenges (the format doesn't really match, but in spirit it kinda makes sense).

WDYT?

[–] hades@programming.dev 9 points 3 weeks ago

but how many COMEFROMs are there

[–] hades@programming.dev 2 points 2 months ago

imagine the diffs

[–] hades@programming.dev 1 points 2 months ago

Uninitialized automatic variables. E.g. (in C/C++):

int get_time() {
  int time;
  syscall(/* something that fails */, &time);
  return time;
}
[–] hades@programming.dev 2 points 2 months ago (2 children)

probably the worst option for a library

Even worse than returning garbage? :)

[–] hades@programming.dev 4 points 2 months ago

Interestingly, Rust is what brought me to this rabbit hole. It does indeed panic in now()[1], but the devs seem to be reluctant to provide the try_now() variant[2].

[1] https://doc.rust-lang.org/nightly/src/std/sys/pal/unix/time.rs.html#124 [2] https://github.com/rust-lang/rust/issues/115482

 

If you were designing a standard library of a high level language (like Rust, C++, etc.) what would it do if while getting the current time of day (e.g. SystemTime::now()) it encountered a failed kernel system call (e.g. to clock_gettime) and why?

What do you think the existing implementations do?

  • Return error or raise exception
  • Return 0
  • Return undefined values (like stack garbage)
  • Panic/crash/segfault