[-] suy@programming.dev 13 points 5 months ago

Has it occurred to you that pressing the downvote button is just much easier that having to bother explaining something that should be obvious?

If it is not obvious to you that it's not incel shit, maybe even after an explanation you won't agree still because you have different views (which I'm not saying are not respectable, but are still different, so an agreement can't be reached), so whoever replies to you would have wasted their time.

So of course people downvote without replying.

[-] suy@programming.dev 19 points 5 months ago

Yes. There is already an answer with many votes saying so, but I'll add myself to the list.

I don't have to like all the language, and not even all of the standard library. I learnt C++ with the Qt library, and I still do 99% of my development using Qt because it's the kind of software that I like to write the most. I can choose the parts that I like the most about the full C++ ecosystem, like most people do (you would have to see how different game development is, for example).

I'm also learning Rust, and I see nothing wrong with it. It's just that I see C++ better for the kind of stuff that I need to write (at this time at least).

[-] suy@programming.dev 8 points 5 months ago

Meanwhile, this was a feature on KDE-land since Klipper, which goes back (as far as I know and if I remember well) to KDE 3 or sooner.

[-] suy@programming.dev 8 points 6 months ago

I've been compiling apps depending on newer Qt and/or kdelibs versions for ages (back when the repository was literally called "kdelibs", about 20 years ago).

This has never been an issue for me. Even with autoconf/automake, I just compiled everything to its own prefix, so it doesn't interfere with the system at all. You don't even need to fix the build system in the cases where it's broken/lacks features, if you leverage all the "path" variables (CPATH, LIBRARY_PATH, LD_LIBRARY_PATH, PKG_CONFIG_PATH, etc.). But autotools, cmake, qmake, and every build system I've used so far supports this out of the box.

Not claiming it's a skill issue, but I have to say I'm very surprised by reading any of this.

Specifically, for Debian, I was told 20 years ago by a very wise person "you never do make install on Debian, specially not for the kernel", and taught me how to use make-kpkg (or something like that, I don't remember the name of the tool), which was a way to make a debian package of a self built kernel, which is obviously something that can't be installed to its own prefix.

[-] suy@programming.dev 11 points 7 months ago

no more patching fuzzers to allow that one program to compile. Fix the program

Agreed.

Remember Debian's OpenSSL fiasco? The one that affected all the other derivatives as well, including Ubuntu.

It all started because OpenSSL did add to the entropy pool a bunch uninitialized memory and the PID. Who the hell relies on uninitialized memory ever? The Debian maintainer wanted to fix Valgrind errors, and submitted a patch. It wasn't properly reviewed, nor accepted in OpenSSL. The maintainer added it to the Debian package patch, and then everything after that is history.

Everyone blamed Debian "because it only happened there", and definitely mistakes were done on that side, but I surely blame much more the OpenSSL developers.

[-] suy@programming.dev 39 points 7 months ago

Is it, really? If the whole point of the library is dealing with binary files, how are you even going to have automated tests of the library?

The scary thing is that there is people still using autotools, or any other hyper-complicated build system in which this is easy to hide because who the hell cares about learning about Makefiles, autoconf, automake, M4 and shell scripting at once to compile a few C files. I think hiding this in any other build system would have been definitely harder. Check this mess:

  dnl Define somedir_c_make.
  [$1]_c_make=`printf '%s\n' "$[$1]_c" | sed -e "$gl_sed_escape_for_make_1" -e "$gl_sed_escape_for_make_2" | tr -d "$gl_tr_cr"`
  dnl Use the substituted somedir variable, when possible, so that the user
  dnl may adjust somedir a posteriori when there are no special characters.
  if test "$[$1]_c_make" = '\"'"${gl_final_[$1]}"'\"'; then
    [$1]_c_make='\"$([$1])\"'
  fi
  if test "x$gl_am_configmake" != "x"; then
    gl_[$1]_config='sed \"r\n\" $gl_am_configmake | eval $gl_path_map | $gl_[$1]_prefix -d 2>/dev/null'
  else
    gl_[$1]_config=''
  fi
[-] suy@programming.dev 18 points 7 months ago

I'm not fully sure what the intent of the joke is, but note that yes, it's true that a header typically just has the prototype. However, tons of more advanced libraries are "header-only". Everything is in a single header originally, in development, or it's a collection of headers (that optionally gets "amalgamated" as a single header). This is sometimes done intentionally to simplify integration of the library ("just copy this files to your repo, or add it as a submodule"), but sometimes it's entirely necessary because the code is just template code that needs to be in a header.

C++ 20 adds modules, and the situation is a bit more involved, but I'm not confident enough of elaborating on this. :) Compile times are much better, but it's something that the build system and the compilers needs to support.

[-] suy@programming.dev 10 points 7 months ago

Precisely, Gary Bernhardt has given a talk on ideology. I don't think he's precisely someone who thinks in absolutes. It's just preaching that some stuff is (probably) used more than it should. I've seen way, way, way worse projects that over engineered things and made things slow and unmanageable, than the opposite. Of course, everyone has seen different things, and our perceptions are amplified and biased by that.

365

Transcription: a Twitter thread from Gary Bernhardt.

  • You, the one who is reading this! You don't need Kubernetes!
  • Also microservices.
  • Also queues that are separate from your primary database (for most apps).
  • Google cosplay is not business-critical.

Source: https://twitter.com/garybernhardt/status/1344341213575483399

[-] suy@programming.dev 27 points 10 months ago

Thanks. I should have linked to that myself, perhaps.

288
submitted 10 months ago* (last edited 10 months ago) by suy@programming.dev to c/programmer_humor@programming.dev
[-] suy@programming.dev 28 points 11 months ago

Sometimes that's part of the issue (or the whole deal), but sometimes it's not even that.

Sometimes it's that someone asked something difficult and elaborate to answer, which has been answered a ton of times, and it's tedious to answer again and again. But if someone answers with misinformation or even straight FUD, then one needs to feel the urge to correct that to prevent misinformation.

I suffered that with questions in r/QtFramework. Tons of licensing questions, repeated over and over, from people who have not bothered to read a bit about such a well known and popular license as LGPL. Then someone who cares little for the nuance answers something heavy handed, and paints a wrong picture. Then I can't let the question pass. I need to correct the shitty answer. :-(

[-] suy@programming.dev 11 points 11 months ago

Radon, the "handwriting" one, seems like if someone wanted to have Comic Sans but for code.

view more: next ›

suy

joined 1 year ago