• 2 Posts
  • 27 Comments
Joined 1 year ago
cake
Cake day: July 6th, 2023

help-circle




  • It’s really more of a proxy setup that I’m looking for. With thunderbird, you can get what I’m describing for a single client. But if I want to have access to those emails from several clients, there needs to be a shared server to access.

    docker-mbsync might be a component I could use, but doesn’t sound like there’s a ready-made solution for this today.




  • Steam + Proton works for most games, but there are still rough edges that you need to be prepared to deal with. In my experience, it’s typically older titles and games that use anti-cheat that have the most trouble. Most of the time it just works, I even ran the Battle.net installer as an external Steam game with Proton enabled and was able to play Blizzard titles right away.

    The biggest gap IMO is VR. If you have a VR headset that you use on your desktop and it’s important to you, stay on Windows. There is no realistic solution for VR integration in Linux yet. There are ways that you can kinda get something to work with ALVR, but it’s incredibly janky and no dev will support it. There are rumors Steam Link is being ported to Linux, nothing official yet though.

    On balance, I’m incredibly happy with Mint since I switched last year. However, I do a decent amount of personal software development, and I’ve used Linux for 2 decades as a professional developer. I wouldn’t say the average Windows gamer would be happy dealing with the rough spots quite yet, but it’s like 95% of the way there these days. Linux has really grown up a lot in the last few years.




  • I’m sure there are plenty of Israelis that want to do this even if they won’t admit it to themselves but this isn’t the final anything. The IDF has killed around 37,000 Palestinians out of ~2.3 million. That’s horrible but nowhere near the “barely any left” stage.

    A genocide on the scale of millions takes industrial effort to accomplish. I’m not saying it couldn’t happen, but given Israel’s reliance on foreign aid, current industrial capacity, and political position, it seems unlikely. My guess is Israel will take some more territory and the conflict (kinda tough to call the IDF bombing almost exclusively civilians a war) will peter out. Foreign aid will be allowed back in and Israel will put its mask back on.

    Personally, I don’t see how this doesn’t end with half the middle east actively going to war with Israel if they don’t stop soon. The only thing really keeping them safe is the US, and Israel has burned a lot of political capital here. Their leaders are awful, power-hungry shits, but they’re not stupid. If they don’t try to rebuild some of that capital, there’s every chance that Israel loses its lifeline.

    What comes years after things die down, I don’t know. Gazan sentiment towards Israel was already overwhelmingly negative before this, but the IDF has never done anything on this scale before. I don’t think Israel can allow Gaza any type of self-governance for decades after this. This is beyond even post-WW2 Japan levels of destruction, and unlike Japan every nation around them is still on their side.


  • Yeah, I don’t fully understand why Nvidia cards have this problem on first setup with so many distros. On Windows, the default display driver can at least boot with reduced resolution on most cards made in the last 15 years until you install proper drivers. It seems like the Linux kernel and common desktop environments ought to be able to do the same.

    Maybe this is better in the 6.x kernel, I haven’t tried it. I’m not too much of a tinkerer, so the bleeding edge doesn’t interest me. I just want a good shell, POSIX for personal coding projects, and the ability to play games on Steam. Mint is great for that once you get past the initial display driver issues.



  • You’re using “machine learning” interchangeably with “AI.” We’ve been doing ML for decades, but it’s not what most people would consider AI and it’s definitely not what I’m referring to when I say “AI winter.”

    “Generative AI” is the more precise term for what most people are thinking of when they say “AI” today and it’s what is driving investments right now. It’s still very unclear what the actual value of this bubble is. There are tons of promises and a few clear use-cases, but not much proof on the ground of it being as wildly profitable as the industry is saying yet.





  • Updated to be specific, I’m using Cinnamon. Muffin is the builtin tiling window manager for Cinnamon and it does exactly what you’re describing. The problem is that it moves tiles, it doesn’t absolutely position them. You have to keep moving tiles around to get them where you want them, Rectangle just has hotkeys to immediately place and resize to fit the active window for each quadrant that it supports:

    • ctrl+cmd+left: top left quadrant
    • ctrl+cmd+right: top left quadrant
    • shift+ctrl+cmd+left: bottom left quadrant
    • shift+ctrl+cmd+right: bottom left quadrant
    • alt+cmd+left: left half
    • alt+cmd+right: right half
    • alt+cmd+up: top half
    • alt+cmd+left: bottom half
    • alt+cmd+f: full screen

    It’s hard to express how natural that feels after using it for a bit, and I’m still using a Macbook for work so the muscle memory is not going away.



  • Hyperfixating on producing performant code by using Rust (when you code in a very particular way) makes applications worse. Good API and system design are a lot easier when you aren’t constantly having to think about memory allocations and reference counting. Rust puts that dead-center of the developer experience with pointers/ownership/Arcs/Mutexes/etc and for most webapps it just doesn’t matter how memory is allocated. It’s cognitive load for no reason.

    The actual code running for the majority of webapps (including Lemmy) is not that complicated, you’re just applying some business logic and doing CRUD operations with datastores. It’s a lot more important to consider how your app interacts with your dependencies than how to get your business logic to be hyper-efficient. Your code is going to be waiting on network I/O and DB operations most of the time anyway.

    Hindsight is 20/20 and I’m not faulting anyone for not thinking through a personal project, but I don’t think Rust did Lemmy any favors. At the end of the day, it doesn’t matter how performant your code is if you make bad design and dependency choices. Rust makes it harder to see these bad choices because you have to spend so much time in the weeds.

    To be clear, I’m not shitting on Rust. I’ve used it for a few projects and great for apps where processing performance is important. It’s just not a good choice for most webapps, you’d be far better off in a higher-level language.


  • I wouldn’t shortchange how much making the barrier to entry lower can help. You have to fight Rust a lot to build anything complex, and that can have a chilling effect on contributions. This is not a dig at Rust; it has to force you to build things in a particular way because it has to guarantee memory safety at compile time. That isn’t to say that Rust’s approach is the only way to be sure your code is safe, mind you, just that Rust’s insistence on memory safety at compile time is constraining.

    To be frank, this isn’t necessary most of the time, and Rust will force you to spend ages worrying about problems that may not apply to your project. Java gets a bad rap but it’s second only to Python in ease-of-use. When you’re working on an API-driven webapp, you really don’t need Rust’s efficiency as much as you need a well-defined architecture that people can easily contribute to.

    I doubt it’ll magically fix everything on its own, but a combo of good contribution policies and a more approachable codebase might.