196 reputation
210
bio website
location
age
visits member for 2 years, 4 months
seen Dec 22 at 22:02

Dec
22
awarded  Benefactor
Dec
22
accepted How should I represent composeable, associative computations to be repeatedly applied to units of data?
Dec
21
comment How should I represent composeable, associative computations to be repeatedly applied to units of data?
@Giorgio, I wanted to thank amon for his answer, but didn't realize I had to wait 24 hours to attribute the bounty. I wanted to give you some bounty as well, but it seems as though it can't be attributed to comments :/
Dec
21
comment How often is an average programmer expected to reach flow?
@Giorgio, Flow often comes up on the cogsci stackexchange (cogsci.stackexchange.com). It's worth noting, however, that flow has a rather loose definition and is difficult to study as such.
Dec
21
awarded  Promoter
Dec
15
accepted Detecting areas of isotropic vs anisotropic diffusion in a flood-fill (or similar) operation
Dec
14
comment How should I represent composeable, associative computations to be repeatedly applied to units of data?
@amon, okay great! I think we're on the same page. Thanks again for your precious help!
Dec
14
comment How should I represent composeable, associative computations to be repeatedly applied to units of data?
@Giorgio, right but here I was talking about the act of composing functions, not the act of applying composed functions to elements in a stream -- apologies if I was unclear! To clarify, the way in which I chain computation c does depend on the way in which computation c-n was performed. Indeed, if a prerequisite operation was not added to the chain, it needs to be added. I was toying with the idea of passing a set object out-of-band via writer monad to carry information about which operations have already been accounted for. Is this clearer?... or am I still missing your point?
Dec
14
comment How should I represent composeable, associative computations to be repeatedly applied to units of data?
@Giorgio, that's essentially correct. More exactly, I never have an operation on input j that depends on the result of an operation on a previous input. I say 'input' because windowed operations are applied to groups of frames, but that's orthogonal to your point. We can indeed treat operations as being independent across inputs.
Dec
14
comment How should I represent composeable, associative computations to be repeatedly applied to units of data?
re your argument against dynamically resolving dependencies during processing: do you think it would be acceptable to resolve dependencies at composition-time? That is, dependencies could be resolved while building the Stream objects and chaining them together, such that everything is in working order when the first Frame instance is passed through the Operation. This could presumably be done by passing a set between Streams when mapping -- a writer monad might be a good way of achieving this. You seem to have some experience in the matter, so I'd love to hear your thoughts.
Dec
14
comment How should I represent composeable, associative computations to be repeatedly applied to units of data?
duly noted! Thanks for the new Google search term :)
Dec
14
comment How should I represent composeable, associative computations to be repeatedly applied to units of data?
I'm so glad you brought this up! Monads seemed to be the correct solution and I've been doing a lot of reading on the subject ... Your answer seems like the missing link between theory and implementation. I'll read it carefully and get back to you, thanks!
Dec
14
revised How should I represent composeable, associative computations to be repeatedly applied to units of data?
added 1195 characters in body
Dec
14
comment How should I represent composeable, associative computations to be repeatedly applied to units of data?
@Giorgio, to answer your questions: (1) Yes, I'm defining a fixed operation to each frame. This having been said, it may be relevant to modify the state of the function object based on the contents of a frame, such that subsequent frames will be handled differently. (2-3) My Oi notation is actually quite ambiguous -- I mean that "an operation", O, is preceded and succeeded by other operations. Thus, Oi-n is the operation that happens n operations before Oi. In general, operations can depend on the results of several previous ones (see edits).
Dec
14
comment How should I represent composeable, associative computations to be repeatedly applied to units of data?
@Giorgio, I thought about this solution and did a bunch of reading ("state monad", in particular, got my attention), but I must admit I'm having trouble making the leap from tutorial to implementation. At the very least your comment is reassuring insofar as I'm on the right track -- If you have any specific ideas, I'd be very interested in hearing them.
Dec
14
revised How should I represent composeable, associative computations to be repeatedly applied to units of data?
added 55 characters in body
Dec
14
asked How should I represent composeable, associative computations to be repeatedly applied to units of data?
Dec
12
comment Design pattern for composition workflows
@Alex, Perhaps something like a state monad is what you're after?
Jul
31
accepted Are there any (free) video formats that include channels for arbitrary time-dependant data?
Jul
30
comment Are there any (free) video formats that include channels for arbitrary time-dependant data?
this sounds like the way to go, then. These video files won't be played with a video player. Instead, they just need to be accessible using standard tools. Provided subtitle tracks don't impose severe constraints on the length of the binary data, this seems like a perfectly useful hack. I'm going to keep this question open a bit longer, but there's a good chance I'll accept your answer. Thanks =)