Ephera

joined 5 years ago
MODERATOR OF
[โ€“] Ephera@lemmy.ml 3 points 1 hour ago

To be honest, it's quite distributed for me, in the sense that I'm often just subscribed to a single person for a given instance. I have multiple subscriptions for these instances, though:

[โ€“] Ephera@lemmy.ml 12 points 4 hours ago (1 children)

We could start sending radio waves there and if something happens to be alive there, the response wouldn't arrive until 300 years from now. ๐Ÿซ 

[โ€“] Ephera@lemmy.ml 1 points 6 hours ago* (last edited 6 hours ago)

Oof, I was just talking about making things declarative there. If you want to configure it the old-fashioned way, like you would on other distros, then those difficulties don't apply.

In more general terms, though, it's a bit of a double-edged sword. The Nix package repository has more packages than other package managers: https://repology.org/repositories/graphs

So, the chance of finding an obscure software, that's already packaged, is rather high.
Here's the online package search, if you want to check the availability of some of the obscure software you use: https://search.nixos.org/packages

But then, yeah, the flipside is that, from what I understand, you can't just download a random executable off of the internet and run it, because of the Filesystem Hierarchy Standard not being adhered to, as the post also mentions.
You can set up Flatpaks, and I believe AppImages would work, because those also live in their own FUSE filesystem. Well, and there is ways to emulate the FHS layout to get normal applications to run, too.

But yeah, way out of my field of expertise there. I have only one software installed which isn't packaged for Nix, which is a program I wrote myself.
And to get sufficient FHS emulation for that, I just needed this line in my config:

programs.nix-ld.enable = true;

More complex programs will need a bit of extra configuration: https://wiki.nixos.org/wiki/Nix-ld

