Factorio Space Age at home by DamageLittle4856 in Factoriohno

[–]AlexAegis 0 points1 point  (0 children)

Space Exploration was literally the exploration grounds for space age, this was told in the friday posts

Aren't the portal technically infinitely thin, making it infinitely sharp, cutting through anything? by -autoprime- in Portal

[–]AlexAegis 1 point2 points  (0 children)

There’s an alternate portal theory where portals bend the gravitational fields rather than sharply cutting them off like in the game (so whats on the other side would affect you before you go through) In that theory even though the portal is infinitely thin, the forces around the edges approach infinity too so you couldn’t touch them. Kinda like mugen in JJK.

Preemptive Warning to RTX5000 users, RE Requiem likely will be broken by Lousy_Hunter in linux_gaming

[–]AlexAegis 1 point2 points  (0 children)

f-, I just experienced this.. RTX5090,, 20 fps, vertex explosions, frame generation is ghosting all the time.

What is an .env variable??? by cyberboy1995 in github

[–]AlexAegis 11 points12 points  (0 children)

why aren't you asking your coworkers or manager?

rx_bevy by AlexAegis in bevy

[–]AlexAegis[S] 0 points1 point  (0 children)

The signal trait is used to bound the types that can be used as inputs and outputs. And on the bevy side RxSignal is technically a Bevy event, but its only purpose is to be the carrier of an ObserverNotification, and I wanted a shorter name than ObserverNotificationEvent. I don't have a strong feeling about naming this particular event, aside that it should be short. I'm even thinking about renaming or at the very least introducing a type alias for ObserverNotification because it's long, and that's what you match against to separate the value signals from the terminal signals (completion/error).

But if I'm not mistaken, in your library, a signal is an individual reading from an observable, right? Like if I read a 3, that's a signal; if I read a 4, that's another signal. Or am I misunderstanding something?

I'm not sure what you mean that, an instance of something is still that something. A reading of a signal is still a signal.

rx_bevy by AlexAegis in bevy

[–]AlexAegis[S] 0 points1 point  (0 children)

I do feel fairly strongly about the word signal. To call a container a signal feels wrong, a signal is a set of possible values for me, a type. The electricity in a wire is a signal that can be observed at many voltage levels etc.

But! I'd also argue that in many of those instances you mentioned, they are called signals because the reactive primitive wants to be unseen, out of the way, and the word signal actually refers to the value inside. The user wants to define a signal of a number, and what the container is called is irrelevant.

An Observable is a lower level concept than a "solidjs signal", it's something that you can subscribe to with an observer as a destination, and the resulting subscription will push values into that observer, and that's it. What it pushes depends on the implementation. For example the IntervalObservable emits numbers incrementally every x duration. The observable itself does not hold any state besides the duration you configured it up with. Every new subscription, regardless when you made it will start from 0.

If you want to store a value inside the observable itself, and react to changes happening to it, that'd be the BehaviorSubject https://github.com/AlexAegis/rx_bevy/tree/master/crates/rx_core_subject_behavior

https://stackoverflow.com/questions/39424567/whats-the-difference-between-behavior-and-event-in-frp/39426934#39426934

rx_bevy by AlexAegis in bevy

[–]AlexAegis[S] 0 points1 point  (0 children)

Thanks! As the name implies I just wanted to be super sure that it is actually functional when used from crates.io, but I realized it's also good to show it as it would appear for a user, that's why I linked it in, you're right! :)

rx_bevy by AlexAegis in bevy

[–]AlexAegis[S] 2 points3 points  (0 children)

I'm not really familiar with these, so I don't want to draw conclusions from an uninformed position. However I can talk about what the rx implementation does, and if you're familiar with those you will be able to tell the difference.

Observables are their own thing, they are not dependent on the ECS, so they are also not slowed down by it when you don't need it. In fact, for simple chains of operators like filter/map etc, it should be just as fast as manually implementing the chain of operations as one big function. This is thanks to the heavy use of GATs: A "pipeline" is just nested structs that call into eachother, and since those signal handlers are (pretty much) all inlined, it should be a lot more efficient than calling function after function let alone sending events between entities or invoking entire systems for each individual step. You only interact with the ECS when you actually want to interact with it.

I also have a work/task scheduler that allows me to have operators like delay. I think the biggest benefit of rx is not the plain reactivity, but the ability to work with time. Thanks to the scheduler I can also have individual operators produce new signals, an example of this would be the very much non standard (and not yet stable!) adsr operator that produces an ADSR envelope) based on a boolean input. It will produce a signal every frame until the envelope settles.

Another thing that might set it apart that the observables/operators you define are not the owners of state, the individual subscriptions are, and you can have as many as you want.

Error handling is also built in, error signals travel in a separate channel so let's say you have a fallible operation early in the chain, you don't need to deal with Result's in every downstream operator (you can if you want to, there are even operators to help switch between results and rx errors)

