These are chat archives for jdubray/sam

9th
Feb 2016
Stardrive Engineering
@HighOnDrive
Feb 09 2016 00:48
Please also consider Redux Sagas in your article: http://konkle.us/master-complex-redux-workflows-with-sagas/
Stardrive Engineering
@HighOnDrive
Feb 09 2016 00:54
Jean-Jacques Dubray
@jdubray
Feb 09 2016 01:09
yes, I will, I got it on my radar. Please note that I have published a library with TLA+ semantics that can be used if you feel you absolutely something like that: https://bitbucket.org/jdubray/star-javascript/src
I also built a stateful service orchestration capability (not engine), with node.js / mongodb: http://chorusjs.com
Stardrive Engineering
@HighOnDrive
Feb 09 2016 01:38
Will look at these, thanks. Here is a interesting video on herd mentality among programmers that is also relevant to introducing SAM to the world, enjoy :smile:
Jean-Jacques Dubray
@jdubray
Feb 09 2016 01:42
@HighOnDrive Brian, based on your background/interests, you should read about TLA+, I am sure you'll enjoy and see where I am coming from. A lot of people think you can just make up all this stuff, in reality you can't, whatever you do has to roll up to something like TLA+, if it doesn't then it will break. That's the case of Redux.
Stardrive Engineering
@HighOnDrive
Feb 09 2016 01:50
I'd say Redux definitely has its herd animal aspect :smile:
Jean-Jacques Dubray
@jdubray
Feb 09 2016 01:51
Yes, it looks like it. I found Dan's unwillingness to engage in a dialog part of this herd mentality, either you are in the herd or you are not.
So far, I believe that Facebook is leaving a tremendous amount of value on the table by not properly architecting React, it's heading for the trash, simply because it is totally out of control.
On the hand Google's Angular seems to be completely under control, but heading in the wrong direction. Very interesting to see the mix of culture and architecture. Not a great mix if you ask me.
Stardrive Engineering
@HighOnDrive
Feb 09 2016 01:55
True, also André Staltz creator of Cycle.js shares your views on React and Angular. The reactive loop is also at the heart of what Cycle.js is about.
Jean-Jacques Dubray
@jdubray
Feb 09 2016 01:58
I am definitely intrigued by Cycle.js, but it is not aligned with TLA+, I just can't support it. TLA+ is the new "Turing complete" AFAIAC.
Jean-Jacques Dubray
@jdubray
Feb 09 2016 02:03
That being said, it looks like SAM has the ingredients to be attractive, it is so simple, so composable, you can adopt it with virtually no barrier. I guess, the reaction I get most is that "it can't be that simple".
Stardrive Engineering
@HighOnDrive
Feb 09 2016 02:07
I hear you and Cycle.js is a herd like most frameworks are too. Myself I have worked with several frameworks and after all is said and done the real essence is the reactive loop. I've worked my version out in the context of my app and am most interested in getting it in step with SAM.
The more I've engineered the less I am relying on frameworks. I think that this is wonderful and also the right thing for reactive loops that do something important.
Jean-Jacques Dubray
@jdubray
Feb 09 2016 02:11
I'd be surprised if you are disappointed then, but I would certainly try to get some TLA+ background, otherwise you might be tempted to take a shortcut here or there. I guess the hardest part is to think that TLA+ is the structure that we should rely on. Our industry is so used to the next magic bullet (OO, Resource Orientation, FP, Actors ...). My experience is that conceptual foundations where everything is an XXX (pick your technology du jour) fail (eventually).
Stardrive Engineering
@HighOnDrive
Feb 09 2016 02:11
With SAM the correct pattern can be established then with Rx and functional programming the foundation is complete for me.
Jean-Jacques Dubray
@jdubray
Feb 09 2016 02:11
+1
Stardrive Engineering
@HighOnDrive
Feb 09 2016 02:12
Will learn more about TLA+ :+1:
Jean-Jacques Dubray
@jdubray
Feb 09 2016 02:13
Again, please view SAM as TLA+ for humans.
I can't point people to TLA+ and say, that's great stuff, go ahead and use it.
I didn't make up the semantics behind SAM.
Stardrive Engineering
@HighOnDrive
Feb 09 2016 02:15
Thanks for translating it for humans, very appreciated.
I'm going to have to go here, cheers!
Jean-Jacques Dubray
@jdubray
Feb 09 2016 02:15
cheers!
thanks!
Stardrive Engineering
@HighOnDrive
Feb 09 2016 03:12

The Flux-Challenge might be something to look at to get a feel for how the reactive loop is being handled without SAM. It is a repo with submissions using different frameworks to try and solve the challenge.

Here is the stated purpose of the challenge:
"This challenge is meant to be solved with Flux or some variation of this architecture, such as architectures with the single state tree and "actions" (Om, Redux, etc). It's my personal belief that Flux does not provide an elegant way of coordinating multiple async data sources, but more experienced Flux users might disagree. This challenge's requirements were tailored to touch Flux's weakest spots, these are not typical web app requirements. On the other hand, analytics and sensors dashboard UIs resemble this challenge a lot. That said, I am open and curious to be proven wrong about Flux. I'm curious about every solution's pros and cons, and I would prefer to discuss over evidence/artifacts instead of with platitude arguments."

Here is the link to the submissions page that also lists the libraries used with each submission made:

https://github.com/staltz/flux-challenge/tree/master/submissions

Jean-Jacques Dubray
@jdubray
Feb 09 2016 03:39
looks doable, I'll take on the challenge