(I could also add a flake.nix file into my software's repository, though, which would make it so it could be installed straight from my repo, as if it was packaged.)

[โ€“] Ephera@lemmy.ml 6 points 7 hours ago

I actually agree. This is my sneaky attempt at educating people about impl Deref. Although, I am still not sure how to feel about it, since I do actually see quite some similarities with inheritance...

[โ€“] Ephera@lemmy.ml 5 points 7 hours ago (1 children)

Well, you're in for a ride. The last half hour is the spiciest.

[โ€“] Ephera@lemmy.ml 2 points 11 hours ago

Screenshot the document, then paste it into a new document.

...I am just joking, I have no idea what they mean either. ๐Ÿ™ƒ

[โ€“] Ephera@lemmy.ml -2 points 12 hours ago (1 children)

What a confusing video. Halfway through, he starts talking about some online shop and at the end, he plays some online game, neither of which seems to have anything to do with the topic...?

[โ€“] Ephera@lemmy.ml 4 points 13 hours ago

Welp, I posted my hot take that impl Deref is similar to inheritance as a meme in !rust@lemmy.ml: https://lemmy.ml/post/42514248

Now, let's see how many feathers get ruffled. ๐Ÿ™ƒ

 
[โ€“] Ephera@lemmy.ml 3 points 15 hours ago

Oh wow, what the hell. I'm not actually familiar with C++ (just with Rust which gets similar reactions with the ampersands), but that's insane that it just copies shit by default. I guess, it comes from a time when people mostly passed primitive data types around the place. But yeah, you won't even notice that you're copying everything, if it just does it automatically.

And by the way, Rust did come up with a third meaning for passing non-references: It transfers the ownership of the object, meaning no copy is made and instead, the object is not anymore allowed to be used in the scope that passed it on.
That's true, except for data types which implement the Copy trait/interface, which is implemented mostly for primitive data types, which do then get treated like C++ apparently treats everything.

[โ€“] Ephera@lemmy.ml 3 points 15 hours ago

Yeah, I can understand the frustration. IMHO the Home-Manager way of doing things has some merits:

  • You can (generally) manage the installation of packages together with their configuration.
  • You can override individual configuration values for different machines (which I guess, you can also do via templating in chezmoi).
  • Some programs don't have a particularly readable configuration file or spread this configuration out over multiple files, or save all kinds of additional garbage into their configuration file which you don't want to persist. Home-Manager can work around all these issues, and in such a case is likely also better documented than the original configuration file.

That last point is one that's particularly relevant for me, because KDE Plasma's configuration files are largely terrible. Home-Manager, together with Plasma-Manager, is the only sane way I know of, to automate the panel configuration in KDE.

But yeah, if you don't use software with terrible configuration files, then I can certainly understand preferring dumb templating. I have also decided against using the Home-Manager-specific modules in places, or might only translate into the Home-Manager-specific module when I actually want to vary configuration values between two machines.


Just to give a quick impression of how terrible the KDE panel configuration is, this is a snippet out of the fittingly-called plasma-org.kde.plasma.desktop-appletsrc file:

[ActionPlugins][0]
MiddleButton;NoModifier=org.kde.paste
RightButton;NoModifier=org.kde.contextmenu

[ActionPlugins][1]
RightButton;NoModifier=org.kde.contextmenu

[Containments][1122]
activityId=f588743a-9bab-4f56-8f90-3616085ab6e0
formfactor=0
immutability=1
lastScreen=1
location=0
plugin=org.kde.plasma.folder
wallpaperplugin=org.kde.color

[Containments][1122][Wallpaper][org.kde.color][General]
Color=#79740e

Ah sorry, that doesn't actually show any of the panel configuration, because KDE mixes configuration for the panel and desktop widgets and the Activities feature (like workspaces, but with separate wallpapers and widgets for each Activity) all into the same file.
So, here's a snippet that actually shows the panel configuration, from just a few lines below the first snippet:

[Containments][1807]
activityId=
formfactor=3
immutability=1
lastScreen[$i]=0
location=5
plugin=org.kde.panel
wallpaperplugin=org.kde.image

[Containments][1807][Applets][1808]
immutability=1
plugin=org.kde.plasma.showActivityManager

[Containments][1807][Applets][1810]
immutability=1
plugin=org.kde.plasma.pager

[Containments][1807][Applets][1810][Configuration][General]
showOnlyCurrentScreen=true
showWindowIcons=true
wrapPage=true

[Containments][1807][Applets][1811]
immutability=1
plugin=org.kde.plasma.panelspacer

[Containments][1807][Applets][1812]
activityId=
formfactor=0
immutability=1
lastScreen=-1
location=0
plugin=org.kde.plasma.systemtray
popupHeight=432
popupWidth=432
wallpaperplugin=org.kde.image

What those numbers in e.g. [Containments][1807][Applets][1812] are? Ah, they just count those from 0 to infinity, whenever you add a widget through the UI.
And in case you were wondering since when INI allows for nesting section keys via [multiple][brackets]: It doesn't. That's a custom extension of the INI format, specifically in use by KDE.

Like, man, I love KDE for its features, but this is the stuff of nightmares.

[โ€“] Ephera@lemmy.ml 7 points 16 hours ago (2 children)

I guess, if you come from garbage-collected languages, you might be used to not needing the ampersands, because everything is automatically a reference in those...

[โ€“] Ephera@lemmy.ml 1 points 16 hours ago

I've only heard of them being trash so far. I was hoping they'd still have some resemblance of fun. But if the small fraction of folks who've upgraded to a Switch 2 actually were to play more than those on Switch 1, then that would be a pretty clear sign that it just isn't fun on Switch 1.

But yeah, I'm not yet taking that for granted from this piece of news. I would assume, they wanted to drop the Switch 1 so quickly, because then they can start extending the game in ways that use more resources, which might be fine on their other supported platforms.

 

I guess, I should've known better than to feel safe walking into this shop. ๐Ÿซ 

 

Was blindly reading scrolls to identify them. First, a scroll summoned butterflies. Then a scroll made it so they would explode on death.
Thought for half a second and decided to continue reading scrolls, because is there even a scroll that could kill these butterflies?

Well, there happens to be a scroll which summons poison gas.

Message log:

As you read the scroll labelled HODOOMMIX SATZ, it crumbles to dust.
You hear the flapping of tiny wings. It was a scroll of butterflies.
As you read the scroll labelled SAGEYN JEGGOTA, it crumbles to dust.
It is a scroll of enchant armour.
Your +0 animal skin glows green for a moment.
As you read the scroll labelled ITHROPL RULOUMO, it crumbles to dust.
The creatures around you are filled with an inner flame!
It was a scroll of immolation.
As you read the scroll labelled TANWOAKEKE, it crumbles to dust.
It is a scroll of amnesia.
You feel forgetful for a moment.
The air fills with toxic fumes!
As you read the scroll labelled QIUMAT BAMMYSCH, it crumbles to dust.
It was a scroll of poison.
Your butterfly is poisoned.
Your butterfly is engulfed in poison gas.
Your butterfly is poisoned.
Your butterfly explodes!
The fiery explosion engulfs your butterfly!!
The butterfly residue disappears in a burst of colours.
Your butterfly explodes!
The fiery explosion engulfs your butterfly!
The butterfly residue disappears in a burst of colours.
Your butterfly explodes!
The fiery explosion engulfs your butterfly!!
The butterfly residue disappears in a burst of colours.
Your butterfly explodes!
The fiery explosion engulfs your butterfly!!
The butterfly residue disappears in a burst of colours.
Your butterfly explodes!
The fiery explosion engulfs you!!
Ouch! That really hurt!
You die...

Absolutely beautiful. 10/10 game.

 
27
Announcing Rust 1.93.0 (blog.rust-lang.org)
 

Seems like another routine release. At least no huge surprises that I'm seeing...

 

It's a so-called "music tracker" software which is a specialized kind of application that emerged in the 80s for composing 8-bit-style music.

In general, it has a rather rigid structure, best suited for straightforward 4/4 melodies, where you can throw in some effects here and there. But the nice thing about that is that you're very quick to produce good-sounding results, even if they may be simplistic.

The most recent update (which was apparently more than a year ago ๐Ÿ˜…) added a synthesizer to create your own samples more easily. You need samples to make each note play a tone, so this makes it even easier to jump into. As a result, I am having quite a bit of fun with it, again, which is why I decided to post here. ๐Ÿ™‚

It is free and open-source (GPLv3).

 
 

Somehow missed this one in my RSS reader, so a bit late with the post. ๐Ÿ˜…

view more: next โ€บ