• 0 Posts
  • 121 Comments
Joined 3 years ago
cake
Cake day: June 30th, 2023

help-circle

  • No, I’m on Fedora 41, though 42 just came out.

    Try a live USB to see if you like the interface. I suggest KDE-plasma if your computer is decent. It’s easy to switch desktops but just be aware that they can make a huge difference in the actual experience of using it, since the desktop is the way you generally interact with the OS. HDR seems to be working fine on KDR, too (wasn’t implemented on cinnamon).

    But from what I’ve heard, Bazzite is another solid choice, especially if you have an nvidia GPU. Though it’s immutable IIRC, which I don’t understand the full implications of but might be worth looking into to help make your decision.


  • If you’re reluctant because you’re expecting it to be a huge pain at first while you do setup and get used to it, I found it actually easier to get things set up on Linux the way I liked them than it does on a new windows install, or sometimes even after a windows update that resets some settings to default (without saying anything other than “your system is up to date” of course). It helped that most defaults are decent. The most time taken during the install was looking up what some choices meant in higher detail.

    Though I do have an AMD GPU, if you have an nvidia GPU, you’ll only get that easy experience on certain distros specifically set up for that, as I understand. Other distros can work with nvidia but require more tinkering as I understand. But for me, I didn’t even have to install GPU drivers. The first game I launched was more of a “wait, will this really just work without needing to install anything else?” than a “ok, time to play a game”. And it did work, at least after checking the “always use proton” option in Steam.

    And don’t worry too much about which desktop you initially select. It’s almost trivial to install and switch to another. Just be aware that cinnamon relies heavily on some form of JavaScript, to the point that my high end PC couldn’t keep up with rapid mouse movement without dropping some of the updates, though tbf it wasn’t a huge impact. But KDE-plasma handles the mouse way better. That’s on Fedora.


  • It’ll be you the next time you click allow for a steam hardware survey. Mine will be part of december’s for the first time since I switched, so I’m helping next month’s number increase.

    Though kinda funny how for a steam survey, I’m all for it, but any other attempt to get usage data gets a fuck no from me. I hope all future valve owners understand the value of that trust and don’t try to cash in on it like some MBA that who thinks thinking of the future means extrapolating the current quarter’s increase in earnings indefinitely into the future.



  • Was it multiple monitors or multiple systems? Can’t see if there’s another keyboard and mouse there in front of the one behind him. Though I suppose it was all supposed to be mainframe terminals (running Linux in the movie, which I’m not sure had a mainframe version, as I understand, it started as a Unix for desktops, where Unix was the mainframe OS).

    Edit: the Linux thing was my own bad memory, Lex recognizes Unix, which is weird because it was an experimental unix filesystem browser UI and most kids wouldn’t have access to machines that run any kind of unix, so it wouldn’t have been a “I played with some computers in my garage” kind of thing. Though being Hammond’s grandkids, it’s not outside the realm of possibility that she did have access to a mainframe either through Hammond’s companies or from access to universities and the like.



  • Oh yeah, the bit where SSDs move sectors around for wear evening is important. Because of that, it’s possible to completely fill up an SSD after deleting files and still have those files recoverable from the flash chips themselves. Without that secure erase, as I understand it, if a sector gets marked “bad”, whatever data is there might stay there forever (or at least as long as the cells hold a charge).

    So there’s no benefit to writing multiple passes over deleted data on SSDs as far as the flash is concerned, but multiple passes might make it more likely for the controler to actually direct those extra writes to a sector actually storing the data (though the odds might be low unless you’re overwriting all free space, though even that depends on how much space is free vs how many “spare” sectors there are, and even then it might be impossible to get it to write to a sector marked “bad”).




  • Yeah, who the hell associates macs with higher competence? Before the 00s, I associated mac users with stumbling on the worse option but not realizing it, after the 00s, wanting to follow trends and/or overpay for hardware to seem rich. They’ve always been form over function, and simplicity over power, which are things that novice uses look for, not more experienced ones.

    Or maybe more experienced ones when most of those experiences went badly and little was learned.



  • At one point I developed a habit of converting any recursive algorithm I was writing into a loop instead, since I knew function calls have overhead and all recursion really does is lets you use the calling stack and flow control as an invisible data structure.

    Then I got a question about parsing brackets properly during an interview and wrote a loop-based parser to solve it and the guy had to fish for a bit before I remembered recursion and realized that’s the answer he was looking for. My mind just wouldn’t consider using a whole calling stack when an integer would do the trick faster.


  • That assumes SetTimeout() is O(1), but I suspect it is O(log(n)), making the algorithm O(n*log(n)), just like any other sort.

    Did some looking into the specifics of SetTimeout() and while it uses a data structure with theoretical O(1) insertion, deletion, and execution (called a time wheel if you want to look it up), the actual complexity for deletion and execution is O(n/m) (if values get well distributed across the buckets, just O(n) if not) where m is the number of buckets used. For a lot of use cases you do get an effective O(1) for each step, but I don’t believe using it as a sorting engine would get the best case performance out of it. So in terms of just n (considering m is usually constant), it’ll be more like O(n²).

    And it’s actually a bit worse than that because the algorithm isn’t just O(n/m) on execution. It needs to check each element of one bucket every tick of whatever bucket resolution it is using. So it’s actually non-trivially dependent on the wait time of the longest value. It’s still a constant multiplier so the big O notation still says O(n) (just for the check on all ticks), but it might be one of the most misleading O(n)'s I’ve ever seen.

    Other timer implementations can do better for execute and delete, but then you lose that O(1) insertion and end up back at O(n*log(n)), but one that scales worse than tree sort because it is literally tree sort plus waiting for timeouts.

    Oh and now, reading your comment again after reading about SetTimeout(), I see I misunderstood when I first read it and thought you meant it was almost as fast as bucket sort, but see now you meant it basically is bucket sort because of that SetTimeout() implementation. Bucket sort best case is O(n), worst case is O(n²), so I guess I can still do decent analysis lol.


  • Maybe it’s from people suddenly realizing how many clients they have but not realizing that was already priced in and reflected in earnings because those clients didn’t all show up by surprise this quarter.

    Or maybe the downage revealed some new clients that hadn’t been priced in.

    Though when a tiny portion of the population owns such a large share of the wealth, stock prices are going to do pretty much whatever they want them to do.


  • That’s disappointing that they have different methods for each physical layer. That should be handled on the link layer using common methods once the physical layer is able to send bits back and forth.

    Getting an IP address shouldn’t be affected by whether it will be transmitted using fibre, dsl, cable, a 56k line, a quantum teleporter, signal fires, or carrier pigeons.


  • I mean, if there’s only three ways, couldn’t routers be set up to just try all three to see which works? Or if they each need specific parameters that aren’t discoverable, have a form that takes all of them but says “just enter what your ISP gives you, the others are optional”. Or set it up such that the client can just get whatever information it needs from the server to communicate with other nodes beyond the server. IPv4 has DHCP. Is there something in the way of applying a similar solution to IPv6?



  • I can’t recall if it was COBOL or FORTRAN, but I tried learning one of them after being pretty confident in picking up any other programming language I’ve tried to learn, including assembly (wouldn’t want to use that for large projects but I’ve written context switches and such), but I ended up giving up because it felt like the learning materials themselves were in some other language.

    Which sucked because I’m the kind of guy that thinks a task like refactoring millions of lines of legacy code into a more modern language would be fun (or satisfying at least). Phase 1 would be a 1:1 conversion (probably involving implementing various old language features in the new language or assembly to do it piece by piece), followed by phase 2 which would be a full redesign and rewrite, using the knowledge from phase 1 to ensue full feature parity. Because “we rewrote software but the new version doesn’t do x, y, z that the old one did” sucks. Glances at Blizzard.