• 1 Post
  • 59 Comments
Joined 2 years ago
cake
Cake day: March 25th, 2022

help-circle





  • Faresh@lemmy.mltoProgrammer Humor@lemmy.mlOf course
    link
    fedilink
    English
    arrow-up
    13
    ·
    edit-2
    1 month ago

    Is there any situation where you’d want to remember the opcodes? Disassemblers should give you user-friendly assembly code, without any need to look at the raw numbers. Maybe it’s useful to remember which instructions are pseudo instructions (so you know stuff like jz (jump if zero) being the same as je (jump if equal) making it easier to understand the disassembly), but I don’t think you need to remember the opcode numbers for that.

    Edit: Maybe with malware analysis where the malware in question may be obfuscated in interesting ways to make the job of binary analysis harder?





  • Something I’ve been for a while now is why this gender disparity is so strong in this specific area of engineering compared to all other engineering areas. People seem to claim it’s because of the “geek” stereotype, but that seems more like a symptom than a cause and I fail to see how it enforces this disparity, considering there’s nothing preventing a woman from being a geek too.


  • I wouldn’t trust ChatGPT with teaching me about some tool. It in my experience very convincingly spews out stuff it invented, and if one is still learning I can see it being hard to spot those errors. I use it to fix syntax errors in SQL queries, though, since I can’t be bothered to try understanding the not-so-helpful error messages I get with my queries, and because if chaptgpt tells a lie it will be caught by my syntax checker.

    So, I guess you can use it, if you always assume it to be trying to mislead you until proven to the contrary.


  • When using git and are working on a feature, and suddenly want to work on something else, you can use git stash so git remembers your changes and is able to restore them when you are done. There is also git add -p this allows you to stage only certain lines of a file, this allows you to keep commits to a single feature if you already did another change that you didn’t commit (this is kind of error prone, since you have to make sure that the commit includes exactly the things that you want it to include, so this solution should be avoided). But the easiest way is when you get the feeling that you have completed a certain task towards your goal and that you can move on to another task, to commit. But if you fail you can also change the history in git, so if you haven’t pushed yet, you can move the commits around or, if you really need to, edit past commits and break them into multiple.







  • Faresh@lemmy.mltoProgrammer Humor@lemmy.mlC++ Moment
    link
    fedilink
    English
    arrow-up
    4
    ·
    edit-2
    4 months ago

    Some people use tabs for indentation and spaces for alignment. It kind of gets the pros of tabs (user configurable indent-width) and the pros of spaces (alignment). That doesn’t work in Python where you can’t align stuff and the interpreter doesn’t allow mixing tabs with spaces, but in other languages it is a possible style.


  • Faresh@lemmy.mltoProgrammer Humor@lemmy.mlC++ Moment
    link
    fedilink
    arrow-up
    11
    arrow-down
    1
    ·
    edit-2
    4 months ago

    That’s not true though. You can get the backtrace and other useful information from the coredump mentioned by the error message by loading it with gdb. Not as good as attaching it to a living process, since you can’t see step-by-step what happens leading up to the error, but still quite useful.