onyx

FYI: alternative Onyx :onyx: chat is at <https://gitter.im/onyx-platform/onyx> ; log can be found at <https://clojurians-log.clojureverse.org/onyx/index.html>
lellis 2017-12-12T14:35:07.000396Z

Hi All! org.onyxplatform/onyx-seq is deprecated?

gardnervickers 2017-12-12T15:28:47.000826Z

@lellis I’m not sure on the status of the onyx-seq repo, but Onyx core has a plugin for operating over seq’s under onyx.plugin.seq. There are task bundles under onyx.tasks.seq.

lellis 2017-12-12T15:30:10.000456Z

Ty @gardnervickers

gardnervickers 2017-12-12T15:33:36.000581Z

Ah yea the last released version is for 0.9.x where the plugin model changed so it’s for backwards compatibility for users on 0.9.x still. If you’re using newer versions of Onyx you’ll want the one in core.

michaeldrogalis 2017-12-12T16:01:12.000654Z

@lellis The separate artifact is, yeah.

michaeldrogalis 2017-12-12T16:01:24.000466Z

Use the version provided by core.

lellis 2017-12-12T16:22:01.000022Z

There is any example using onyx.plugin.seq? I have some difficult to send seq to my job, it never reach my task next to :in . Its in lifecyle right?

michaeldrogalis 2017-12-12T16:23:29.000048Z

Check the tests for Onyx -- they use it

michaeldrogalis 2017-12-12T16:23:36.000142Z

Gotta run for a bit.

👍 1
danielcompton 2017-12-12T23:06:51.000211Z

I'm looking at https://github.com/PyroclastIO/metamorphic/blob/master/README.md, do my events have to be provided in order to match correctly?

danielcompton 2017-12-12T23:08:07.000268Z

I can see that rt/process-event can take a timestamp as an extra parameter, but it's only mentioned in the context of time-windowed constraints

michaeldrogalis 2017-12-12T23:10:50.000194Z

@danielcompton Hi! At the moment, yes. The particular algorithm I used is order sensitive. From the research I did before implementing it, virtually all algorithms for CEP are order sensitive. Some can fudge it by replaying events, but that can also be done at the application level, so I decided not to attack it.

danielcompton 2017-12-12T23:20:11.000359Z

ok, that makes sense, I can handle replays at the application level

danielcompton 2017-12-12T23:20:33.000475Z

This is for re-frame-trace https://github.com/Day8/re-frame-trace where we want to interpret streams of events to get the higher level context

danielcompton 2017-12-12T23:21:21.000004Z

But the traces can come out of order as they are sent when the call finishes, so nested calls are 'before' the parent calls

danielcompton 2017-12-12T23:21:55.000293Z

We can pretty easily detect this though, and rewind and rerun the match state

michaeldrogalis 2017-12-12T23:22:13.000259Z

Cool - that makes sense. 🙂

michaeldrogalis 2017-12-12T23:22:51.000281Z

CEP is a rather tricky topic as far as implementation, but it's super useful as a library.

michaeldrogalis 2017-12-12T23:23:00.000273Z

Took a few months to get it right.

danielcompton 2017-12-12T23:23:24.000346Z

Yeah I was embarking on doing this and thought, I should really try metamorphic before I invent my own hand-rolled solution

michaeldrogalis 2017-12-12T23:23:57.000311Z

The biggest problem I had was that the papers outlining the design and implementation of each algorithm are incredibly dense.

michaeldrogalis 2017-12-12T23:24:28.000344Z

It's also a class of problem with very high memory utilization, which I guess accounts for what I just complained about.

danielcompton 2017-12-12T23:35:47.000239Z

Yeah I can imagine, having a look at some of the papers now

michaeldrogalis 2017-12-12T23:51:19.000132Z

https://web.cs.wpi.edu/~chuanlei/papers/sigmod17.pdf <- This one is a more sophisticated version of the one I chose.

michaeldrogalis 2017-12-12T23:51:29.000070Z

I decided not to reach that far.