Principal Engineer for Accumulate

  • 3 Posts
  • 161 Comments
Joined 2 years ago
cake
Cake day: June 12th, 2023

help-circle




  • You need to understand how code actually works. If you’ve only worked with highly abstracted languages like Python, Ruby, JavaScript, etc then you should probably start by learning lower level languages like C or C++. Or maybe Rust and Go but they’re kind of low level and abstracted at the same time. If you already know C/C++ then buy yourself an Arduino (or equivalent) and start screwing around. If you’re in school and interested in this as a career, take some electrical engineering or digital circuit design classes.



  • VSCode is the first development environment I’ve used that doesn’t make me feel like this. It’s not perfect but the base application is rock solid and the full DE experience is the more reliable than any other DE I’ve used.

    P.S. I specifically said DE for those people who say VSCode isn’t an IDE. Personally I don’t see the point in differentiating.

    P.P.S. Sublime is not a DE in my opinion. It’s an excellent text editor with syntax highlighting. The plugins were an afterthought and it was never intended to provide the full experience. Granted I haven’t used it in years.









  • I almost never create a tarball, so I have to look up the syntax for that. Which is as simple as man tar. But as far as extracting it almost couldn’t be easier, tar xf <tarball> and call it a day. Or if you want to list the contents without extracting, tar tf <tarball>. Unless you’re using an ancient version of tar, it will detect and handle whatever compression format you’re using without you having to remember if you need z or J or whatever.




  • I thoroughly agree, you should always have CI tools to ensure it builds, passes tests, and meets whatever formatting and/or linting standards the team sets. I was specifically responding to “Rust makes it harder for a ‘contributor’ to sneak in LLM-generated crap”. If I get a contribution from an untrusted party, I will start with the assumption that it’s utter garbage, buggy, broken, and malicious and review it until I’m convinced it’s not. Not because I assume the dev is bad but because it’s safer to assume the code is garbage. If I get a contribution from a trusted party (e.g. a member of the dev team/employee/whatever) I will review the code carefully though not with as much paranoia. I don’t particularly care if my teammates are using LLMs, but if they’re submitting code they don’t understand that’s a great way to get ejected from the “trusted contributors” group, and if they’re an employee it’s a good way to get fired if they keep doing it after being warned not to.


  • In what situation are you accepting contributions that you haven’t vetted thoroughly enough to detect crap code? I’ve seen a lot of crap from developers that’s as bad or worse than LLM generated crap so there’s no way I’ll ever accept contributions to an important system without thoroughly vetting them unless they’re from one of a very few number of people I trust implicitly.



  • Ethan@programming.devtoProgrammer Humor@programming.devRelatable
    link
    fedilink
    English
    arrow-up
    5
    arrow-down
    1
    ·
    2 months ago

    I didn’t say never copy and paste. I’m saying when you push a commit you should understand what all the LOC in that commit do (not counting vendored dependencies). If you don’t understand how something works, like crypto (not sure what Hamilton or Euler refers to in this context), ideally you would use a library. If you can’t, you should still understand the code sufficiently well to be able to explain how it implements the underlying algorithm. For example if you’re writing a CRC function you should be able to explain how your function implements the CRC operations, even if you don’t have a clue why those operations work.