Lars Hanisch
@flensrocker.de
280 followers 420 following 880 posts
Developer & Architect on .NET and Angular. Playing guitar in a rock band to escape.
Posts Media Videos Starter Packs
flensrocker.de
git commit -m "final"
flensrocker.de
Once upon a time I knew a lot about the Wavelet Transformation. Almost 30 years ago...
flensrocker.de
I cannot thank you enough for this!
flensrocker.de
Yes, somewhere in the 80s... I think I got my C64 around 86 or 87... With "datasette"!
Reposted by Lars Hanisch
chaosmonster.bsky.social
"Old enough that I can hear the sound of dial-up internet when I close my eyes, young enough to care about up-to-date emoji usage."
This age range description by @kristenmthayer.bsky.social resonates deeply with me
flensrocker.de
My favourite song: Frogger by Atari (on tape)
flensrocker.de
Herzlichen Glückwunsch!
flensrocker.de
Wish I was there... 🎶
viteconf.org
As we are getting ready for Day number 2, kicking off with the Creator of Vite @evanyou.me 🤩 you can join once more for Free Online and already playback day 1 via viteconf.amsterdam/live-stream
flensrocker.de
My heating control is asking the same question. One day it's too cold and it turns itself on, the next day it decides to stay off.
Sadly I can not just enable it, because then the schedule doesn't work. It only works in auto mode.
Who's designing such kind of behaviour?
flensrocker.de
Good choice! I'm interested in how the Framework compares to the Ryzen 9.
Reposted by Lars Hanisch
duncanjonesmerrion.bsky.social
I have owned my car for about 18 months now.

I have no idea how to stop the radio coming on when I start the car.

It is probably a system setting that I can disable from the touch screen but I can't find it.

I am a software engineer.
flensrocker.de
My previous Seat Leon had different volume settings for radio and navigation, but I can't remember how to set it.
With luck you spin the knob while the nav is speaking, it may adjust only that volume.

The Car Entertainment Systems are broken.
My current Seat Mii is way simpler, but not good either.
flensrocker.de
Yes, pattern matching is very useful, esp. to extract types/interfaces or the usage in switch expressions.

But I don't consider this a "new" feature, isn't it available for years?
Reposted by Lars Hanisch
michaelsmalldev.bsky.social
If you want to keep up with signal forms, bookmark this

github.com/angular/angu...

To see merged changes

github.com/angular/angu...

And to get some ideas out there, known issues, and some in depth background on certain topics: github.com/orgs/angular...
flensrocker.de
The collection expressions are neat. No more Array.Empty<T>() etc.

And I finally had some usecase for default implementations of interface methods. This opens up inheritance (what I avoid, if I can).
flensrocker.de
Past-Lars has already read that once upon a time, but maybe Present-Lars can add new value to my memory... 😎
flensrocker.de
Added to my reading list... Thanks!
flensrocker.de
...will be a problem. If the state of some other aggregate is important for a command, then it's either already committed or my structure is wrong.

That's another thing I try to learn. In which cases is global ordering really important?

2/2
flensrocker.de
I was already wondering where that is in the message table.

The ordering per aggregate is not a problem due to the command queuing with Orleans. Global ordering is useful in some projections but mostly for time traveling. And in my context I doubt (and may be wrong) that concurrent commands... 1/2
flensrocker.de
I may add some "keep consistent heart beat" poller for that. I think, that's the best guarantees I can get.

Thank you for your input! I may just use Marten in the end, but ATM I have fun exploring this. 😎
flensrocker.de
Implicit subscriptions are also possible, if I want to update some "materialized view" in some store (I will do that for the "search" functionality). And that can also store the current version or re-request missing events on update. The only gap here is, if the last event is missing.
flensrocker.de
The "view grain" only subscribes to the events if it's activated [2], so it updates in memory. Otherwise on activation it loads its state (the events) from the event store.
I rely on the guarantees of Orleans for all of this.

[2] codeberg.org/flensrocker/...
flensrocker.de
Yes.
My current solution is, that every projection stores the version of the last event and if it gets the next event and some is missing, it will load that from the event store[1].
Due to the "single-threadness" of Orleans race conditions should not be a problem.

[1] codeberg.org/flensrocker/...
flensrocker.de
Spreading my repository everywhere to collect feedback. It's at an early state...

codeberg.org/flensrocker/...
OrleansPlayground
OrleansPlayground
codeberg.org
flensrocker.de
And if the product should last for decades every dependency is worth some thoughts.