From: thunk on 25 Mar 2010 09:04 http://gist.github.com/343358 This seems to work with decent performance but I have little/no experience using some of these features - almost seems "too good to be true" to this old time programmer that spent days designing/testing linked lists in the old days.... its 40 lines of code that seems to have some pretty cool abilities. (And ya, it could be a hash of hashes...) I had this idea based on something I saw in 'Builder' and have read about and tonight I just spent sometime testing it and it just worked right out of the gate. It seems to work for my special purposes - will chat about that below if somebody is interested (involves the Boid project). Mostly I'd appreciate any kind of warning if this seems to be some sort of a boon_doggle. Design wise it seems so simple and would allow me to clean up some issues communication issues (between passes) I'm not looking for pointers on how to save a line of code or too worried about conventions just now, please. My question is if this approach is being used "around" and if it seems likely to stand up to some fairly heavy use - that would be maybe 500 or so "satz" per pass in the not so far future. thunk ps concerning this and the 'boid' design I now have about 50 boids in each of two "waves" and I have established communications between passes. (They are fired! serially) and so on BUT it is just getting awkward as implemented with some redundancy creeping in. Oh no. I've been thinking about this for awhile. The problem is that every "boid" leaves a "casing" and the "casing" is all that is left after it gets fired. But it is terrible design to have to expand the "casings" for communications, this is a way to keep it generic so a Framework can get lifted out of this project eventually. Anyway the idea is that each HelperClass assisting the Boid can "throw anything potentially useful" onto one "WhiteBoard" per pass. Then the ControlPanel and other things responsible for figuring out "what happened" can review the WhiteBoard for their specific purposes.
From: Peter Hickman on 25 Mar 2010 09:36 [Note: parts of this message were removed to make it a legal post.] Minor quibble. The code dies not run for me under 1.8.7 white.rb:13:in `method_missing': wrong number of arguments (2 for 1) (ArgumentError) from white.rb:13:in `put_satz' from white.rb:56 Secondly it is hard to make sense of the code without some idea as to what it is supposed to do, incomplete code at that. If you could say what the code is supposed to implement, the problem rather than the solution, then we will have something to say about it. It could be a perfect implementation with nothing more to be done or it could be the worst. Without knowing what it is supposed to solve there is little anyone can say beyond, maybe, some minor tweaks. The members of this list will be more than willing to help you, but we are not psychic.
From: Andrew Wagner on 25 Mar 2010 09:48 [Note: parts of this message were removed to make it a legal post.] I would be very interested in hearing more about what problem is being solved here too. On Thu, Mar 25, 2010 at 9:36 AM, Peter Hickman < peterhickman386(a)googlemail.com> wrote: > Minor quibble. The code dies not run for me under 1.8.7 > > white.rb:13:in `method_missing': wrong number of arguments (2 for 1) > (ArgumentError) > from white.rb:13:in `put_satz' > from white.rb:56 > > Secondly it is hard to make sense of the code without some idea as to what > it is supposed to do, incomplete code at that. > > If you could say what the code is supposed to implement, the problem rather > than the solution, then we will have something to say about it. It could be > a perfect implementation with nothing more to be done or it could be the > worst. Without knowing what it is supposed to solve there is little anyone > can say beyond, maybe, some minor tweaks. > > The members of this list will be more than willing to help you, but we are > not psychic. >
From: Caleb Clausen on 25 Mar 2010 23:31 On 3/25/10, thunk <gmkoller(a)gmail.com> wrote: > > > http://gist.github.com/343358 I'm still trying to understand what you're doing. Sometimes, your verbiage reminds me of rinda, not that I know much about rinda either. Your WhiteBoard might be like a Rinda::TupleSpace...? Perhaps you can to compare and contrast the two? Unfortunately, documentation on rinda looks kinda sparse... but maybe this will help some: http://ruby-doc.org/stdlib/libdoc/rinda/rdoc/index.html
From: thunk on 26 Mar 2010 05:34 PS I meant to mention that I did a quick check to use Marshall Dump and it does not play with the singleton stuff. PickAx 1.9, p421 I have no immediate need for memory balancing or whatever yet, but the pickAx book provides some examples on about the same page.
|
Pages: 1 Prev: Actuve Record Next: how to revise the programm to analyze web? |