| 2011-09-16 00:23:03 utc | Dirklectisch | have you heard of Douglas Rushkoff? |
| 2011-09-16 00:23:13 utc | Dirklectisch | He has lot's of interesting stuff to say about this kind of thing |
| 2011-09-16 00:23:38 utc | jmettraux | sorry, I didn't |
| 2011-09-16 00:24:14 utc | Dirklectisch | there is no need to apologize :p |
| 2011-09-16 00:24:27 utc | Dirklectisch | here another vid for your 'to watch' list |
| 2011-09-16 00:24:31 utc | Dirklectisch | after Hickey ;-) |
| 2011-09-16 00:24:33 utc | Dirklectisch | http://vimeo.com/19230678 |
| 2011-09-16 00:24:36 utc | jmettraux | doing some light viewing http://www.ted.com/talks/lang/eng/kevin_slavin_how_algorithms_shape_our_world.html |
| 2011-09-16 00:24:45 utc | jmettraux | thanks ! |
| 2011-09-16 00:25:43 utc | Dirklectisch | yeah I have seen that ted talk, it's amazing when you think of it. |
| 2011-09-16 00:27:10 utc | jmettraux | I see Nancy Duarte referred in "presentation zen" |
| 2011-09-16 00:27:49 utc | Dirklectisch | that's right, the book i just read is about storytelling |
| 2011-09-16 00:28:00 utc | Dirklectisch | it analyzes famous speeches etc |
| 2011-09-16 00:28:15 utc | Dirklectisch | it was ok, but I liked presentation Zen way better |
| 2011-09-16 00:33:03 utc | jmettraux | I have "the naked presenter" next, did you read it ? |
| 2011-09-16 00:34:16 utc | Dirklectisch | nope, i don't think i heard about that one. |
| 2011-09-16 00:34:46 utc | jmettraux | same author as "presentation zen" |
| 2011-09-16 00:34:58 utc | Dirklectisch | ah is that a new book by garr? |
| 2011-09-16 00:35:25 utc | Dirklectisch | i think my problem with nancy's book is that it's not practical enough |
| 2011-09-16 00:35:39 utc | Dirklectisch | while PZ was highly practical |
| 2011-09-16 00:35:50 utc | jmettraux | naked presenter: 2011 |
| 2011-09-16 00:36:26 utc | Dirklectisch | cool, might pick it up if you think it's good after finishing it. |
| 2011-09-16 00:38:25 utc | jmettraux | ok |
| 2011-09-16 00:41:35 utc | Dirklectisch | I'm gonna get some sleep |
| 2011-09-16 00:41:49 utc | Dirklectisch | nice talking to you again |
| 2011-09-16 00:42:11 utc | Dirklectisch | until next time |
| 2011-09-16 00:42:13 utc | Dirklectisch | :-) |
| 2011-09-16 00:44:01 utc | jmettraux | nice talking to you |
| 2011-09-16 00:44:04 utc | jmettraux | have a good night sleep |
| 2011-09-16 00:44:16 utc | jmettraux | always a pleasure |
| 2011-09-16 00:44:52 utc | Dirklectisch | bye |
| 2011-09-16 07:51:49 utc | jmettraux | pbh_: hello and welcome to #ruote |
| 2011-09-16 07:52:32 utc | pbh_ | why hello |
| 2011-09-16 07:53:00 utc | jmettraux | pbh_: is that a question ? |
| 2011-09-16 07:53:19 utc | pbh_ | no, i actually have some embarrassingly simple questions |
| 2011-09-16 07:53:39 utc | pbh_ | i'm actually just starting out learning about ruote, and i'm a bit confused as to where to start |
| 2011-09-16 07:53:56 utc | pbh_ | i just watched the ruote in 20 mins talk, which helped a bit |
| 2011-09-16 07:54:27 utc | pbh_ | and i'm most likely to be using some combination of heroku, redis, rails, and postgresql |
| 2011-09-16 07:54:51 utc | jmettraux | what are you trying to build ? |
| 2011-09-16 07:55:45 utc | pbh_ | i'm building a workflow with various human and computer participants |
| 2011-09-16 07:55:58 utc | pbh_ | though i suppose that's not very specific |
| 2011-09-16 07:56:26 utc | pbh_ | i'm actually playing around with brainstorming domain names |
| 2011-09-16 07:56:43 utc | jmettraux | is the workflow always the same ? |
| 2011-09-16 07:56:57 utc | pbh_ | so humans brainstorm some domain names, they get checked for availability, there may be some iteration based on quality, etc. |
| 2011-09-16 07:57:20 utc | pbh_ | it depends on what you mean by the same |
| 2011-09-16 07:57:34 utc | jmettraux | ah, ok, now I understood, please go on |
| 2011-09-16 07:57:49 utc | pbh_ | ah, excellent |
| 2011-09-16 07:58:23 utc | pbh_ | so a naive implementation would be to just have some records in postgresql |
| 2011-09-16 07:58:42 utc | pbh_ | and have resque jobs just look at the tables, moving records between them |
| 2011-09-16 07:58:49 utc | pbh_ | though ruote seems to handle iteration and such much more naturally |
| 2011-09-16 07:59:15 utc | pbh_ | but i'm confused at a very high level as to how the engine works, when work gets done, etc. |
| 2011-09-16 07:59:38 utc | pbh_ | (and how that relates to, e.g., ruote-kit and ruote-rest) |
| 2011-09-16 07:59:49 utc | jmettraux | ruote-rest is dead |
| 2011-09-16 07:59:54 utc | jmettraux | ruote-kit is the successor |
| 2011-09-16 08:00:10 utc | pbh_ | ah, you have already saved me from one dead end then ;-) |
| 2011-09-16 08:00:14 utc | jmettraux | it's a rack middleware encapsulating a ruote engine |
| 2011-09-16 08:00:32 utc | pbh_ | so does the workflow only progress when requests come in, then? |
| 2011-09-16 08:00:56 utc | pbh_ | or is it intended to be polled by some external source at regular intervals? |
| 2011-09-16 08:01:06 utc | jmettraux | it depends on the participant |
| 2011-09-16 08:01:25 utc | jmettraux | for computer participants, you generally push workitems to them |
| 2011-09-16 08:01:37 utc | jmettraux | for humans, they tend to poll a pile of their workitems |
| 2011-09-16 08:02:15 utc | pbh_ | ah |
| 2011-09-16 08:02:38 utc | pbh_ | i suppose i was imagining the engine as something like rake jobs:work in delayedjob, or rake resque:work in resque |
| 2011-09-16 08:02:41 utc | pbh_ | but that seems inaccurate |
| 2011-09-16 08:02:56 utc | jmettraux | it's the worker that is like that |
| 2011-09-16 08:05:02 utc | pbh_ | hmmm, i clearly need to read more |
| 2011-09-16 08:06:08 utc | pbh_ | is there a good place to get a really high level overview? |
| 2011-09-16 08:06:24 utc | pbh_ | i'm looking at your 2.1 announcement blog post, but i'm not sure if it is up to date |
| 2011-09-16 08:06:31 utc | jmettraux | ruote.rubyforge.org |
| 2011-09-16 08:06:43 utc | jmettraux | http://ruote.rubyforge.org |
| 2011-09-16 08:06:54 utc | pbh_ | and the quickstarts don't seem to assume a weird rack-like context, unless i'm missing something |
| 2011-09-16 08:07:08 utc | pbh_ | (not that i'm complaining ;-)) |
| 2011-09-16 08:07:32 utc | jmettraux | just checked the quickstart, I see nothing about rack |
| 2011-09-16 08:08:09 utc | pbh_ | yeah, i guess i'm just assuming that if i'm running on heroku that i'll need to either be in a heroku worker context, a separate app, or a rack middleware context |
| 2011-09-16 08:08:24 utc | pbh_ | and it seemed like the quickstart was meant to run standalone |
| 2011-09-16 08:08:36 utc | jmettraux | yes, it's just a ruby program |
| 2011-09-16 08:08:37 utc | pbh_ | so i was confused as to how things would differ in my likely deployment case |
| 2011-09-16 08:09:26 utc | jmettraux | can you run resque on heroku (sorry I don't know) |
| 2011-09-16 08:09:28 utc | jmettraux | ? |
| 2011-09-16 08:09:52 utc | pbh_ | yeah, with some specifics |
| 2011-09-16 08:10:00 utc | jmettraux | ok, it's been a while since I've looked at heroku |
| 2011-09-16 08:10:13 utc | jmettraux | I guess you can run ruote (the worker) in a heroku worker context |
| 2011-09-16 08:10:27 utc | jmettraux | and then simply access the engine from your webapp |
| 2011-09-16 08:10:35 utc | jmettraux | if we look at https://gist.github.com/1221507 |
| 2011-09-16 08:10:54 utc | jmettraux | it's a vanilla ruby program, it contains the worker (line 7) |
| 2011-09-16 08:11:32 utc | jmettraux | an "engine" is a bunch of workers sharing the same storge |
| 2011-09-16 08:12:36 utc | jmettraux | actually, this is better : https://gist.github.com/1221522 |
| 2011-09-16 08:12:46 utc | jmettraux | "dashboard" is a better denomination |
| 2011-09-16 08:13:13 utc | pbh_ | yeah, i noticed the terminology seemed to have changed |
| 2011-09-16 08:16:35 utc | pbh_ | so in that example |
| 2011-09-16 08:17:04 utc | pbh_ | you're defining a worker that is going to use a hash-based memory backend to access the state of the workflow |
| 2011-09-16 08:17:15 utc | pbh_ | (6--8) |
| 2011-09-16 08:18:02 utc | pbh_ | and registering a computer process that's just going to change the hello field to world |
| 2011-09-16 08:18:20 utc | pbh_ | (10--12) |
| 2011-09-16 08:18:29 utc | pbh_ | though i'm not clear on where any workitems are going to enter the system |
| 2011-09-16 08:20:15 utc | pbh_ | and presumably storageparticipant is just leaving things on the file system for a human to see |
| 2011-09-16 08:21:53 utc | pbh_ | (and i'm confused as engine.launch whether processes are being enqueued in some sense and/or whether something asynchronous is being kicked off) |
| 2011-09-16 08:25:42 utc | pbh_ | ah, actually i guess the computer participant is adding the workitem with the hello world part |
| 2011-09-16 08:26:03 utc | jmettraux | I'm not registering a computer process, it's more like code that is executed when a workitem is passed to it |
| 2011-09-16 08:26:44 utc | jmettraux | a way to pass initial values for the workitem: https://gist.github.com/1221551 |
| 2011-09-16 08:27:19 utc | jmettraux | StorageParticipant places the workitem in the storage itself, so in our case, in our instance of HashStorage (in-memory) |
| 2011-09-16 08:27:56 utc | pbh_ | ah, so my first interpretation of the computer participant was correct, and not the second |
| 2011-09-16 08:28:05 utc | jmettraux | engine.launch creates a process instance and queues its first 'action' for execution by the worker |
| 2011-09-16 08:29:05 utc | jmettraux | sorry, what was your first interpretation of a computer participant ? I interpreted "computer process" as "OS process" |
| 2011-09-16 08:29:31 utc | pbh_ | oh, i suppose i meant both |
| 2011-09-16 08:30:00 utc | pbh_ | but that's code in the workflow that isn't a human, and it's going to alter rather than create that workflow key/value pair, no? |
| 2011-09-16 08:30:39 utc | pbh_ | err, i mean, workitem key/value pair |
| 2011-09-16 08:31:32 utc | pbh_ | so the process definition is change key hello to world in the workitem, and then save to the specified storage |
| 2011-09-16 08:32:25 utc | pbh_ | (by both i mean that the code is actually the computer participant, though i'm presuming it will eventually get run by some as yet unknown os process) |
| 2011-09-16 08:32:38 utc | jmettraux | the "computer" participant, it receives a workitem, sets the field "hello" to the value "world" and then implicitely replies to the "engine", so that the flow goes on to "human" |
| 2011-09-16 08:32:45 utc | jmettraux | ok |
| 2011-09-16 08:33:35 utc | pbh_ | though i interrupted you at the point of your engine.launch explanation |
| 2011-09-16 08:33:51 utc | jmettraux | ok |
| 2011-09-16 08:34:10 utc | jmettraux | https://gist.github.com/1221565 is a version where engine.noisy = true |
| 2011-09-16 08:34:20 utc | jmettraux | it shows every "message" processed by the worker |
| 2011-09-16 08:35:04 utc | jmettraux | it produces something like: https://gist.github.com/1221567 |
| 2011-09-16 08:35:46 utc | jmettraux | there are messages like launch, apply, dispatch, receive, cancel... |
| 2011-09-16 08:36:07 utc | jmettraux | the sum of those messages in the "enactment" of a workflow instance |
| 2011-09-16 08:37:20 utc | pbh_ | ok, that makes sense |
| 2011-09-16 08:38:19 utc | pbh_ | so i understand how the definition states what is supposed to happen |
| 2011-09-16 08:38:32 utc | pbh_ | but what is actually enacting that definition |
| 2011-09-16 08:38:44 utc | jmettraux | the worker[s] |
| 2011-09-16 08:39:24 utc | pbh_ | so is launch adding a new workitem, spawning workers, or something else |
| 2011-09-16 08:39:58 utc | pbh_ | (and is there a separate thread of execution, or is there another reason for the sleep 5) |
| 2011-09-16 08:40:39 utc | jmettraux | it's asynchronous, so yes there is a separate thread of execution (inside of the Worker instance) |
| 2011-09-16 08:41:03 utc | jmettraux | the spawning of workers has to be done by yourself |
| 2011-09-16 08:41:42 utc | jmettraux | launching is taking a workflow definition and an initial workitem (empty by default) and creating a workflow instance |
| 2011-09-16 08:42:01 utc | jmettraux | that is, placing a launch order in the worker's queue |
| 2011-09-16 08:42:15 utc | jmettraux | sorry, have to go, dinner is ready |
| 2011-09-16 08:42:42 utc | pbh_ | ah, no worries |
| 2011-09-16 08:42:49 utc | jmettraux | I'll be back later, feel free to send questions to the mailing list as well http://groups.google.com/group/openwferu-users |
| 2011-09-16 08:42:49 utc | pbh_ | thanks a lot, hopefully i'll have better questions at a later point |
| 2011-09-16 08:42:57 utc | jmettraux | ok, ttyl ! |