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

  • It’s used because the ones who use it have enough money to pay for any problems that may arise from it’s use, (...)

    That's laughable. Literally the whole world uses it. Are you telling me that everyone in the world just loves to waste money? Unbelievable.

  • That way we’ll just find maintainers went near extinct over time, just like COBOL developers that are as rare as they are expensive.

    Care to take a shot at figuring out why COBOL is still used today?

    I mean, feel free to waste your time arguing for rewrites in your flavor of the month. That's how many failed projects start, too, so you can have your shot at proving them wrong.

    But in the meantime you can try to think about the problem, because "rewrite it in Rust" is only reasonable for the types who are completely oblivious to the realities of professional software development.

  • You’d have had me ignore them all and keep using C for everything.

    Please tell me which language other than C is widely adopted to develop firmware.

    You're talking about so many up-and-comers during all these decades. Name one language other than C that ever came close to become a standard in firmware and embedded development.

    Right.

  • Node.js @programming.dev

    ExpressJS v5.0.0 released

    github.com /expressjs/express/releases/tag/v5.0.0
  • Data Structures and Algorithms @programming.dev

    When Bloom filters don't bloom

    blog.cloudflare.com /when-bloom-filters-dont-bloom/
  • Yeah, because the new tools are never actually better, right?

    Well, yes. How many fads have come and went? How many next best things already died off? How many times have we seen the next best thing being replaced by the next best thing?

    And yet, most of the world still runs on the same five languages: C, Java, C++, C#, JavaScript.

    How do you explain that, with so many new tools being so much better than everything?

    Might it be because fanboys tend to inflate their own definition of "actually better", while turning a blind eye to all the tradeoffs they need to pretend aren't there?

  • If you had a grasp on the subject you'd understand that it takes more than mindlessly chanting "tools" to actually get tangible improvements, and even I'm that scenario often they come with critical tradeoff.

    It takes more than peer pressure to make a case for a tool.

  • That seems like a poor attitude imo.

    Why do you believe that forcing something onto everyone around you is justifiable? I mean, if what you're pushing is half as good as what you're claiming it to be, wouldn't you be seeing people lining up to jump on the bandwagon?

    It's strange how people push tools not based on technical merits and technological traits, but on fads and peer pressure.

  • Clearly Rust is a conspiracy.

    Anyone in software development who was not born yesterday is already well aware of the whole FOMO cycle:

    1. hey there's a shiny new tool,
    2. it's so fantastic only morons don't use it,
    3. oh god what a huge mistake I did,
    4. hey, there's a shiny new tool,
  • They’re a member, because they find Rust useful. This is just them saying another time that they find Rust useful.

    Fans of a programming language stating they like the programming language is hardly thought-provoking stuff. There are also apps written in brainfuck and that means nothing as well.

  • The whole idea to check the donations came from stumbling upon this post which discussed costs per user.

    Things should be put into perspective. The cost per user is actually the fixed monthly cost of operating an instance divided by the average number of active users.

    In the discussion you linked to, there's a post on how Lemmy.ml costs $80/month + domain name to serve ~2.4k users. If we went through opex/users metric, needlessly expensive setups with low participation would be a justification to ask for more donations.

    Regardless, this is a good reminder that anyone can self-host their own Lemmy instance. Some Lemmy self-host posts go as far as to claim a Lemmy instance can be run on a $5/month virtual private server from the likes of scaleway.

  • Is there something else I’m not seeing?

    Possibly payment processing fees. Some banks/payment institutions charge you for a payment.

  • Data Structures and Algorithms @programming.dev

    What is a Log Structured Merge Tree? Definition & FAQs | ScyllaDB

    www.scylladb.com /glossary/log-structured-merge-tree/
  • Data Structures and Algorithms @programming.dev

    B-trees and database indexes

    planetscale.com /blog/btrees-and-database-indexes
  • C++ @programming.dev

    C++20 Modules: The possible speedup (2021)

    andreasfertig.blog /2021/09/cpp20-modules-the-possible-speedup/
  • Programming @programming.dev

    Good Refactoring vs Bad Refactoring

    www.builder.io /blog/good-vs-bad-refactoring
  • In C# I’m generally using Verify for these happyflow tests (...)

    I don't think this is related to this topic. The problem domain cover the exact opposite of happy flow tests: it's about maximizing edge case coverage by minimizing the amount of tests required. This has nothing to do with what invariants you're tracking, but how many tests you are using to cover the paths you're covering and how to tell which tests you can dump while keeping the same coverage.

  • I think you're trying too hard to confuse yourself.

  • With what in mind? Evading NULL?

    Depends on your perspective. It's convenient to lean on type checking to avoid a whole class of bugs. You can see this either as avoiding NULL or use your type system to flag misuses.

    Languages that make use of references rather than pointers don’t have this Dualism. C# has nullable references and nullability analysis, and null as a keyword.

    C#'s null keyword matches the monadic approach I mentioned earlier. Nullable types work as a Maybe monad. It's the same concept shoehorned differently due to the different paths taken by these languages.

  • I’ve never heard of evading null with a Null object.

    This is quite standard, and in fact it's even a safety feature. C++ introduced nullptr defined as an instance of std::nullptr_t explicitly with this in mind.

    https://en.cppreference.com/w/cpp/language/nullptr

    This approach is also quite basic in monadic types.

  • Programming @programming.dev

    Code Smells Catalog

    luzkan.github.io /smells/
  • It really depends on what problem you experience the most. Automated tests do require an awful lot of maintenance, and minimizing the number of tests you need to track all the invariants you care about is something that helps everyone in the long run.

  • .NET @programming.dev

    An Introduction to System.Threading.Channels - .NET Blog (2019)

    devblogs.microsoft.com /dotnet/an-introduction-to-system-threading-channels/
  • Git @programming.dev

    Git bisect run techniques

    paperless.blog /git-bisect-run-techniques
  • Software Testing @programming.dev

    Avoiding Test-Case Permutation Blowout (2021)

    www.stevenhicks.me /blog/2021/08/avoiding-test-case-permutation-blowout/
  • C++ @programming.dev

    Giving C++ std::regex a C makeover

    nullprogram.com /blog/2024/09/04/
  • Git @programming.dev

    Creating a Git commit: The Hard Way

    avestura.dev /blog/creating-a-git-commit-the-hard-way
  • Programming @programming.dev

    Notes on Distributed Systems for Young Bloods – Something Similar

    www.somethingsimilar.com /2013/01/14/notes-on-distributed-systems-for-young-bloods/
  • I often felt that current ML speeds up newbie devs by effectively teaching them the language and libraries — but slows down experts that already know the stack well from memory.

    It depends. You don't need LLMs to write stuff for you that you already know. You use them to take.care of the drudge work or explore things you are not familiar with. Things like Copilot's /explain can speed up onboarding even for seasoned developers, and Copilot can also help you speed up iterations on proofs of concept. For example, I've been using Copilot to experiment with some changes to the software architecture of some projects I own, and it's fantastic at generating code following specific design patterns. It's also fantastic to get it to iterate designs in near-real.time by prompting it with directives such as "repeat the last example but implementing X with design pattern Y and moving the implementation to Z". You are presented with examples that you can browse through and get a taste of what you'd get, but with a fraction of the time. To top things off, you can prompt Copilot to present pros and cons and even propose optimizations.

    Like any tool, it has its purposes. You just need to learn how to use it.

  • I don’t use chat, it’s usually useless.

    I think Chat is the most useful feature of Copilot. Prompts like /docs work impeccably, but /explain and /optimize is also pretty good. /tests is hit-and-miss if you have zero tests and require too much context if you already have them. More often than not /fix is a waste of time.

    Where I found Copilot to be quite useful is something unexpected: naming things. You can prompt it to give suggestions, you can ask it to refactor things for you. Quite nice.

    I think that Claude is far better at generating code, and explore new stuff, but Claude is also down and broken extremely often,not to mention it's annoying limit of 10 questions per half a day.

  • I use chat the most. It's pretty good once you understand the importance of building context, set up personas, and feed it workable prompts. The biggest mistake I see people do is presume that you can expect it to output gold when inputting garbage.

    Once you build up an understanding of what personas work for your personal tastes and what context you need to have, it can output impressive results. The most success I've been having is with somewhat complex refactorizations. Stuff like "refactor X so that Y and Y" can save you a lot of time.

    The most disappointing experience has been with writing unit tests. copilot has this infuriating tendency to remove old tests when you're prompting it to add new ones. You need to explicitly request it to append tests to file X without overwriting existing tests for it not to mess up, and even then results are sketchy. For unit tests it's also important to setup good contexts otherwise whatever time you save by prompting copilot to write them will be wasted refactoring code to use specific frameworks and follow specific styles.

  • Like most have already said, the auto complete is top tier (...)

    My experience is the exact opposite. Even though it has its moments, more often than not it just hallucinates and proposes a lot of stuff that neither matches definitions nor could possibly compile. I guess that this might reflect the impact of having classes with similar names in multiple namespaces but it's bad to the point I prefer to rely exclusively on plain old autocorrelation.

  • Data Structures and Algorithms @programming.dev

    Kuth’s Merge Sort in C

    www.yodaiken.com /2024/01/24/kuths-merge-sort-in-c/
  • Domain-Driven Design @programming.dev

    The failed promise of Domain-Driven Design - part 1

    no-kill-switch.ghost.io /the-failed-promise-of-domain-driven-design-part-1/
  • Web Development @programming.dev

    CORS is Stupid - Kevin Cox

    kevincox.ca /2024/08/24/cors/
  • Programming @programming.dev

    CORS is Stupid - Kevin Cox

    kevincox.ca /2024/08/24/cors/
  • Data Structures and Algorithms @programming.dev

    Flattening ASTs (and Other Compiler Data Structures)

    www.cs.cornell.edu /~asampson/blog/flattening.html
  • Data Structures and Algorithms @programming.dev

    The Vindication of Bubble Sort

    two-wrongs.com /vindication-of-bubble-sort
  • Cloud @programming.dev

    Gaia-X: A Federated Secure Data Infrastructure

    gaia-x.eu