Eclipse Day at the Googleplex: Wiring Hacker Synapses

(My Original Blog Post: -*

Attention! API Garbage (might be unreadable):

operations local operation

Him in office okay is very unfortunate or fortunate that are here now so we are justifying a new is and Germany are in the screenshots of the new real-time Trinity facility that comes with me and will was lots which just means cool operational transform into a recall of encoding more to register so it was supposed to go into this was supposed to be transformed with all the incoming remote operation and its locally conflict in operation and what are we supposed to get here what is the operational transform supposed to do here is that we resolve this before the new that no new insert a lower index position and go and change anyone have anything that s okay since this assertion did not in any case goes in this and so that s exactly what we do know a bit necessary everything so what happens to have another operational transform your remote operation of house operation about this watch it happen insertion of an exposition is what we wanted operations coming in but we have moved in NBC s right length of cooperation that s a regenerative cell but only the next index and nowhere else in the length of the Corporation and when we do things like this than what we have been without consistent documents to potential customers so as low pseudocode because I assure you it is a very simple case when facing is that while it s an insertion person insertion is not insertion person deletion is not a deletion person insurgents not to deletions against each other because all of these cases are more complicated than that and once you figure it out while corporations and you re comparing against you still have to see where the indices are and decide how to update those indices and is that we have these in a year of the Lord will cost a lower index of the higher index of local opposite are indexed and how to model law optimistic concurrency control optimistic about the food supply something that you were a leader to your own Motley realtor should entertain him to users and applications like for instance the link s URL to ask and I think on the toilet explosion because you have to determine atomic operations like for instance deletions and insertions eclipse video editing or document update mechanism actually has another notion of replacing it would be fun operation and will think about this all of these atomic operations they have to be some hall and how to define proper transformations for this so if you have to atomic operations that means you are Jesus went up to possibilities is a common part through possibilities for the first operation two for the second 15 minutes a square and is not and it gets worse after so if you were atomic operations to someone better for them will come on operations such as replacements us if you can overcome corporations like for instance insertions and deletions a replacement in the case of cola I ve realized us a deletion fellow insertion and that just looks wonderful or so this is just giving you some asymptotic notation so that it looks almost certain is that it s actually not really hurts limitations we have to think about it for a number of atomic operations Square explained why and that still don t go into her no problem there then I showed you the pseudocode with NEC text with index checks that s always prefer text editing so it s a constant it doesn t change anything actually welcomes the complexity of your about depending on your viewpoint from you without the color was implementing self realizing this is really writing the code and this is not a runtime problem this is an implementation problem will just have your code will be terribly bloated if you come up with 50 atomic operations just talk to you don t have to cover that many cases and things will work perfectly and thank God it s not a runtime problem because just imagine having and square complexity but in order to professor will tell you and your boss who is the leader in offering you the company antiseizure. I guess so no but if so if you re atomic operations that are not would have another case and this case is fairly interesting this case is the one case that I could limit for my talk and distilled a little just to convey the basic idea of the basic solution we ve realized that offer a told you the operations that are that you have been generated on documents that did not work by more than a single operation somewhat new if you ve actually applied five operations and number of operations on your local document and the remote operation on your way to did not know does not know anything about these in your changes at the top of what was troubling that some kind of mechanism some kind of resolution. The problem is recapping what I just said that the generation of multiple local changes while the remote operation is still so so upon arrival at the remote operation of local talk as much as changed by single operation a whole slew of operations so the precondition for offers operational transformations without this level of insertion that makes out like some exposition in which outsourcing she inserts up again so he does the same and now I must change of course it s communicated that operational or not how the operational transformation talk about this works actually you know we talked about this is easy due to divergence by another something else before she even receives the insertion of index positions the she doesn t insertion of a lower position be incorporate incorporate that change communicates that changed when a change at some point rise as though his local document so the only operation that insertion vetoes not know off that so we generated is still the single insertion of index positions the weekend and apply operational transformation and the progress and it s all intention preserving the insertion they are positioned insertion at an exposition B. and insertions the state sucks but what happens is a lease insertions the on switch and a well-traveled really really long at local document after Anna has executed to local operations can be applied over an operational transformations unfortunately know we cannot so are we supposed to do but part so let s have a look at the relation of the revolution is actually not that hard to just takes a little thinking about weekend executing operational transformation and we do that asleep before this insertions the insertion a this will yield a new operator platform operation at another update in the position we call this progress are insertion of an exposition box start and were accepted as he positions the were purple was supposed to go to plus obviously the length of a NL really think about Jamie apply that purpose corporation directly to local documents and the answer is unfortunately know we cannot because there s insertion being in again with index positions so not too now fall read/write registers at the start of the next operational transformation is the other operations gossiping with and ideals are to star and purple to start it at this and other update index which is why he lied again is the updated and extended for text s length between operation insertion of an exposition B. and now that we have this we can actually execute the right of the remote operation on our local doctrine state and get consistent documents once more and potential customers so now I will notice quickly reach out and tell you about additional details about a minute for this talk because I thought your time with time did not go as fast as I thought but in introducing these details would just like to local talk as I said I will give you pointers to more documentation if you know if you re interested in the site suggest you look at the so what you have to do actually in order to be able to do these operational transformations over several locally applied operations that are conflicting as to manage the local queue on the Polish operations obviously opt out of somewhere old which operations to have not been received by the other editor is a ream of examples in order to know what to transform against so to our local operations as you type into your local document to your queue and so the picture does not do at some point run your new machine is not out of memory after it removed his local operations and how to remove them when you see out this viable state of their operations communicate it comes a week that be that the operations in the queue have been implicit knowledge like for instance is silly since you never operation and that house like a cover-up so we sit insertion of the remote operation counter that corporations are received Google is up to the song and store presentation that receive and get operation in seating my local queue of the most recent local operation of genera I have in my local queue has also local counter of five no-hit five and 5 =.remote operation is about my local operations that you can enter the cube so that was not another issue that I rented his teeth is that with these out rooms in 2006 30 hours before the code freeze before D Amico faced the happy hacking 30 hours of club knows this because he slept during that time and the mocha of them than we did the test sessions and everything so I clearly forgot about that you have actually got to update the operations in your local queue at your local operations best to transform them against remote incoming operations so he seems like this does not have to ring the bell and not have to know not to be theater clear again if I would explain this would just give the whole time probably but if you ever think about implementing suspect this week for scientific papers once more and if you do not have your own version of cola synchronization then you keep this in mind business and my business tricky detailed about it if the virtual update of chewed up local operations are called virtual because you update them in the queue but it actually don t apply those changes to your local doctrine in his certain changes like that syntax completion and stuff like that doesn t seem to either trigger document change event or there is really some other type of government I didn t have time for looking into this but that s the something people have been asked asking me after this week because I don t use Notes syntax completion in the upper import functionality because that just does not use the synchronization mechanism so I will have to make sure that I catch those and also see the mental synchronizer below the extended glucose index is a


~ by bitahatini on January 2, 2009.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: