moonpiedumplings

joined 2 years ago

Unless you are running at really large scales, or really small scales and trying to fit stuff that quite fit, memory compression may not be significant enough of an optimization to spend a lot of time experimenting a lot. But I'm bored and currently on an 8 GB device so here are my thoughts dumped out from my recent testing:

Zram vs Zswap (can be done at hypervisor or at host):

  • One or the other is commonly enabled on many modern distros. It is a perfectly reasonable position to simply use the distro's defaults and not push it any further
  • Zram has much, much better compression, but suffers from LRU inversion. Essentially after zswap is full, fresh pages (memory) goes to the swap instead. Since these pages will probably be needed, it will be slower to get them from the disk then to get them from zram.
  • Zswap has much, much worse compression but cold, unused pages are moved to swap automatically, freeing up space
  • I am investigating ways to get around the above. See my thoughts on this and other differences here: https://github.com/moonpiedumplings/moonpiedumplings.github.io/blob/main/playground/asahi-setup/index.md#memory-optimization

Kernel same page merging (KSM) (would be done at hypervisor level) (esxi also has an equivalent feature called something different):

  • Only really efficient if you have lots of the same virtual machines
  • Used to overcommit (promise more re
    • Dangerous, but highly cost saving. Many cheap VPS providers do this in order to save money. You can run four 8 GB vps on 24 GB of ram and take a semi-safe bet that not all of the memory will be used.

In my opinion, the best thing is to enable zram or zswap at the virtual machine level and kernel same page merging at the hypervisor level, assuming you take into account and accept the marginal security risk and slightly weaker isolation that comes with KSM. There isn't any point running zswap at two layers, because the hypervisor is just gonna spend a lot of time trying to see if it can compress stuff that's already been compressed. Than KSM deduplicates memory across hosts. Although you may actually see worse savings overall if zram/zswap compression is only semi-deterministic and makes deduplication ahrder.

I agree with the other commenter as well about zram being weird with some workloads. Like I've heard of I think it was blender interacting weirdly with zram since zram is swap, making less total memory available in ram, whereas zswap compresses memory. If you really need to know you gotta test.

[–] moonpiedumplings@programming.dev 2 points 1 day ago (1 children)

That's not quite true. Virtualbox is free but the extension pack is not. It says on the website that it's under a different license.

Just don't get it from the website but from a distro's repos instead and you'll be fine. Distros usually patch out telemetry as well.

But yeah, Oracle and similar schemes are why software installation is so restricted on corporate devices. It's basically ransomware, freeware that people are willing to sue over.

[–] moonpiedumplings@programming.dev 6 points 2 days ago (1 children)

Does the script attempt to run though? If linkedin runs this and other scripts it would explain why the site is so bloated.

[–] moonpiedumplings@programming.dev 9 points 2 days ago (3 children)

Does this work on firefox? Does ublock origin block this?

Is this why linkedin eats so damn much ram. It eays 300 mb for a single tab. I opened 3 linkedin tabs and it lagged my entire computer.

[–] moonpiedumplings@programming.dev 4 points 4 days ago (2 children)

Sometimes copyrighted stuff gets dmca'd?

Rust Coreutils Continues Working Toward 100% GNU Compatibility, Proving Trolls Wrong

98 comments

Phoronix, you are the trolls.

What about domain reputation?

[–] moonpiedumplings@programming.dev 6 points 6 days ago* (last edited 6 days ago) (4 children)

Have you considered that the reason why your mail server is trusted is because it's been around for 20 years?

Have you tried to set up mail from scratch on a new domain/ip recently?

[–] moonpiedumplings@programming.dev 4 points 1 week ago (10 children)

these ones: https://www.etsy.com/shop/SoHexy ?

I think I'm in love. They have such great variety, and the artstyle is so neat. And I love stickers because they are such great conversation starters.

Yes, there are often extensions to static site generators that have this. I like quarto because this is built into the static site generator itself and is just a toggle option but it is a common feature.

[–] moonpiedumplings@programming.dev 2 points 1 week ago* (last edited 1 week ago)

In the old days, university IT put essentially no access controls on their networks, so students' dorm computers were completely exposed to the internet

Dorm ethernet works this way for me right now. It's how I host some stuff. I only get 100 mb/s per port though. I've bonded two ports to get 200 total.

 

Tldr we want a static website that will last a long time and also look pretty nice.

Right now, we have a wordpress website. It looks very nice. It also have 4 extensions that aren't configured to auto update. Also whenever I try to make changes to the website they don't apply because the website was configured via the extensions and I hate it.

I want a static site of some kind. It's simple to self host or host anywhere, and it's also simple to secure and keep maintained for a long time.

I am currently looking at static site generators, like quarto, or docusaurus

However, they are difficult to theme to the "niceness" that I want, and their nature results in these somewhat fixed output formats. Like, it is somewhat difficult and annoying to put images anywhere I want them and etc.

Is there like a fixed WYSIWYG html editor? Something between designing a website from scratch and a static site generator. Or is there a way to finagle static site generators to be more flexible than blogs or documentation sites?

 

I hate all three. I understand some of the decisions but other ones are frustrating.

Let me explain what I used to do. What I used to do, is take advantage of the fact that firefox profiles are completely separate instances of firefox, each with their own settings and extensions. I would run my personal profile with highly aggressive and experimental settings, because I was ok with it crashing if it meant I learned interesting things. On the other hand, the profiles related to schoolwork and other more important tasks would be defaults, so they would be much more stable. I no longer consider this a necessary feature, but it was fun to play with.

The other big reason why I relied on the old profiles, is because they have separate cookies and whatnot, which is useful for when I want to have an account for each profile. Although Google happily lets you sign into multiple accounts from the same browser, Microsoft, Discord, and many other apps do not, and force you to sign out before signing in again.

But this is painful. Things never open in the profile I want them to by default, which is annoying. In theory, and I am considering doing this, the way to fix it is by creating app menu shortcuts for each profile, and then having them be the apps I select whenever I want to open a website link or file (with no default profile/app set, so I just select every time).

In addition to that, each profile had to have it's own mozilla account for syncing, which was annoying.

Containers seemed like a nice in between. I could use a single mozilla account for sync, but have seperate microsoft or other accounts on the same browser instance.

Except nope, they actually suck and don't work like that. I can't decide a window is dedicated to a container, so all tabs from xyz site will open in that container and give me that account. It constantly prompts me and it's painful and the UX for what I'm trying to do is miserable.

Containers seem designed more for isolating cookies between two different sites, rather than hiding instances of sites from themselves. Like the original version was a "facebook container", which would hide the facebook cookies from other sites, but I don't want that. I want to be able to log into multiple facebook accounts (hypothetically, I don't actually have a single facebook account but you get the idea).

The new profiles, if you've heard of them, somehow manage to combine the worst of both worlds. Firstly they are an entirely separate system and can't be managed by the second profile system. But they exist within a single one of the old profiles, meaning I can't do tricks with desktop shortcuts to make apps open in one profile or the other. But at the same time, despite existing within one profile, they each require seperate Mozilla accounts for sync.

I am very frustrated, but als resetting up my system so I am considering what to do. I am probably going to continue with profiles, but add app menu shortcuts for them.

Any better ideas?

28
Core War - Wikipedia (en.wikipedia.org)
submitted 1 month ago* (last edited 1 month ago) by moonpiedumplings@programming.dev to c/wikipedia@lemmy.world
 

Core war is a programming combat game, where players make MIPS-like assembly programs to fight eachother for control over a virtual system.

9
submitted 6 months ago* (last edited 6 months ago) by moonpiedumplings@programming.dev to c/emulation@lemmy.world
 

Firstly, I would like to begin with the way Duckstation was relicensed from GPL to CC-by-NonCommercial-Noderivatives (non-foss license).

I've seen a lot of people incorrectly claiming that this violates the GPL, but the way the duckstation developer did this was not a violation of the GPL. The duckstation developer gained prior contributors approval, and/or rewrote all GPL code for which they didn't.

source: https://www.gamingonlinux.com/2024/09/playstation-1-emulator-duckstation-changes-license-for-no-commercial-use-and-no-derivatives/

I have the approval of prior contributors, and if I did somehow miss you, then please advise me so I can rewrite that code. I didn't spend several weekends rewriting various parts for no reason. I do not have, nor want a CLA, because I do not agree with taking away contributor's copyright.

It should be noted that the version the AUR package uses is the older, still GPL version of the program. There is a git version which uses the latest, and it seems to be okay, but I should note that part of the packaging process on many distros, is essentially forking the software and making a derivative — something incompatible with CC ND.

I have been following this drama for a while, specifically on the r/emulationonandroid reddit community, and there is even more context to be had.

Now, about the dropping of Linux support. The problem, goes a lot deeper than "Arch users annoying".

Firstly, I want to state that there is a running, widely believed theory that Stenzek, the developer of the AetherSX2 android emulator, Talred, are the same person. You see this manifest in comments/posts like this one, but it's all over the sub. (This comment states that Stenzek was never really harassed and I disagree, I will get to that later/)

The problem is that this developer has a pattern of insisting on having a discord community, but being unwilling/unable to moderate it properly, or appoint other/enough moderators to act as a shield between them in the community members.

Arch users are what is being complained about, but the android emulation community has some pretty bad members, due to the high prevalence of children. So they would go on the discord, troll, harass, and be annoying. For example, this instance here.

It culminated with a final update that added ads and decreased performance: https://www.reddit.com/r/EmulationOnAndroid/comments/11q726j/do_not_update_aethersx2_on_google_play_i_repeat/

Now, I do not condone harassment, and I think that the members of the community who are acting in bad faith are ultimately in the wrong here. But at the same time, you are not obligated to have a discord for your software project.

In my opinion, the real problem here is the flawed idea that every software needs to have a "community". I have watched around 3-4 projects die due to harassment on discord (not all of them related to emulation), and it's clear that moderating a community actually takes work that not everybody is willing/able to give, especially if you are interacting with children. And the r/emulationonandroid software is particularly forgetful about this, as they just repeat these patterns over and over again and it drives me nuts.

I'm currently watching the latest android switch emulator use a discord server for communications and do their releases on Github —after the previous iteration's discord server owner locked down the discord server (a lot of blame is placed on powertripping mods but this is the kinda thing that happens when people get fed up with dealing with children tbh). And before that, the Nintendo DMCA fiasco happened. But don't worry, I'm sure the latest switch emulators combination of discord + github will go well and nothing bad will happen at all.

In addition to that, right now I am in 100 discord servers (they don't let you join more without Nitro), because people treat discord as an issue tracker and distribution hub for their small software projects and it drives me nuts.

I would prefer small software projects to not create a community, and instead integrate into existing communities that already have established moderators, so that they protected from harassment and children being annoying.

 

cross-posted from: https://programming.dev/post/33535348

Nixgl: https://github.com/nix-community/nixGL

Also, it seems like this requires the latest "stateversion", since this is a new feature.

This is pretty big, because it makes it easy to use applications that use the GPU from nixpkgs on non Nixos systems.

 

cross-posted from: https://programming.dev/post/33535348

Nixgl: https://github.com/nix-community/nixGL

Also, it seems like this requires the latest "stateversion", since this is a new feature.

This is pretty big, because it makes it easy to use applications that use the GPU from nixpkgs on non Nixos systems.

 

Nixgl: https://github.com/nix-community/nixGL

Also, it seems like this requires the latest "stateversion", since this is a new feature.

This is pretty big, because it makes it easy to use applications that use the GPU from nixpkgs on non Nixos systems.

 

cross-posted from: https://programming.dev/post/32779890

I want to like, block interaction with a window that I am keeping on top of other windows so I can see it but still click to stuff behind it.

It turns out mpv already has this implemented. https://github.com/mpv-player/mpv/pull/8949

Technically no windows or mac support (presumably it's possible there; dunno), but OP only asked for linux stuff so I'll close this

And then I could remove the title bar if I really don't want to interact with the app.

 

cross-posted from: https://programming.dev/post/32779890

I want to like, block interaction with a window that I am keeping on top of other windows so I can see it but still click to stuff behind it.

It turns out mpv already has this implemented. https://github.com/mpv-player/mpv/pull/8949

Technically no windows or mac support (presumably it's possible there; dunno), but OP only asked for linux stuff so I'll close this

And then I could remove the title bar if I really don't want to interact with the app.

 

I want to like, block interaction with a window that I am keeping on top of other windows so I can see it but still click to stuff behind it.

It turns out mpv already has this implemented. https://github.com/mpv-player/mpv/pull/8949

Technically no windows or mac support (presumably it's possible there; dunno), but OP only asked for linux stuff so I'll close this

And then I could remove the title bar if I really don't want to interact with the app.

view more: next ›