• 0 Posts
  • 38 Comments
Joined 1 year ago
cake
Cake day: June 2nd, 2023

help-circle

  • Thank you for the explanation, now I understand the context on the original message. It’s definitely an entirely different environment, especially the kind of software that runs on a bunch of servers.

    I have built business programs before being a game dev, still the kinds that runs on device rather than on a server. Even then, I always strived to write the most correct and performant code. Of course, I still wrote bugs like that time that a release broke the app for a subset of users because one of the database migrations didn’t apply to some real-world use case. Unfortunately, that one was due to us not having access to real world databases pr good enough surrogates due to customer policy (we were writing an unification software of sorts, up until this project every customer could give different meanings to each database column as they were just freeform text fields. Some customers even changed the schema). The migrations ran perfectly on each one of the test databases that we did have access to, but even then I did the obvious: roll the release back, add another test database that replicated the failing real world use case, fixed the failing migrations, and re released.

    So yeah, from your post it sounds that either the company is bad at hiring, bad at teaching new hires, or simply has the culture of “lol who cares someone else will fix it”. You should probably talk to management. It probably won’t do anything in the majority of cases, but it’s the only way change can actually happen.

    Try to schedule one on one session with your manager every 2 to 3 weeks to assess which systematic errors in the company are causing issues. 30 minutes sessions, just to make them aware of which parts of the company need fixing.


  • Sorry, this comment is causing me mental whiplash so I am either ignorant, am subject to non-standard circumstances, or both.

    My personal experience is that developers (the decent ones at least) know hardware better than IT people. But maybe we mean different things by “hardware”?

    You see, I work as a game dev so a good chunk of the technical part of my job is thinking about things like memory layout, cache locality, memory access patterns, branch predictor behavior, cache lines, false sharing, and so on and so forth. I know very little about hardware, and yet all of the above are things I need to keep in mind and consider and know to at least some usable extent to do my job.

    While IT are mostly concerned on how to keep the idiots from shooting the company in the foot, by having to roll out software that allows them to diagnose, reset, install or uninstall things on, etc, to entire fleets of computers at once. It also just so happens that this software is often buggy and uses 99% of your cpu taking it for spin loops (they had to roll that back of course) or the antivirus rules don’t apply on your system for whatever reason causing the antivirus to scan all the object files generated by the compiler even if they are generated in a whitelisted directory, causing a rebuild to take an hour rather than 10 minutes.

    They are also the ones that force me to change my (already unique and internal) password every few months for “security”.

    So yeah, when you say that developers often have no idea how the hardware works, the chief questions that come to mind are

    1. What kinda dev doesn’t know how hardware works to at least an usable extent?
    2. What kinda hardware are we talking about?
    3. What kinda hardware would an IT person need to know about? Network gear?

  • Seems like a bad idea unless she’s very familiar with the projects she would help document. Documentation is notoriously not something that can be produced by a newcomer, because it requires experience that a newcomer doesn’t have.

    I guess the best way for a newcomer to help would be to try to use the product and ask every little question they have to make sure they receive the correct answers and context and, at the end of the process, enough knowledge would be gained to contribute at least one piece of documentation. But the bulk of the knowledge would still come from people that already know the product, so in terms of efficiency it’s way worse than having the authors write it.

    Of course, if the authors are unwilling or unable to write good (or any, even) documentation, having someone that has the will to gather the scattered information into a central place and work on it so it’s digestible and high quality is still unbelievably useful.

    But yeah, my point being that documentation is far trickier than it seems as far as open source contributions go.


  • Ah, no idea about live streams as I don’t watch those. I would imagine they have a different format for those as two ads every 2 to 5 minutes wouldn’t work for those.

    Now that I think about it, it may be because I don’t have an account so maybe google has less data to harvest and sell and so I get more ads. Unfortunately they might think that this would make me think “I should make an account” or “I should buy youtube premium”. Instead, I just think I need to avoid that place as much as possible.



  • It is genuinely infuriating to the point I simply uninstalled youtube on my iPhone and switched to using web-based alternatives. And yes, no need to lecture me on apple, I only have an iPhone for reasons. I’d rather have a linux phone instead.

    2 ads play every time you start a video. Maybe you’re watching a playlist and realize 5 seconds into the video that you already watched this one, so you click the button to go to the next video.

    Two more ads, no matter that you got two ads literally 5 seconds ago.

    Looking for a specific video that you don’t quite remember the title of? That’s right, two ads every time you go “hmm no, it wasn’t this one”.

    Two more ads are also guaranteed to play within at most minute 2, usually just after 60 seconds. So that’s a minimum of 4 ads in the first or second minute of any video you watch. After that, the amount of ads varies, but in my experience it’s not less than two every 5 minutes, and they happen randomly.

    So every 5 minutes at most you get 10 - 20 seconds of advertisements in the middle of a sentence. Wanna go back 10 seconds to refresh the context that was lost by the jarring interruption? No problem, have 2 more ads. Sometimes as much as 3 times in a row.

    The worst offender I had was a 30-ish minute video where, and I swear this is neither exaggeration nor hyperbole, two ads would play every two minutes, for the whole video (it’s also the video where I got two ads playing when I scrolled back 10 seconds, 3 times in a row). So overall on that 30 minute video I must have got around 45 to 55 ads (2 at the start, 2 every 2 minutes, 2 almost every time I scrolled back 10 seconds).



  • I am always amazed by how the japanese are often times very willing to experiment and be inventive in terms of melding their own culinary culture with foreign ones, considering the isolationist and conservative history and reputation they have overall as a people.

    To me, that simply says that food really is one of the universal languages.

    I’d love to try this dish if just for experimentation, although I suspect it wouldn’t be something I’d have more than once lol


  • Yeah, no judgement here, when one is poor they gotta do what they gotta do, and ketchup is probably cheaper than decent tomato sauce in some parts of the world I would imagine.

    That said, I am willing to bet that the same pasta but with actual prepared tomato sauce (that means put it on the stove, let it simmer, add some salt, maybe a bit of pepper or a pinch of chili flakes if you like, and a drop of EVO oil when it comes off the heat) in place of ketchup would be even better.

    Although in your case, the ketchup recipe likely brings back happy emotions relating to your childhood which, after all, are also part of the food experience. Cheers!


  • ugo@feddit.ittoLinux@lemmy.mlGoldilocks distro?
    link
    fedilink
    arrow-up
    6
    arrow-down
    1
    ·
    19 days ago

    +1. Arch is super easy to install, just open the install guide on the wiki and do what it says.

    It’s also really stable nowadays, I can’t actually remember the last time something broke.

    As a counterpoint, on ubuntu I constantly had weird issues where the system would change something apparently on its own. Like the key repeat resetting every so often (I mean multiple times an hour), weirdness with graphic drivers, and so on.

    That said, I also appreciate debian for server usage. Getting security updates only can be desirable for something that should be little more than an appliance. Doing a dist upgrade scares the shit out of me though, while on arch that’s not even close to a concern.



  • So are you saying that me pushing a pregnant woman down the stairs is the same as doing so to a non pregnant woman?

    Imo, no. Pushing a woman is assault, pushing a pregnant woman is assault and something else (another post suggested something akin to manslaughter, which I think fits if the assault causes a miscarriage)

    the pro-life response is simply that the unborn child doesn’t get a say in the matter.

    Correct. An unborn child doesn’t get a say in whether they are aborted or born. They have no opinions, they have no wants. The unborn child cannot consent to being aborted but they cannot consent to being born either. The only valid opinion and choice is that of the mother, because it’s the mother’s life that is very physically (and eventually also mentally, socially, etc) affected by the pregnancy.

    Which is also why I said that pushing a pregnant woman should have harsher penalties than just assault: it also endangers or destroys something whose state of being only the woman should be in charge of.

    It’s like if I pickpocket your wallet that’s stealing, but if I steal the wallet from your house that’s also breaking and entering.


  • As an italian my strong belief is that your wife should put whatever she wants on pizza. Hell it’s a flatbread with condiments, go crazy. It’s meant for it. If you want a none pizza with left meat, you should have a none pizza with left meat.

    Now if you put ketchup on pasta, I will judge your culinary literacy. Ketchup makes for a terrible pasta sauce


  • Meh. Been developing professionally with C++ for 10 years at this point. I’m one of the weird people that kinda likes C++ and its pragmatism despite all its warts.

    I’d like C++ better if it didn’t have inheritance. There are better solutions to model interfaces, and without inheritance people can’t write class hierarchies that are 10 levels deep with a different set of virtual functions overridden (and new virtual functions added) at each level.

    And yes, that is not hypothetical. Real codebases in the real world shipping working products do that, and it’s about as nice as you can imagine.


  • You do have a terminology mismatch. In C++, an abstract class is a class with at least one pure virtual method.

    Such classes cannot be instantiated, so they are useful only as base classes.

    An interface is more of a concept than a thing.

    Sure you can say that Iterable is an interface that provides the Next() and Prev() methods and you can say that Array is an Iterable because it inherits from Iterable (and then you override those methods to do the correct thing), and that’s one way to implement an interface in C++.

    But you can also say that Iterable<T> is a class template that provides a Next() and Prev() methods that call the methods of the same name on the type that they wrap (CRTP aka static polymorphism).

    Or you can say that an algorithm that scans a collection T forward requires the collection to have a Next() method by calling Next() on it.

    And I can think of at least 2 other ways to define an interface that isn’t using abstract classes.

    And even if using abstract classes, inheriting from them is definitely the least flexible way to use them to define an interface, because it doesn’t allow one to do something like mocking functionality in tests, because it’s not possible to redefine the class to be tested to inherit from the test interface implementation with mocked functionality, so one still needs something to the effect of dependency injection anyway.

    So yeah, abstract class is very different from inheritance, and it’s also very different from interface, even though it relates to both.


  • I think it’s possible that the filesystem ran out of inodes, so even though there is space on disk, there is no space in the filesystem metadata to store new files.

    Now, I don’t know off the top of my head how to check this, but I assume the answer is on the internet somewhere (am on phone and can’t help much more than this, sorry)