Skip Navigation

InitialsDiceBearhttps://github.com/dicebear/dicebearhttps://creativecommons.org/publicdomain/zero/1.0/„Initials” (https://github.com/dicebear/dicebear) by „DiceBear”, licensed under „CC0 1.0” (https://creativecommons.org/publicdomain/zero/1.0/)E
Posts
1
Comments
375
Joined
11 mo. ago

  • Forget the cloud. What if the ad is the operating system? Windows 12 will be using a distributed architecture, running on top of global ad networks. Every advertisement medium (TV, radio, web, video) will include an x86 interpreter that runs Windows services (ARM support will come later).

    The same tracking tech used to target you with that ad will be used to log you in to your Azure Copilot 365 OneDrive account, so you can access your files and applications seamlessly without having to remember a password or pin. When your smart toilet is showing you an ad for Draft Kings to earn your flush credit, you'll be able to check your emails, connect with the fam, or ask Copilot for assistance.

  • I'm sitting around doing IT shit waiting things to download/backup/install/etc and have nothing better to do, so here's an AI-free explanation with code samples:

    It's basically just a code style thing. Standard C allows you to declare unnamed structs/unions within other structs/unions. They must be unnamed, so it'd look like this:

     c
        
    struct test {
            int a;
            struct {
                    char b;
                    float c;
            };
            double d;
    };
    
      

    Which is fine, but the -fms-extensions flag enables you to do the same thing with named structs. For example:

     c
        
    struct test {
            int a;
            struct test2 {
                    char b;
                    float c;
            };
            double d;
    };
    
      

    without -fms-extensions, the above will compile, but won't do what you might assume. b and c will be members of struct test2, not test. So something like this won't compile:

     c
        
    struct test my_test;
    my_test.b = 1; // error: ‘struct test’ has no member named ‘b’
    
      

    But with the flag, not only does it work, it also lets you do some convenient things like this:

     c
        
    struct test2 {
            char b;
            float c;
    };
    struct test {
            int a;
            struct test2;
            double d;
    };
    //...
    struct test my_test;
    my_test.b = 1; //OK
    
      

    That is, you can reuse an existing struct definition, which gives you a nice little tool to organize your code.

    Source: https://gcc.gnu.org/onlinedocs/gcc/Unnamed-Fields.html

  • I decided to ask ChatGPT:

    That’s a fascinating question — and it depends on what you mean by “apps.”

    If we mean traditional installed applications (like Word, Photoshop, VSCode, etc.), then yes, it’s increasingly possible to get by without them — but only in certain scenarios. Here's how it breaks down:

    <a bunch of bullet points and emojis>

    So once again, Lemmy users show how STUPID they are for not realizing how fascinating this question is. Get clanked, meatbags.

  • Fuck it, just add a character creator to the Uber app, and it'll only match you with drivers that look like your custom character.

  • This is a complex situation, but I enjoy seeing Uber get sued regardless

  • The smallest company that I’m aware of that has their own laptop design is Framework, but their laptops are also about twice as expensive as equivalent models from other brands.

    Idk how big they are compared to Framework, but Starlabs makes their own laptops.

  • Mint is based on ubuntu, and doesnt have the corporate slop.

    What's corporate slop? Mint is just a mediocre rebrand with a different default DE, and way less maintainers/testers (which is why there are so many people asking why X doesn't work, where "X" is a basic thing any other distro does effortlessly)

    Bazzitte relies on flatpaks which is janky at best. Try explaining why you cant drag and drop in applications because they’ve been sandboxed…

    Flatpaks support drag and drop just fine. I think you're confused?

    As for fedora… what does it offer better?

    Than Mint? The same thing Ubuntu does: reliability. The average windows user isn't going to sign up to a web forum to post a question asking how to fix something that doesn't work, they'll just go back to Windows.

    The best way to avoid that is to not recommend a fragile OS like Mint. Fedora, Ubuntu, and Bazzite are all far better choices.

  • Stop recommending Mint, especially to beginners. Ubuntu, Fedora, and Bazzite are all better for first time users because they actually work, they have much larger support networks, and are overall much higher quality with a focus on basic reliability.

  • It was an idea he wrote about once for a high school homework assignment, and he got an A on it. (/s for people not familiar with Canonical's weird obsession with employee highschool performance)

  • The only reason I can think of to use a Snap is that you're using Ubuntu, and some package you expected to be available through apt is now only available as a Snap. The better solution is to not use Ubuntu, and rely on Docker or Podman to get anything not available as a system package.

  • Thank you Canonical for reinforcing my pre-existing opinions about Snaps, and your organization more broadly.

  • Because source maps show how shitty your organization's code and overall engineering practices are.

  • It's neat, but not a serious competitor to something like Framework. The MNT laptops are just cool shells around a Rock chip RK3588, which is a quad core ARM (meaning it only has two performance cores, and two efficiency cores). It's a good competitor in the Raspberry Pi world, but not a serious contender in the x86 one.

    If they somehow release a modern x86 version, RIP framework. Otherwise, I don't think many existing FW customers will be switching to MNT. (Although there are a lot of other better laptops on the market they could switch to)

  • It's just a weird coincidence that so many major tech CEOs are Indians. It's business as usual that tech CEOs are far right, regardless of race.

  • Actually got myself a job coding DS&Wii back in the day with my DS streaming tile engine

    Damn that's sick. Landing a real job from homebrew work is the coolest backstory for a game developer. I've got a couple of hb projects I'm proud of, but in the world of Unity and Unreal I don't see it as being a particularly in-demand skill set.

    ...not that I'd want to work for a game dev company in 2025 lol

  • What on earth did you run on a DS and windows? I’m curious!

    A homebrew game, of course! Well, more like a game engine demo. Making game engines is more fun than making games.

    I'm not sure why you find it so hard to believe, as it's pretty straight-forward to build a game on top of APIs like

     
        
    void DrawRectangle(...);
    void DrawSprite(...);
    
      

    Then implement them differently on each target platform.

    BTW we used hard coded in memory structures, not serialising stuff, you’d have a hard time doing that perfectly well on the DS IMO.

    You mean embedded binary data? That's still serialization, except you're using the compiler as your serializer. Modern serialization frameworks usually have a DSL that mimics C struct declarations, and it's not a coincidence. Look up any zero-copy serialization tool and you'll find that they're all basically trying to accomplish the same thing: load a binary blob directly into a native C struct, but do it portably (which embedded binary data is not)

    As for understanding your data, you need to know the size of the int on your system to set up the infamous INT32 to begin with!

    Nah, that's what int32_t is for. The people who built the toolchain did that for me.

  • Have you never heard of the concept of serialization? It's weird for you to bring up the Nintendo DS and not be familiar with that, as it's a very important topic in game development. Outside of game development, it's used a lot in network code. Even javascript has ArrayBuffer.

    Well cite me one then

    I've personally built small homebrew projects that run on both Nintendo DS and Windows/Linux. Is that really so hard to imagine? As long as you design proper abstractions, it's pretty straightforward.

    Generally speaking, the best way to write optimal code is to understand your data first. You can't do that if you don't even know what format your data is in!

  • If there are, none have managed to make a strong case for themselves yet. Systemd has proven itself to be a huge boon for sysadmins, especially at scale. These kind of anti-systemd efforts usually come from stubborn old timers who probably aren't even employed in a capacity where they'd have to work with an init system at all (maybe they were fired for having obsolete skills?).

    Yes I'm being a dick, but these people are also usually dicks, so fuck em.

  • I think the general path to enlightenment looks like this (in order of experience):

    1. Learn about patterns and try to apply all of them all the time
    2. Don't use any patterns ever, and just go with a "lightweight architecture"
    3. Realize that both extremes are wrong, and focus on finding appropriate middle ground in each situation using your past experiences (aka, be an engineer rather than a code monkey)

    Eventually, you'll end up "rediscovering" some parts of SOLID on your own, applying them appropriately, and not even realize it.

    Generally, the larger the code base and/or team (which are usually correlated), the more that strict patterns and "best practices" can have a positive impact. Sometimes you need them because those patterns help wrangle complexity, other times it's because they help limit the amount of damage incompetent teammates can do.

    But regardless, I want to point something out:

    the more these doubts are increasing and leading me to believe that most of it is just dogma that has gone far beyond its initial motivations and goals and is now just a mindless OOP circlejerk.

    This attitude is a problem. It's an attitude of ignorance, and it's an easy hole to fall into, but difficult to get out of. Nobody is "circlejerking OOP". You're making up a strawman to disregard something you failed at (eg successful application of SOLID principles). Instead, perform some introspection and try to analyze why you didn't like it without emotional language. Imagine you're writing a postmortem for an audience of colleagues.

    I'm not saying to use SOLID principles, but drop that attitude. You don't want to end up like those annoying guys who discovered their first native programming language, followed a Vulkan tutorial, and now act like they're on the forefront of human endeavor because they imported a GLTF model into their "game engine" using assimp...

    A better attitude will make you a better engineer in the long run :)