• 2 Posts
  • 39 Comments
Joined 2 年前
cake
Cake day: 2023年6月13日

help-circle
  • The xz attack required years of patient work to build Jia Tan’s credibility through hundreds of legitimate patches. These [LLM] tools can now generate those patches automatically, creating convincing contribution histories across multiple projects at once.

    I don’t know, but maybe the current hype could have the opposite effect: if you try to flood many projects with AI-generated patches, you’ll be marked as AI-slopper and blocked from the projects, rather than become a trusted contributor? (OK, assuming a nation-state-like powerful adversary, it can probably do the real job of checking the AI output diligently in order not to be detected as AI spamming, while still getting some advantage of it, unlike those hordes of need-famous-open-source-contribution-in-my-CV who just copypaste the first nonsense which came out of AI into a PR.)




  • Add automatic normalization to the box (you know, you type “05” and it drops the leading zero, you type “0.70” and it drops the trailing zero, etc.) and it often gets completely impossible to write anything valid. Some banking apps do something similar. :-)


  • mormegiltoProgrammer Humoraverage c++ dev
    link
    fedilink
    arrow-up
    7
    ·
    4 个月前

    I understand the idea. But many people have hugely mistaken beliefs about what the C[++] languages are and how they work. When you write ADC EAX, R13 in assembly, that’s it. But C is not a “portable assembler”! It has its own complicated logic. You might think that by writing ++i, you are writing just some INC [i] ot whatnot. You are not. To make a silly example, writing int i=INT_MAX; ++i; you are not telling the compiler to produce INT_MIN. You are just telling it complete nonsense. And it would be better if the compiler “prevented” you from doing it, forcing you to explain yourself better.





  • mormegiltoProgrammer HumorProduction breaking driven developer
    link
    fedilink
    arrow-up
    6
    arrow-down
    1
    ·
    5 个月前

    This might work when the test really describes&tests the business rule, not when the test simply contains a mirror of the implementation with everything replaced by mocks and just checks that the implementation is what it is, conditioning all people changing the code in the future to always have to change the test as well.



  • I wanted to publish a tiny utility I created to GitHub (you know, it might be useful to someone else…). Before that, I wanted to some cleanup, rebasing/squashing a bit, etc. In the middle of that:

    $ git checkout featurebranch
    The following untracked working tree files would be overwritten by checkout:
    .gitignore
    .idea/…
    etc...
    

    Oh, sure, no problem…

    $ rm -rf * .*
    $ git checkout featurebranch
    fatal: not a git repository (or any of the parent directories): .git
    

    D’oh! (Never mind, it probably wouldn’t have been useful to anyone else, anyway.)








  • mormegiltoProgrammer HumorEasy choice
    link
    fedilink
    arrow-up
    78
    arrow-down
    1
    ·
    1 年前

    Tells you exactly what and at which line the problem is?

    Syntax error: unmatched thing in thing from std::nonstd::__map<_Cyrillic, _$$$dollars>const basic_string<epic_mystery,mongoose_traits<char>, __default_alloc_<casual_Fridays = maybe>>


  • mormegiltoProgrammer HumorC++
    link
    fedilink
    arrow-up
    13
    ·
    edit-2
    1 年前

    Sure, strtok is a terrible misfeature, a relic of ancient times, but it’s plainly the heritage of C, not C++ (just like e.g. strcpy). The C++ problems are things like braced initialization list having different meaning depending on the set of available constructors, or the significantly non-zero cost of various abstractions, caused by strange backward-compatible limitations of the standard/ABI definitions, or the distinctness of vector<bool> etc.


  • mormegiltoProgrammer Humor@lemmy.mlOf course
    link
    fedilink
    arrow-up
    3
    ·
    2 年前

    Int3 is a special single-byte (CC, if I recall correctly) form of the INT instruction (which is CD imm8, I think) to raise an interrupt. Interrupt #3 is the debugging interrupt, so by overwriting any instruction with CC, you place a breakpoint there.