• 0 Posts
  • 35 Comments
Joined 9 months ago
cake
Cake day: January 5th, 2024

help-circle




  • I think we’re going to have to agree to disagree. If any project in any language has well-organized code, it’s down to a ton of effort.

    Assembly is harder to code in, period. It’s even harder when your code is a total mess and you didn’t plan ahead. For a large assembly project to survive at all, some structure is as necessary as oxygen. And not to mention, there are far fewer projects written in assembly anyway.


  • Okay, I’ll grant you brainfuck… As for assembly, I don’t think it’s inherently spaghetti. You can split it up into functions just like you can with an actual programming language. It’s not impossible to make structured code.

    That said, I never coded assembly outside of a mandatory university course, so I don’t feel super confident in saying that. But I don’t think of it as a programming language anyway - it’s a 1:1 translation to/from machine code, and machine code isn’t meant to make programming easy or scalable.


  • I firmly believe that every language has an equal proportion of spaghetti code to clean code. The only factor that might screw with this is how much a language is used in industry, which I’d expect raises the ratio. However, there’s plenty of hobbyists writing spaghetti code too so I don’t think even that factor has much effect.







  • Ooh, I did guess wrong! That is an interesting specimen.

    My suspicion is that they are experts in ergonomics, not in electrical engineering, so they probably aren’t aware of how silly and possibly dangerous what they did is. Or perhaps they simply don’t care because “it gets the job done”, standards and specifications be damned.

    Anyway, in this case I’m happy to be proven wrong. Thanks.


  • It makes sense, if I remember correctly the older USB cable (i.e. everything before Type-C) are passive, so as long as the pins are wired symmetrically it wouldn’t matter which side is which. But whoever made your keyboard really blundered, there is no reason in the world why anyone would do this. There’s so many options: the B connector, mini USB, micro USB. All would make sense to put in the keyboard. A just doesn’t.

    Let me guess: you got it from an ultra cheap online store? AliExpress/Wish/Temu?


  • I think the biggest problem I see with A to A is: who’s delivering power, and who’s receiving it? Maybe if you use it only with the device it came with then it’ll be fine, but if anyone tries to just hook up that cable to two random computers, it might actually cause a short circuit and fry something.

    Whereas Type-C was explicitly made to handle such situations.

    Or a shorter reason: Type-C cable is allowed by the spec while Type-A is not.




  • Yup, the .text “file” is binary, and I assume it’s exactly that - the executable machine code - but I did not try opening it with any hex editor or disassembler. I tried with a text editor, knowing in advance that it’s going to fail, and it did - there were a bunch of null or error characters shown and the editor crashed soon after.

    I honestly didn’t look any further into it, because I just don’t care. Archive Manager apparently just splits up the sections of the .exe and exposes them as if they were files in an archive. Seems as useful an approach as any.


  • NeatNit@discuss.tchncs.detoProgrammer Humor@lemmy.mlblahaj
    link
    fedilink
    arrow-up
    3
    ·
    edit-2
    2 months ago

    I’m assuming Unicode anyway, and UTF-8 is by far the most natural because most files will be in ASCII. A “normal form” (see link above), you might think of it as a canonical form, is a way to check if two strings are equivalent, even if they encoded the text differently. Like the example mentioned on Wikipedia:

    For example, the distinct Unicode strings “U+212B” (the angstrom sign “Å”) and “U+00C5” (the Swedish letter “Å”) are both expanded by NFD (or NFKD) into the sequence “U+0041 U+030A” (Latin letter “A” and combining ring above “°”) which is then reduced by NFC (or NFKC) to “U+00C5” (the Swedish letter “Å”).


  • NeatNit@discuss.tchncs.detoProgrammer Humor@lemmy.mlblahaj
    link
    fedilink
    arrow-up
    3
    ·
    edit-2
    2 months ago

    Well, I did get my hands on an exe file (some game on Steam) and opened it with Archive Manager. It does show some files, but the file properties say Type: application/x-ms-dos-executable (as opposed to application/zip). So it’s not an actual archive file, the archive manager is just displaying it as such to be helpful.

    The “files” I can see are:

    /.text
    /.reloc
    /.rsrc/version.txt
    /.rsrc/ICON/2.ico
    /.rsrc/ICON/3.ico
    /.rsrc/ICON/4.ico
    /.rsrc/GROUP_ICON/32512.ico

    I tried to create a zip file and rename it to .exe, but Archive Manager failed to open it at all which I found strange. You’d think it would look at the actual file contents to figure out what type of archive it is, and not rely on the extension.