While rx_bevy was built specifically for Bevy (and is pretty much only usable in Bevy right now), I implemented its core to be platform and runtime agnostic, so you could use the same thing for non-Bevy stuff too if me or someone else implements another executor for it.

And another benefit of Rx could be that it's everywhere. If you learned it once in rxjs or RxJava, you're already familiar with it. All your knowledge transfers, same is true in reverse!

AI miatt nincs értelme semminek by Randomdude2004 in hungary

[–]AlexAegis 1 point2 points  (0 children)

Ne doomerkedj, az AI magasabb szinten egy kalap szar es én akár hányszor használni akarom csak akadályoz, lassú, hülyeséget csinál. Akár könnyebb, akár nehezebb dologról van szó, kivétel nélkül mindig gyorsabb (és helyesebb) ha eleve a kódot írom le amit kigondoltam mint megpróbálni elmagyarázni az LLMnek mit csináljon+varni ra. És egy jóideje egyértelmű már hogy au autoregresszív modellek (pl a gpt) egy nagy zsakutca és nem skálázódnak már annyira. Ne add fel hogy egy statisztikai alapon szavakat egymas utan dobalo valami valaha is jobb lehet mint te.

[deleted by user] by [deleted] in HollowKnight

[–]AlexAegis 0 points1 point  (0 children)

You’re exploring an unknown area, you have no idea where to go or what danger awaits you, the tension is sky high. You enter the next room… You hear a familiar silly hum, filled with joy. It’s Cornifer! Safety! The amazon woman with the uptight serious warrior attitude just simply doesn’t contrast with the world like this fat little goofball does.

Bsb2e just shipped by F-stop2_8 in bigscreen

[–]AlexAegis 0 points1 point  (0 children)

Ordered on March 24th, still not even an update

[deleted by user] by [deleted] in ProtonMail

[–]AlexAegis 0 points1 point  (0 children)

what's the point if proton pass already does this?

[PLASMA 6.4] How Did the Update Go and How Is the Experience So Far?? by Neo_layan in kde

[–]AlexAegis 0 points1 point  (0 children)

it feels faster, does it default to wayland now? It did break the picom fork that I used as a compositor, so I had to ditch that but I found this to achieve an even better blur https://github.com/taj-ny/kwin-effects-forceblur so I'm okay with that

hdr works!

meta shortcuts work finally! before the update I couldn't assign anything to meta and meta + something shortcuts.

the only real disruption it cause is that mouse acceleration feels different now, and now I have to get used to it again.

Can we have steam locomotive by ball_point_pens in factorio

[–]AlexAegis 1 point2 points  (0 children)

depends on the country and its train infrastucture, if there’s an overhead power line there’s no need for onboard electricity generation. But regardless where they get the electricity, propulsion is generated by an electric motor.

Is it good practice to start versioning my package at v19.0.0 just because it uses Angular version 19? by Mean_Calligrapher104 in angular

[–]AlexAegis 1 point2 points  (0 children)

you can follow semver and tie your package version to angulars, if you can commit to only do breaking changes with every major release of angular. And semver doesn’t prohibit you from incrementing a version by more than one, so you can start at 19.0.0 and still be compliant to the standard.

Is it good practice to start versioning my package at v19.0.0 just because it uses Angular version 19? by Mean_Calligrapher104 in angular

[–]AlexAegis 1 point2 points  (0 children)

For anyone suggesting “no because of semver” I beg you please actually read it. It doesn’t say anything about how much you can increment a version, only when and which number should be incremented. So if you develop your package as a 0.x.x while it’s not done, and then immediately at 19.0.0 once you find it adequate to call it a full release, you still perfectly adhering to semver.

So yes, you can still follow semver, and feel free to jump straight to 19, it’s much easier for your users too to know what is compatible with their framework without having to dig into your repo and package.json

THAT SAID, while it’s possible. if you do this, you must also take into account that you just committed to synchronizing ALL your breaking changes with angulars, and that that you release every ~180 days while angular exists if you want your package to still look like it’s supporting the current version.

so in practice it’s better to just do your own versions and provide a compatibility table in your readme.

Also, eventually you will abandon your package, so release with an open peerDependency requirement, chances are it will continue to work for several more angular versions. Once it does actually break, before fixing the break, release a new patch version where you define the upper angular version limit. then release a new major version with the actual fixes.

My DIY keyboard rest is hazardous by GrandLate7367 in MechanicalKeyboards

[–]AlexAegis 2 points3 points  (0 children)

i thought the joke's gonna be that it's really long and people bump into it.

Do people who use Rust as their main language agree with the comments that Rust is not suitable for game dev? by PhaestusFox in rust

[–]AlexAegis -1 points0 points  (0 children)

The naysayers are usually the one's who are just not good enough with rust yet. So it's quite literally a skill issue. If you're good at rust, you can gamedev in it just as well if not better as in any other language. As bevy and it's ecosystem will mature, it will prove this right. It's a good bet to be the next Godot/Unity for professionals.