• 15 Posts
  • 540 Comments
Joined 6 years ago
cake
Cake day: May 31st, 2020

help-circle

  • I would argue that a substantial reason for their popularity is also just that devs have fun when developing them.

    With most other genres, you’ve seen the story a gazillion times, you’ve done each quest a thousand times etc… It just gets boring to test the game and it becomes really difficult to gauge whether it still is fun to someone who isn’t tired of it.

    Meanwhile with roguelikes, the random generation means that each run is fresh and interesting. And if you’re not having fun on your trillionth run, that’s a real indicator that something needs to be added or improved.




  • I also think ANY game should have a “full potato” mode capable of running in older computers with NONE of the fancy graphics stuff that we have access to today, despite having a decent computer now.

    Problem is that the fancy graphics stuff isn’t just additive.
    For example, raytracing is actually relatively simple to implement, since you just make light behave like it does in real-world physics, according to a couple relatively straightforward rules and material properties.
    Lighting without raytracing involves tons of smokes and mirrors hacks and workarounds. For example, mirrors were often faked by building the same room behind the wall, with everything inverted, including the player character’s animations.
    So, making a game with potato graphics typically requires building a second version of the game.

    Of course, there can be a mode that does just turn off the additive stuff, so only that which does not require changing the game implementation. But that can just be one of the graphics presets…



  • Their primary purpose certainly isn’t the same, but with JavaScript being used to implement text editors, it’s in a playing field where many would argue that Rust is better suited.

    Well, and Rust can play in JavaScript’s playing field, too: You can implement webpages in HTML+CSS+Rust by going through WebAssembly.


  • Man, at $DAYJOB, if we open-source something, they tell us to check for checked-in passwords and whatnot, and force us to throw away the commit history, which always feels stupid when we’ve known upfront that we’re going to open-source it and so kept things clean from the start.

    But then, yeah, you see a post like that and just think that it really wouldn’t have been too difficult to search for swear words before publishing.
    I mean, I also don’t really care, since it’s code rather than an official communication channel, but I can understand why management might care.


  • The description in the ticket isn’t too bad:

    allows users to make a window disappear and keep only its title bar visible.

    It really just hides the window contents. In effect, it is similar to minimizing a window, except that it doesn’t spring into your panel and rather stays in place as just the window title bar without the contents.

    It is a niche feature, if you couldn’t tell. But it isn’t some KDE specialty feature; various other desktops and window managers also support it. I think, it was more popular in the early days of graphical user interfaces, when we were still working out, how we want to do panels and such.

    And conversely, I do think it makes more sense as a feature on big screens like you can have today, where your panel might be quite a bit away.
    Don’t think, window shading will make a big comeback just yet, but yeah, probably enough existing users that use it, so that it would be cool to support that workflow.


  • Man, I keep having that problem, that some car or motorcycle sounds like it needs a repair to me, only for me to realize that, no-no, they want it to sound like that.

    Just yesterday evening, I heard someone revving before accelerating again after a stop at a crossing, and if they would’ve gotten out of their car at that point, I might’ve shouted over that, damn, sounds like they need to get their clutch looked at.
    Genuinely thought they failed to engage a gear multiple times. Meanwhile, they would’ve probably punched my face in, if I insulted their car like that. 🙃


  • I thought about creating something like that and the major problem that I see is that lots of meme templates do have copyright and the font that’s typically used for memes, Impact, isn’t free either. Well, and it isn’t done by merely developing a software and offering it for download. You would need to host the meme templates or some editor webpage, which is a whole 'nother skillset.

    If we say that users bring their own meme template, and it can be a free font that looks similar to Impact, and it’s not to be hosted as a webpage, then it would be quite doable.
    You would “just” need to call the ImageMagick library with the right parameters. Still not trivial, but the path to get there is fairly straightforward. I could imagine that something like that already exists as an open-source project…



  • I mean, modern package managers generally now come with lock files, which effectively auto-pin your dependencies, until you trigger a dependency update.

    And while it isn’t bullet-proof, it does result in you effectively having a dependency cooldown most of the time. You’re only vulnerable, if you trigger the dependency update while the compromised dependency release is public.

    Obviously, this can be bad enough, but it does also mean that an ecosystem with lock files is far less attractive to target with a supply-chain attack, since far fewer hosts will get compromised on average.



  • One time, I had to request firewall access for a machine we were deploying to, and they had an Excel sheet to fill in your request. Not great, I figured, but whatever.

    Then I asked who to send the Excel file to and they told me to open a pull request against a Git repo.
    And then, with full pride, the guy tells me that they have an Ansible script, which reads the Excel files during deployment and rolls out the firewall rules as specified.

    In effect, this meant:

    1. Of course, I had specified the values in the wrong format. It was just plaintext fields in that Excel, with no hint as to how to format them.
    2. We did have to go back and forth a few times, because their deployment would fail from the wrong format.
    3. Every time I changed something, they had to check that I’m not giving myself overly broad access. And because it’s an Excel, they can’t really look at the diff. Every time, they have to open it and then maybe use the Excel version history to know what changed? I have no idea how they actually made that workable.

    Yeah, the whole time I was thinking, please just let me edit an Ansible inventory file instead. I get that they have non-technical users, but believe it or not, it does not actually make it simpler, if you expose the same technical fields in a spreadsheet and then still use a pull request workflow and everything…




  • Personally, I find that (complex) software implemented in Python tends to be so unreliable that I typically don’t want to use it after all, but I only find that out after wasting a bunch of time learning the software.
    It’s just frustrating, especially if I come back to the software every so often, naively thinking that it’s been a few versions, so maybe they’ve fixed it. It’s always just different bugs, which still end up being too frustrating to use the software.


    To give an example, I like to compose music using Lilypond, which is more-or-less a programming language to create sheet music. And there is a program that’s supposed to give you a well-integrated workflow for that (i.e. an IDE), called Frescobaldi.
    The first time I tried it, playback of the composed music wouldn’t work.
    The second time, I couldn’t click on notes to jump to the respective code snippet.
    And I tried it again a few weeks ago and it just crashed immediately with an obscure error message.

    Instead, I’ve slapped together a script, which just opens the sheet music in my PDF viewer, the code in my normal editor and then uses a CLI tools to generate and playback the sheet music. And while it’s definitely not perfect, it has been working more reliably for me than Frescobaldi ever has.


  • Yeah, this discrepancy really irks me in programming, too. It’s really good at known problems, like student homework or whatever task a middle manager will throw at it to see how well it works.
    But because of the nature of software – if there is a solution, you can easily share it with everyone in the world – it’s kind of our job to work on anything but known problems.

    Yeah, there’s gonna be some known parts, where it may be able to assist, similar to a library or StackOverflow. But if it can put together your whole solution without tons of human input, chances are that solution is already out there and you should be using it instead.