rikudou

joined 2 years ago
MODERATOR OF
[–] rikudou 19 points 2 days ago (1 children)

The "important plot point" is Witcher schools. And I've been saying it for over a decade they've overblown them in the games.

[–] rikudou 13 points 3 days ago

I meant the character, not the name, I perhaps worded it poorly. Satan in this context is meant in the "accuser" sense. As in it's a role in a divine court, not an entity. Anyone could be the "satan" for the specific case, it's not a person, but a role.

[–] rikudou 2 points 4 days ago (1 children)

You might find my top level comment on this post interesting.

[–] rikudou 84 points 4 days ago (29 children)

Because it's all fake. Everyone who actually reads it finds way too many inconsistencies.

That's because it underwent some serious transformations across the millennia. Yahweh started as a storm god (basically Thor of Canaanite religion). Back then each nation in the religion had their own patron god and guess which god did the Israelites happen to have? Good old storm god Yahweh.

Over centuries the religion evolved and among Israelites Yahweh slowly took on attributes of other gods, mostly El (the all-father and creator of the universe) and Baal. First the other gods were degraded and monotheism was required, even though other gods were known to exist (you might remember the whole "jealous of other gods shtick" even though the rest of the Bible says there's only one god).

Then the other gods were slowly edited out of the Bible, though some remains persevere (the aforementioned jealousy of other gods, some gods are even mentioned by name). If the gods couldn't be removed because the story wouldn't make sense, they were mostly changed into angels or other mythical beings.

It's pretty funny rereading the Bible with this knowledge, you can clearly recognise which parts were the original Yahweh-the-storm-god and which used to be El-the-actual-creator by how he behaves in the story. When he's all jealous, rageful and angry, it's mostly based on the original Yahweh.

Anyway, that's basically what Old Testament is - a bunch of edits of much older religions. IIRC Yahweh precedes even the Canaanite religion, so it's a really old and grumpy storm god.

Now, New Testament is something else entirely, that was basically just slapped onto Judaism to have some legitimate and widely recognised vessel. Unlike the other edits, it didn't evolve naturally over time, it was just violently slapped onto the Old Testament.

Fun fact: try finding Satan anywhere in the old testament. You won't. Satan has been retrofit on multiple characters, but neither is mentioned directly as Satan, devil or really anything. The most famous one, the snake in the garden? Just a snake (which checks out with older religions where animals had a lot of influence). Then some morons come and say "actually, that snake was the grand adversary." The concept of a grand adversary wasn't really common in older religions, there usually wasn't a Satan-like figure. Compare for example with Greek, Roman or Norse gods.

So, in conclusion, the Bible is a horrible mess of edits that were made so the religion would serve the needs of the time they were introduced in. IIRC the Israelites were having some trouble with their neighbours back when Yahweh got the promotion, so having a strong sense of nationality would really help in keeping the nation together. New Testament is even more obvious because it didn't even really try to fit with the rest. They just tried to retrofit a few things and called it a day.

Well, this got longer than I planned, but I really like the topic and I don't think you can do it justice in two paragraphs. If anyone's interested, do some research, it's honestly fascinating! For example, what's the connection between Dionysus and Yahweh? That would be a homework for ya!

[–] rikudou 2 points 4 days ago

Driftland: The Magic Revival is pretty unique with the tiny shattered islands you have to connect to be part of your empire.

[–] rikudou 8 points 6 days ago (1 children)

What "this country"? Lemmy?

And I understand them searching for validation. It might be hard being anti-illegal-immigrant and everyone thinking you racist, even though your reasons are not racist nor xenophobic at all.

[–] rikudou 11 points 6 days ago

Many people think that propaganda means it's a lie. Often it is, but propaganda can be true while still being propaganda. Which is this case.

So, yeah, obviously it's a propaganda. Doesn't make Russian inhuman shooting of their own troops any better.

How delusional do you have to be to ignore that they've done so throughout history and even did so in this exact war? This is merely someone giving the order, it's not like we didn't know they did it.

[–] rikudou 1 points 6 days ago

Fun little thing, I let it compose a heartfelt song titled "a class shouldn't have 70 thousand lines."

[–] rikudou 7 points 6 days ago

In the immortal words of Linus Torvalds:

In short: just say NO TO DRUGS, and maybe you won't end up like the Hurd people.

[–] rikudou 2 points 6 days ago (1 children)

So NixOS but slower and worse?

[–] rikudou 3 points 6 days ago

That's a fucking wrong title if I've ever seen one. It hasn't been sold according to the article.

[–] rikudou 7 points 6 days ago (4 children)

How shocking, who would've expected such behaviour from Russia?

 
 

They auto-translated Original Poster as Původní plakát where "plakát" does mean "poster" but only the kind that you hang on a wall.

Another win for auto translation.

 
 
26
submitted 2 months ago* (last edited 2 months ago) by rikudou to c/rareinsults@lemmy.world
 
 

The time flies really fast! Exactly 2 years ago I was the one and only user of this instance and now there are thousands of us! So happy birthday to Lemmings.world and hope you all enjoy our small corner of the internet!

 

cross-posted from: https://chrastecky.dev/post/16

Starting with PHP 8.5, you'll be able to do the following:

 public function __construct(
    final public string $someProperty,
) {}

This wasn't possible before, as promoted properties couldn't be declared final.

Perhaps the more interesting part is that you can now omit the visibility modifier if you include final. In that case, the property will default to public:

 public function __construct(
    final string $someProperty, // this property will be public
) {}

Personally, I’m not a fan of this behavior — I prefer explicit over implicit. Fortunately, it can be enforced by third-party tools like code style fixers. Still, I would have preferred if the core required the visibility to be specified.

What do you think? Do you like this change, or would you have preferred a stricter approach?

 

cross-posted from: https://chrastecky.dev/post/16

Starting with PHP 8.5, you'll be able to do the following:

 public function __construct(
    final public string $someProperty,
) {}

This wasn't possible before, as promoted properties couldn't be declared final.

Perhaps the more interesting part is that you can now omit the visibility modifier if you include final. In that case, the property will default to public:

 public function __construct(
    final string $someProperty, // this property will be public
) {}

Personally, I’m not a fan of this behavior — I prefer explicit over implicit. Fortunately, it can be enforced by third-party tools like code style fixers. Still, I would have preferred if the core required the visibility to be specified.

What do you think? Do you like this change, or would you have preferred a stricter approach?

 

cross-posted from: https://chrastecky.dev/post/13

This change is quite straightforward, so this won’t be a long article. PHP 8.5 adds support for annotating non-class, compile-time constants with attributes. Compile-time constants are those defined using the const keyword, not the define() function.

Attributes can now include Attribute::TARGET_CONSTANT among their valid targets. Additionally, as the name suggests, Attribute::TARGET_ALL now includes constants as well. The ReflectionConstant class has been updated with a new method, getAttributes(), to support retrieving these annotations.

One particularly useful aspect of this change is that the built-in #[Deprecated] attribute can now be applied to compile-time constants.

As promised, this was a short post, since the change is relatively simple. See you next time—hopefully with a more exciting new feature in PHP 8.5!

 

cross-posted from: https://chrastecky.dev/post/13

This change is quite straightforward, so this won’t be a long article. PHP 8.5 adds support for annotating non-class, compile-time constants with attributes. Compile-time constants are those defined using the const keyword, not the define() function.

Attributes can now include Attribute::TARGET_CONSTANT among their valid targets. Additionally, as the name suggests, Attribute::TARGET_ALL now includes constants as well. The ReflectionConstant class has been updated with a new method, getAttributes(), to support retrieving these annotations.

One particularly useful aspect of this change is that the built-in #[Deprecated] attribute can now be applied to compile-time constants.

As promised, this was a short post, since the change is relatively simple. See you next time—hopefully with a more exciting new feature in PHP 8.5!

 

cross-posted from: https://chrastecky.dev/post/15

PHP has long had a levenshtein() function, but it comes with a significant limitation: it doesn’t support UTF-8.

If you’re not familiar with the Levenshtein distance, it’s a way to measure how different two strings are — by counting the minimum number of single-character edits (insertions, deletions, or substitutions) required to change one string into another.

For example, the following code returns 2 instead of the correct result, 1:

var_dump(levenshtein('göthe', 'gothe'));

There are workarounds — such as using a pure PHP implementation or converting strings to a custom single-byte encoding — but they come with downsides, like slower performance or non-standard behavior.

With the new grapheme_levenshtein() function in PHP 8.5, the code above now correctly returns 1.

Grapheme-Based Comparison

What makes this new function especially powerful is that it operates on graphemes, not bytes or code points. For instance, the character é (accented 'e') can be represented in two ways: as a single code point (U+00E9) or as a combination of the letter e (U+0065) and a combining accent (U+0301). In PHP, you can write these as:

$string1 = "\u{00e9}";
$string2 = "\u{0065}\u{0301}";

Even though these strings are technically different at the byte level, they represent the same grapheme. The new grapheme_levenshtein() function correctly recognizes this and returns 0 — meaning no difference.

This is particularly useful when working with complex scripts such as Japanese, Chinese, or Korean, where grapheme clusters play a bigger role than in Latin or Cyrillic alphabets.

Just for fun: what do you think the original levenshtein() function will return for the example above?

var_dump(levenshtein("\u{0065}\u{0301}", "\u{00e9}"));
 

cross-posted from: https://chrastecky.dev/post/15

PHP has long had a levenshtein() function, but it comes with a significant limitation: it doesn’t support UTF-8.

If you’re not familiar with the Levenshtein distance, it’s a way to measure how different two strings are — by counting the minimum number of single-character edits (insertions, deletions, or substitutions) required to change one string into another.

For example, the following code returns 2 instead of the correct result, 1:

var_dump(levenshtein('göthe', 'gothe'));

There are workarounds — such as using a pure PHP implementation or converting strings to a custom single-byte encoding — but they come with downsides, like slower performance or non-standard behavior.

With the new grapheme_levenshtein() function in PHP 8.5, the code above now correctly returns 1.

Grapheme-Based Comparison

What makes this new function especially powerful is that it operates on graphemes, not bytes or code points. For instance, the character é (accented 'e') can be represented in two ways: as a single code point (U+00E9) or as a combination of the letter e (U+0065) and a combining accent (U+0301). In PHP, you can write these as:

$string1 = "\u{00e9}";
$string2 = "\u{0065}\u{0301}";

Even though these strings are technically different at the byte level, they represent the same grapheme. The new grapheme_levenshtein() function correctly recognizes this and returns 0 — meaning no difference.

This is particularly useful when working with complex scripts such as Japanese, Chinese, or Korean, where grapheme clusters play a bigger role than in Latin or Cyrillic alphabets.

Just for fun: what do you think the original levenshtein() function will return for the example above?

var_dump(levenshtein("\u{0065}\u{0301}", "\u{00e9}"));
view more: next ›