• sp3ctr4l@lemmy.dbzer0.com
        link
        fedilink
        English
        arrow-up
        12
        arrow-down
        1
        ·
        edit-2
        12 hours ago

        I have definitely gone into a rageful fugue state and woken up a week later after reworking an entire code base from being an inconsistent mess of slop…

        …into actually having a common library of functions instead of just rewriting slightly different versions of them 8 times, having those functions only actually instantiated for necesarry classes…

        …rewriting every variable name and function name to an actually consistent and intelligible naming scheme…

        … and finally, moving a whole bunch of shit out of some kind of global ‘think’ type loop that doesn’t actually need to be called or checked every goddamned micro second.

        Done that more than once actually.

        Never look inside ‘baby’s first video game mod’ code, unless you have healthy blood pressure.

        But uh yeah, spite, hatred, and anger are indeed powerful motivators for making good code, lol.

        … so many idiots just jam everything into a global, called every tick loop, and then claim that it just can’t be optimized, because “the game engine just can’t handle it”…

    • ZILtoid1991@lemmy.world
      link
      fedilink
      arrow-up
      5
      ·
      11 hours ago

      I prefer the term “spite-driven development”.

      I wrote an SDL replacement but worse after SDL refused to work with audio streams for me even after a week of googling, it took me the same amount to get it work with WASAPI directly as looking up audio streams, instead of the many easymp3playback.dll type solution. Another one week was making ALSA working. At least it’s in D, so I have an easier time with development.

      I also almost was involved with a YanSim clone development called “Love Letter: My True Feelings”, but shit just started to hit the fan (character designer just left), so I decided to not get involved as a coder.

  • dejected_warp_core@piefed.world
    link
    fedilink
    English
    arrow-up
    31
    arrow-down
    2
    ·
    14 hours ago

    Speaking of coding out of spite, is nobody going to mention that his C code features a struct with over 20 fields in it?

    • wheezy@lemmy.ml
      link
      fedilink
      arrow-up
      18
      ·
      7 hours ago

      Oh man. You should see the source code for IOS (the Cisco one not Apple).

      Spent 5 years working on it out of college. I think it’s the most cursed code base you can imagine.

      Not necessarily because of the massive struct defs everywhere. They are kinda needed when you’re running an entire OS as basically a set of interacting Linux processes pretending to be an OS.

      At some point Cisco realized they could not compete without putting a Linux kernel as their base. So they basically just copy and pasted the old code written in the early 90s for the IOS and put it into a set Linux processes.

      To be clear. It’s not just the front end. They didn’t really change the code much from the old IOS. Its a cluster fuck of interprocess communication hacks that probably seemed like a good idea at the time.

      It is a massive pain in the ass to code because you’re basically doing everything on the Linux kernel and then frustratingly have to write the CLIs for IOS just so Cisco can continue to sell their proprietary OS with some of the most unnecessary hardware locks. Massive learning curve for any new engineer.

      Literally, no one on the entire switching team knew how to send a message from a specific process to the IOS process. I had been assigned something that needed it. So I somehow figured it out and was “the guy” for that for the time I spent there.

      Fuck. I’m gonna start ranting more if I go any further. But yeah, sometimes you need a massive struct because some idiot decided that forcing a closed source CLI on the market is a good idea for profits.

      Definitely not a good idea for coding. But you learn quickly that no one actually cares about good code in this industry. There is no time for it. There is no reason for it. Just spit out garbage until it works and your manager won’t care.

      If you want clean code. Go write an open source project or a personal project.

    • calcopiritus@lemmy.world
      link
      fedilink
      arrow-up
      27
      ·
      12 hours ago

      Sometimes you can’t not have a god class (struct in this case). When doing UI specifically, I always end up with one.

      You can try using encapsulation to reduce the amount of fields technically, but in the end it’s the same amount of information in a single god class.

      • qqq@lemmy.world
        link
        fedilink
        arrow-up
        7
        ·
        edit-2
        13 hours ago

        Not really, but I’d probably try to organize those into sub structures where it made sense. A data structure holding the UI state and FFT data all flat is kinda messy imo since it becomes unclear what is actually required where.

  • mohab@piefed.social
    link
    fedilink
    English
    arrow-up
    40
    ·
    16 hours ago

    What’s this dude talking about?! Everyone knows no one hates React like people who code in React 😂 No one is gonna get pissed off watching this.

    • criss_cross@lemmy.world
      link
      fedilink
      arrow-up
      4
      arrow-down
      1
      ·
      7 hours ago

      I remember years ago when React was the savior of web apps Swooping in engineers from the clutches of JQuery and AngularJS (not to be confused with Angular 2+). Components we’re gonna make things simpler than the mess of JS files and global state.

      And generally that’s true but we’ve traded that off for a mess of hooks and 700 line nested functions in nested functions and obtuse rules that only apply to react and not JS.

      Complex web apps are hard.

      • ClassifiedPancake@discuss.tchncs.de
        link
        fedilink
        arrow-up
        2
        ·
        4 hours ago

        I think it’s great and I’ve been working with it for 6 years. Many issues were resolved over time. We didn’t even have hooks back when I started! Those were dark times. And the new compiler helps with memoization.

      • Lemminary@lemmy.world
        link
        fedilink
        arrow-up
        4
        ·
        edit-2
        9 hours ago

        I don’t, but it can be really annoying when I accidentally fall for a common trap that I supposedly know how to avoid after all these years! Gah.

      • hraegsvelmir@ani.social
        link
        fedilink
        arrow-up
        10
        ·
        9 hours ago

        More specifically, an Indian divider for large numbers, kind of like how 万 (read ‘man’) works in Japanese. While Japanese (and I think Chinese) divide numbers greater than 1,000 in increments of 1万, or 10,000, up until you hit 100,000,000, in India, large numbers get split into lakh, representing groups of 100,000.

        • sag@ani.social
          link
          fedilink
          arrow-up
          3
          ·
          5 hours ago

          Oh, Is it my turn to tell the Indian Numbering System?

          Here how we divide

          100 > Sau Hundred 1000 > Hajar Thousand 1,00,000 > 1 Lakh Hundred Thousand 1,00,00,000 > *1 crore * Ten Million 10⁹ > 1 Arab 100 Crores or 1 Billion 10¹¹ > *1 Kharab * Hundred Billion 10¹³ > 1 Nil Hundred Trillion 10¹⁵ > 1 Padma Quadrillion 10¹⁷ > 1 Sankh Hundred Quadrillion

        • dzsimbo@lemmy.dbzer0.com
          link
          fedilink
          arrow-up
          4
          ·
          8 hours ago

          It’s so neat how different cultures adapted to numbers. Like French have something like 4 times 20 (and?) 2 to mean 82. In Hungarian if you say billió, that is one trillion rather one billion. We riff on the ending of million to express billion: milliárd.

    • ulterno@programming.dev
      link
      fedilink
      English
      arrow-up
      45
      ·
      17 hours ago

      That looks like buttons in the thumbnail, on the left of the visualisation.
      I’d say that’s enough to call it UI.

    • zr0@lemmy.dbzer0.com
      link
      fedilink
      English
      arrow-up
      16
      arrow-down
      1
      ·
      16 hours ago

      UI. User Interface. The bridge between a system and a user. So anything, literally any information transfer from the user to the system OR from the system to the user, is a User Interface.

      • deegeese@sopuli.xyz
        link
        fedilink
        arrow-up
        3
        arrow-down
        19
        ·
        15 hours ago

        A definition so broad as to be useless.

        Is it a UI when someone calls memcpy to move data from a file to a screen buffer?

        • lime!@feddit.nu
          link
          fedilink
          English
          arrow-up
          16
          ·
          edit-2
          15 hours ago

          why would you take the least charitable interpretation? there is no need to be hostile.

          and the answer, of course, is that it can be, as long as the information copied is meaningful for displaying to the user.
          you’re basically asking the equivalent of whether putting things into an array is an algorithm, which of course has the answer “it can be, depending on how you put it in”. so basically, the operation you’re highlighting is not the point.

        • ByteJunk@lemmy.world
          link
          fedilink
          arrow-up
          3
          ·
          13 hours ago

          This isn’t hard, you’re just trying to make it to be.

          Memcpy from a file to a screen buffer is as much a UI as pouring water in a pot is a soup.

        • zr0@lemmy.dbzer0.com
          link
          fedilink
          English
          arrow-up
          3
          ·
          edit-2
          15 hours ago

          I did not make this definition. However, this does not give you the freedom to make up your own definition and treat it as a fact. Don’t spread wrong information.

        • xthexder@l.sw0.com
          link
          fedilink
          arrow-up
          2
          ·
          edit-2
          14 hours ago

          I’m going to go with no, since that step is not transferring data to a human, it’s transferring it internally within the computer.
          UI can refer to either the medium, such as a visual display, speaker system, or keyboard, and it can also refer to a specific layout of information (like the Qwerty layout, or a webpage layout). I wouldn’t consider the USB protocol UI just because it can transmit HID Events, only the keyboard or mouse as a whole is UI.
          You could almost call HID events UI, but I’d still argue they’re more of a computer-device interface than a human-device interface

    • Cethin@lemmy.zip
      link
      fedilink
      English
      arrow-up
      4
      ·
      14 hours ago

      Would you agree that the dashboard of a car is UI? If so, isn’t that just data visualization?

  • Blackmist@feddit.uk
    link
    fedilink
    English
    arrow-up
    8
    ·
    edit-2
    14 hours ago

    There used to be a UI library on the Amiga called MUI.

    It used a bunch of C macros to let you define the window and all the controls. Was honestly pretty good considering it was like 30 years ago.

    • ArmchairAce1944@discuss.online
      link
      fedilink
      arrow-up
      9
      arrow-down
      1
      ·
      14 hours ago

      React is a Javascript based web development programming language developed by Facebook to make pages run faster and better. I learned it as part of a MERN stack full web development course.

      • grue@lemmy.world
        link
        fedilink
        arrow-up
        20
        arrow-down
        2
        ·
        13 hours ago

        to make pages run faster and better.

        Huh, well that’s a funny way of saying “break the model of web page as document and fuck up the entire web!”

        • RageAgainstTheRich@lemmy.world
          link
          fedilink
          arrow-up
          3
          ·
          8 hours ago

          Oh stop it. Are you saying you don’t enjoy pressing the “Back” button in your browser, but staying on the same page. Therefore breaking the page so you refresh and lose whatever the fuck you were doing? /s

        • CookieOfFortune@lemmy.world
          link
          fedilink
          arrow-up
          12
          ·
          13 hours ago

          Yeah because documents are limiting and we want to do stuff that executables can do but with a better distribution model.

            • CookieOfFortune@lemmy.world
              link
              fedilink
              arrow-up
              1
              ·
              6 hours ago

              Maybe. But performance, availability, and security killed a number of viable options. Flash was always more ubiquitous than Java on the web but it eventually died too.

              • grue@lemmy.world
                link
                fedilink
                arrow-up
                1
                ·
                edit-2
                5 hours ago

                Flash was also cancer that ruined web pages.

                The reason Java Web Start wasn’t, was specifically because once you clicked on the link, it downloaded the app and started it as a real desktop application, with its own window and taskbar entry and whatnot. It didn’t rely on being embedded in HTML (I’m spefically not talking about Java applets, BTW – they sucked too) or manipulating the DOM for its UI; it could use Swing and have the same look and feel as a native application.

      • leftytighty@slrpnk.net
        link
        fedilink
        English
        arrow-up
        5
        ·
        12 hours ago

        On the other hand React Native is a JavaScript based development language developed by Facebook to make applications run slower and worse.

  • underscores@lemmy.zip
    link
    fedilink
    English
    arrow-up
    11
    arrow-down
    6
    ·
    15 hours ago

    I’m an elitist asshole and I hate that people say “react dev” when really it’s “web dev that uses react”

    • jaybone@lemmy.zip
      link
      fedilink
      English
      arrow-up
      8
      arrow-down
      2
      ·
      15 hours ago

      Is this distinction really all that useful?

      I suppose you could write a react app that doesn’t use “the web”? But you still might just say they are a react developer.

        • jaybone@lemmy.zip
          link
          fedilink
          English
          arrow-up
          2
          arrow-down
          1
          ·
          10 hours ago

          Yeah I guess I’m old. Seems like everything is called “web dev” these days.

          I was answering a question somewhere related to something like C/C++ and Operating System level stuff. Someone replied asking where I learned “web dev.” I would consider that general programming, or possibly systems programming, but certainly not “web dev.”