Live data from Hacker News

How I reverse-engineered Google Docs to play back any document's keystrokes

features.jsomers.net

81–90 of 121 posts

Re: How I reverse-engineered Google Docs to play back any document's keystrokes

#81
post #80

Earlier quoted context omitted.

Plenty of times I've come back to my computer, typed my OS password expecting that it was locked, waited for my display's turn-on lag, and found that it wasn't locked (grace period). I type the password blind, but reserve the enter until I have visual feedback. At least typical IRC clients don't transmit until hitting enter. Browser omnibars and Javascript can send away every keystroke as it happens. Now I want to se…

Is it me or is your userid ironically apropos to this discussion?

Heh, throwaway. Posting an admission that I might've shared my passwords, using the username associated with those passwords, seemed foolish.

Re: How I reverse-engineered Google Docs to play back any document's keystrokes

#82

I remember reading an article about how it's a shame that authors don't use pen/paper anymore, since we can't see their crossouts and things for rough drafts. I'd argue that this would be infinitely superior if authors would give us access to some revision history.

You do still miss out on doodles in the margins however

If the entire computing session, instead of just the word processor, is similarly cloud-hosted with similarly granular revision history, you've got your margins.

Re: How I reverse-engineered Google Docs to play back any document's keystrokes

#83
post #72

Didn't Google Docs used to have this "playback" feature built in? I clearly remember there being a slider at the top of the page that you could scrub back and forth through a document's revision history.

I remember that from Google Wave at least.

That's probably what I'm thinking of. I could've sworn this was in Google Docs as well, though.

Re: How I reverse-engineered Google Docs to play back any document's keystrokes

#84

Great article, fascinating. The author mentions that his system doesn't handle rich text, which is fine, but I'd just like to comment on how difficult of a problem handling rich text is. If anyone is interested in having a personal text-only replay editor, check out http://sharejs.org/ by an ex-Google Wave engineer. As far as handling rich text, I've talked to the original co-founders of Writely (which became Google…

Yup, collaborative rich text editing is a surprisingly thorny problem.

ShareJS and Quill have actually been making some great progress on this though: https://github.com/share/ShareJS/issues/1

Re: How I reverse-engineered Google Docs to play back any document's keystrokes

#85
I don't understand why most of the commenters here are focusing on the privacy implications rather than the technical aspects.

Is this really a privacy breach? It's been obvious that Google stores revision history since it launched—you've always been able to access a thorough revision history in the UI itself...

Re: How I reverse-engineered Google Docs to play back any document's keystrokes

#86
post #74

Earlier quoted context omitted.

My browser URL bar has received a few passwords, usually just a local computer password but occasionally something more sensitive. Makes me wonder about the permissions my collection of browser addons has. I've also chucked a few passwords into IRC in times past. Fortunately non-essential stuff but really motivated me to sort out some better solutions (SSH keypairs, etc).

Plenty of times I've come back to my computer, typed my OS password expecting that it was locked, waited for my display's turn-on lag, and found that it wasn't locked (grace period). I type the password blind, but reserve the enter until I have visual feedback. At least typical IRC clients don't transmit until hitting enter. Browser omnibars and Javascript can send away every keystroke as it happens. Now I want to se…

A long time ago in a lecture hall far far away a head of school was giving us a pre-exam talk of some kind. It was too all health science students. As he talked he logged into the system. With the projector showing what he was doing he missed the tab key and typed his username and password into the username field. I had a look round the room and no one else seemed to have noticed. On his desktop sat a folder titled "Exam papers" or something similar.

Re: How I reverse-engineered Google Docs to play back any document's keystrokes

#87
post #35

I broke out in to a cold sweat watching this as I remembered all the times I've inadvertently pasted sensitive stuff in to a document. It's still very cool though, I'll just need to remember to be careful when sharing documents.

I wonder how much sensitive information is inadvertently pasted into a browser location bar or autofill text box that's silently captured by web apps like Google Docs? I know I've accidentally done the "paste password" into those places accidentally at times.

I believe (can't recall the source at the moment) that on Google computers, they actually watch all of your input for password input, and if you enter your password somewhere other than the official Google single-sign on interface, will make you rotate your password. They're pretty serious about not letting you type your password anywhere other than where you're supposed to.

Re: How I reverse-engineered Google Docs to play back any document's keystrokes

#88

When can we get an IDE that can do this, and track copy / paste across source files :)

SageMathCloud's IDE (which is CodeMirror-based, so similar to Adobe brackets, but online) does this, with a nice slider like in "pirate pad". Just create a file and start editing and it will record diffs at about a 1-second interval, which actively editing. Click on the blue "History" button and you get a slider across past revisions. Jon Lee implemented this functionality last summer. https://cloud.sagemath.com I frequently use this fine history functionality when coding. I'll remember that I had my code in some useful state 15 minutes ago (say in the middle between git commits), and I can easily drag the slider back to that point in time and look at the code. It adds a whole new dimension two coding that dramatically improves things. Unlike with Google docs, the SageMathCloud revision history for a file foo is simply stored in the file .foo.sage-history, with one diff per line (in JSON format). You can delete .foo.sage-history or archive it or whatever.

Re: How I reverse-engineered Google Docs to play back any document's keystrokes

#89

Great article, fascinating. The author mentions that his system doesn't handle rich text, which is fine, but I'd just like to comment on how difficult of a problem handling rich text is. If anyone is interested in having a personal text-only replay editor, check out http://sharejs.org/ by an ex-Google Wave engineer. As far as handling rich text, I've talked to the original co-founders of Writely (which became Google…

Yup, collaborative rich text editing is a surprisingly thorny problem. ShareJS and Quill have actually been making some great progress on this though: https://github.com/share/ShareJS/issues/1

As you might have seen... I am "amark" in the beginning of the thread. Wow, it is still going, I'm gonna have to read all the updates!
Post reply on HN