• Ignotum@lemmy.world
    link
    fedilink
    arrow-up
    1
    ·
    25 days ago

    I remember when a senior developer where i worked was tired of connecting to the servers to check its configuration, so they added a public facing rest endpoint that just dumped the entire active config, including credentials and secrets

    That was a smaller slip-up than exposing a database like that (he just forgot that the config contained secrets) but still funny that it happened

    • PattyMcB@lemmy.world
      link
      fedilink
      arrow-up
      2
      ·
      25 days ago

      That’s not a “senior developer.” That’s a developer that has just been around for too long.

      Secrets shouldn’t be in configurations, and developers shouldn’t be mucking around in production, nor with production data.

      • Ignotum@lemmy.world
        link
        fedilink
        arrow-up
        1
        ·
        24 days ago

        Yeah the whole config thing in that project was an eldritch horror of a legacy, too ingrained in both the services and tooling to be modified without massive rewrites

  • taiyang@lemmy.world
    link
    fedilink
    arrow-up
    1
    ·
    25 days ago

    This reminds me of how I showed a friend and her company how to get databases from BLS and it’s basically all just text files with urls. “What API did you call? How did you scrape the data?”

    Nah man, it’s just… there. As government data should be. They called it a hack.

  • Emily (she/her)@lemmy.blahaj.zone
    link
    fedilink
    arrow-up
    1
    ·
    24 days ago

    I absolutely despise Firebase Firestore (the database technology that was “hacked”). It’s like a clarion call for amateur developers, especially low rate/skill contractors who clearly picked it not as part of a considered tech stack, but merely as the simplest and most lax hammer out there. Clearly even DynamoDB with an API gateway is too scary for some professionals. It almost always interfaces directly with clients/the internet without sufficient security rules preventing access to private information (or entire database deletion), and no real forethought as to ongoing maintenance and technical debt.

    A Firestore database facing the client directly on any serious project is a code smell in my opinion.

    • Grendel@tiny.tilde.website
      link
      fedilink
      arrow-up
      1
      ·
      24 days ago

      @EmilyIsTrans @lena

      sounds like firebase itself is a hack.

      I’m honestly embarrassed by my fellow devs more often than not these days.

      What the fuck happened to craftsmanship? Or taking pride in your work?

      oh right, techbro startup culture garbage ended it.

    • tiramichu@sh.itjust.works
      link
      fedilink
      arrow-up
      1
      ·
      edit-2
      24 days ago

      It’s like people learn how to make a phone app in React Native or whatever, but then come to the shocking and unpleasant realisation that a data-driven service isn’t just a shiny user interface - it needs a backend too.

      But they don’t know anything about backend, and don’t want to, because as far as they are concerned all those pesky considerations like data architecture, availability, security, integrity etc are all just unwanted roadblocks on the path to launching their shiny app.

      And so, when a service seemingly provides a way to build an app without needing to care about any of those things, of course they take it.

      And I get it, I really do. The backend usually is the genuine hard part in any project, because it’s the part with all the risk. The part with all the problems. The place where everything can come crashing down or leak all your data if you make bad decisions. That’s the bothersome nature of data-driven services.

      But that’s exactly why the backend is important, and especially the part you can’t build anything decent without thinking about.

  • Diplomjodler@lemmy.world
    link
    fedilink
    arrow-up
    0
    ·
    24 days ago

    I always get irrationally angry when i see python code using os.path instead of pathlib. What is this, the nineties?

      • Diplomjodler@lemmy.world
        link
        fedilink
        arrow-up
        1
        ·
        24 days ago
        • Everything is in one library which offers consistency for all operations.
        • You can use forward slashes on Windows paths, which makes for much better readability.
        • You can access all the parts of a pathlib object with attributes like .stem, .suffix or .parent.
        • You can easily find the differences between paths with .relative_to()
        • You can easily build up complex paths with the / operator (no string additions).

        Just off the top of my head.