Skip Navigation

InitialsDiceBearhttps://github.com/dicebear/dicebearhttps://creativecommons.org/publicdomain/zero/1.0/„Initials” (https://github.com/dicebear/dicebear) by „DiceBear”, licensed under „CC0 1.0” (https://creativecommons.org/publicdomain/zero/1.0/)L
Posts
439
Comments
601
Joined
3 yr. ago

  • If you were right, we wouldn’t have the motivation to look at this in EWG.

    I am right. Not benefiting from RVO does not mean you're harming anyone.

    Again, I recommend you read the submission and also the discussion.

  • It doesn't look like it, otherwise you'd be aware that the whole point of this submission is that casting return values with std::move disables RVO.

  • Yeah, there is no standard.

    If you read the README.md file, you'll stumble onto the next paragraph right at its start.

    This is a basic layout for Go application projects. It's not an official standard defined by the core Go dev team; however, it is a set of common historical and emerging project layout patterns in the Go ecosystem. (...)

    I don’t like this repo and I’ve been recommending people avoid it for years.

    Unless you have a better reference that you can provide in place of this one, I don't think you're doing anyone any good. People use these documents for guidance, and no guidance at all is clearly not a better alternative to a concrete example whose worst traits is not fitting someone's vague, subjective opinion.

  • RVO

    I recommend you read the thread.

  • We do, but they’re all posting on Mastodon.

    You don't. Just because people exist and subscribe to a separate service, that does not mean they are or will be Lemmy users.

    Anyway, it's my 0.02$. It's ok if you or anyone disagree with me.

  • I wonder if the language could be updated so these extra std::move invocations actually become harmless? return std::move is something that I see used quite a bit.

    These std::move invocations are harmless, as they only cast objects to their rvalue reference.

    The destructive bit takes place in the type they are assigned to, as it invokes either a move constructor or a move assignment operator, and calling those implies that the object you just passed to std::move will be invalidated after the call and should not be used subsequently.

  • Cpp should have done ref by default and had & for copy, but here we are.

    That would defeat the goal of making it backwards-compatible with C.

  • They used it because it was an established term

    My graph theory is a bit fuzzy but I think that the definition of a branch in a directed graph corresponds to the path between two nodes/vertices. This means that by definition any path from the root node to any vertex is itself a branch.

    I don't think Git invented this concept, nor did any other version control system.

    I know that “branch” helps intuitively and visually when it’s actually an offshoot with one root and a dangling tip, like an actual tree branch…

    I think that your personal definition of a branch doesn't correspond to what graph theory calls a branch. Anyone please correct me if I'm wrong.

  • ASP.NET? The microsoft technology? That runs mostly on IIS?

    No, by ASP.NET I was referring to ASP.NET Core, whose latest LTS version was released along .NET 8.

    I find it absurd to make a plaidoyer to all git users to add another file to their repo to placate those unable, unwilling, or ignorant to adhere the standard.

    You only speak for yourself, and your comment clearly showed you were ignorant of some basic usecases that are behind the feature you were criticizing.

  • If a library or framework requires boilerplate code it’s a bad library or a bad framework.

    I think this take is uneducated and can only come from a place of inexperience. There's plenty of usecases that naturally lead to boilerplate code, such as initialization/termination, setting up/tearing down, configuration, etc. This is not a code smell, it's just the natural reflection of having to integrate third-party code into your projects.

  • no. I’m sick of cicd pollution in my project dir.

    This is about configuring the version control system you use to track your software. It has absolutely no relation with CICD systems.

    All that shit needs to go under hidden folders.

    On unix-like platforms, dot files are interpreted as hidden files. By design, .gitattributes is already hidden.

  • 99% of all servers a unix, which means code written for servers

    This is where you start to get things the wrong way.

    The code that runs on a server isn't necessarily built from source code in the same platform. You can easily have entire teams working on Windows on projects that incidentally only run on Unix-like OSes after they are deployed, which is the case of the whole ASP.NET stack.

    It makes no sense to dictate what newline character you enforce a project based not on which platform a team will use to work on the source code but on whatever platform the project may or may not be deployed.

    This approach is particularly absurd once you take into account the fact that Git supports line ending normalization, and it supports configuring which newline is used when checking out source code not only in a per-repository basis but also on a per-user and even per-local repository basis.

  • That’s right, hence wanting a MAUI community

    I'm not sure we are on the same page.

    Creating a community does not create traffic out of thin air. Either we have people interested on the topic, or we don't.

    Right now there are barely any users interested in .NET, and MAUI has a potential userbase that represents a small subset of the whole .NET userbase.

    Knowing this, what exactly leads you to believe that a post volume that barely goes above 1 post per day requires forking the original community to host a small subset of that traffic?

    My recommendation is that before you go about wanting to create niche communities forked out of other niche communities, you should focus your efforts on generating traffic in the communities that already exist. It would be ok if the request was for creating a community to an entirely different programming language/tech stack, but this isn't it. It's a request to create a community dedicated to a niche framework that's already a part of another framework for which there's already a community that's nearly dead. Again, about 3/4 of all communities in programming.dev barely register 1 active user/month. What's the value of creating yet another dead group?

  • I read your other reply. I don't think it holds water. To me the volume of traffic that's hitting !dotnet@programming.dev and even !nodejs@programming.dev, !ruby@programming.dev, !mongodb@programming.dev, etc already shows that it's not reasonable to expect users to flock here just because there's a community.

    Either you build niche communities to accommodate today's users, or you create them hoping that new users will flock here. A brief look at the long tail of communities in programming.dev will tell you that nearly 3/4ths of the communities already created register less than 5 users per month.

  • #dotNetMAUI has been used in posts 33 times in the last 26 days

    That largely corresponds to slightly over 1 post per day. That traffic ceiling is way higher than the traffic going into !dotnet@programming.dev

  • IMHO it’s unnecessary at this juncture, and further fragments already vastly under engaged communities (.Net & C#)

    I wholeheartedly agree. !dotnet@programming.dev currently gets an average of around 4 posts per week. from which zero tend to be about MAUI. I don't think there's a need to cut out a separate community to filter out discussions on topics that aren't being discussed.

  • Maybe it’s time for windows to stop using CRLF and join the modern world?

    Why do you think there is a problem and that's a solution?

  • So we should use this to make life easier for Windows users, mainly? Hmm.

    I think this might be helpful for teams who use an heterogeneous set of platforms to checkout and work on their code. Windows is one of them, although in this day and age it's also possible to configure IDEs to do the right thing.

    Another important usecase for .gitattributes is to force some file types to be handled as binary data types instead of text, and thus support different types of diff mechanisms. Case in point, a while back there was a discussion on how to track sqlite databases in a git repository in a way that a) the database file wasn't mangled, b) git diff actually outputted changes to the database instead of random noise. This stuff is handled at the .gitattributes level.

  • To me it’s not really excitement so much as “oh god how do i make this ridiculous language do the correct thing”.

    I think this all comes down to having the right mental model.

    In this case, I think it helps to know that:

    • returning by value by default implies making a copy,
    • ...but if the output type supports move semantics and the function returns a temporary value (rvalue) then the language is on your side and tries to move it instead of doing a copy.
    • and here's the kicker: now the language goes the extra mile and looks after you to avoid that copy, and if your return value allows the language to apply an optimization then the language is on your side and eliminates any potential copy without you having to do anything special.

    The zany behavior is that if you set up your function to push for a move (i.e., force a local variable to be treated as a temporary), the language ceases to be able to apply its optimization.

    That's basically it. No real mystery.

  • Actually Useful AI @programming.dev

    Discussion: where's all the content?

  • C++ @programming.dev

    C++23: Removing garbage collection support

    www.sandordargo.com /blog/2023/11/01/cpp23-garbage-collection
  • C++ @programming.dev

    Bjarne Stroustrup's Plan for Bringing Safety to C++

    thenewstack.io /bjarne-stroustrups-plan-for-bringing-safety-to-c/
  • C++ @programming.dev

    Tail Call Optimisation and C / C++ (2018)

    tristanpenman.com /blog/posts/2018/12/08/tail-call-optimisation-and-c-cpp/
  • Java @programming.dev

    Five Tools to Improve Your Java Code (2019)

    developer.okta.com /blog/2019/12/20/five-tools-improve-java
  • Programming.dev Meta @programming.dev

    Process to delete/remove abandoned communities?

  • C++ @programming.dev

    STL-style Circular Buffers By Example (2002)

    accu.org /journals/overload/10/50/goodliffe_389/
  • Node.js @programming.dev

    OpenSSL Recent Security Patches

    nodejs.org /en/blog/vulnerability/openssl-fixes-in-regular-releases-oct2023
  • Node.js @programming.dev

    Node v20.9.0 (LTS)

    nodejs.org /en/blog/release/v20.9.0
  • C++ @programming.dev

    Erase–remove idiom - Wikipedia

    en.wikipedia.org /wiki/Erase%E2%80%93remove_idiom
  • Programming @programming.dev

    GitHub - analysis-tools-dev/static-analysis: ⚙️ A curated list of static analysis (SAST) tools and linters for all programming languages, config files, build tools, and more.

    github.com /analysis-tools-dev/static-analysis
  • Cloud @programming.dev

    Why I think GCP is better than AWS (2020)

    nandovillalba.medium.com /why-i-think-gcp-is-better-than-aws-ea78f9975bda
  • C++ @programming.dev

    std::embed - All the Details

    thephd.dev /embed-the-details
  • C++ @programming.dev

    Please repeat yourself: The noexcept(noexcept(...)) idiom - The Old New Thing

    devblogs.microsoft.com /oldnewthing/20220408-00/
  • Git @programming.dev

    GitHub - ianchanning/awesome-github-alternatives: Love 'em or leave 'em.

    github.com /ianchanning/awesome-github-alternatives
  • C++ @programming.dev

    import CMake; the Experiment is Over!

    www.kitware.com /import-cmake-the-experiment-is-over/
  • C++ @programming.dev

    For processing strings, streams in C++ can be slow

    lemire.me /blog/2023/10/19/for-processing-strings-streams-in-c-can-be-slow/
  • C++ @programming.dev

    Overload resolution of function template calls

    learn.microsoft.com /en-us/cpp/cpp/overload-resolution-of-function-template-calls
  • Node.js @programming.dev

    Node v21.0.0

    nodejs.org /en/blog/release/v21.0.0
  • C++ @programming.dev

    Perfect forwarding forwards objects, not braced things that are trying to become objects - The Old New Thing

    devblogs.microsoft.com /oldnewthing/20230727-00/