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

help-circle









  • For a good while, Plex was the only game in town that did the job well, and they put the transcoding feature behind the paywall.

    Given it wasn’t that expensive for a lifetime pass a number of years ago (I remember it was cheaper than a game anyway) and they still seemed relatively user-centric at the time, many people like me felt like they were supporting developers building something that was useful to us.

    I still run my Plex server since it’s not really costing me not to, but I’ve been running Jellyfin too for a little while and it more or less can do the same job these days




  • Flashbacks to one of my early freelance PHP gigs I did about 2 decades ago where I opened up the existing backend source code to find a load of unsanitised user input directly from the query string getting interpolated into the various SQL queries the application made. Part of me also feels like the “bobby tables” xkcd already existed by this point, so I’ve got no idea how that website managed to not get nuked before I refactored it.

    To top it all off, of course the application authenticated with the database using the root user…

    Thankfully I think that was the worst I ever discovered in the wild




  • I wonder if the website did the thing where it lists their big customers like a trophy cabinet on the main landing page.

    It would probably make a good list of places to sell snake oil

    Also love that this is all evidence to back up the premise that building the happy path of an application is generally easy, one of the main skills in software engineering is ensuring the unhappy paths are covered sufficiently. I can say I’ve started a bank and keep people’s money in my wardrobe, I’ll be providing the service of holding their money—I’ll also probably get robbed sharpish because I’m not skilled in the kind of security needed to avoid that.


  • Yes, silly engineers that don’t like being held to unrealistic estimates and deadlines; typically the ones that arise at the start of a project where there are still who-knows-how-many unknowns to find.

    Waterfall is the most effective tool for software engineering in a world where the whole world stops once you’ve planned and only starts again once the project has finished—i.e. a fictional world that doesn’t exist. Literally every waterfall project I worked on back in the old days was derailed because something happened that wasn’t planned for—because planning for everything up front is impossible and planning for anything more than a handful of eventualities is impractical.

    Agile and subsequent methodology comes from realising that requirements will change and that you are better off accepting that fact at the time than having to face it once you’re at the end of the current road.

    Agile does not mean engineers talking continuously to the users, engineers are hired to do what they’re good at: engineering. Understanding user requirements and turning that into a plan has always been product’s job regardless of methodology, in agile and similar it’s just spread out over the duration of the project, not front loaded. Agile isn’t “make the engineers do every proficiency”.


  • A software engineer was not involved in this if waterfall is painted positively.

    I think the last time I heard an engineer unironically advocating for a waterfall IRL was about a decade ago and they were the one of the crab-in-a-bucket, I-refuse-to-learn-anything-new types—with that being the very obvious motivation for their push-back.