1,123 karma · joined March 26, 2008
Co-Founder of Sierra and Chairman of OpenAI.
Previously, Co-CEO of Salesforce, co-founder and CEO of Quip, CTO of Facebook, co-founder and CEO of FriendFeed, co-creator of Google Maps.
btaylor@gmail.com
Notably, our certifications are freely available at https://www.trailhead.com/. You can get started, learn, and get credentials for free. It is a great place to start, and we purposely made our learning and credentialing free so we could make it as easy as possible for folks pivoting mid-career into Salesforce.
I would be happy to point you in the right direction. My email is bret.taylor@salesforce.com.
“I’ve heard of defensive programming, but never adversarial memory.” — Ben Gomes
It uses Bison and Flex for parsing and lexing unlike this post, but may be a useful starting point for those building their own toy languages.
https://www.ft.com/content/87b8107e-9c6d-3d3f-a60d-3e4f6315d...
The APIs to build Live Apps enable real-time coediting and online / offline syncing with no special code; you get a ton for "free," and we are super proud of the technology.
We open sourced all the apps we wrote, like Calendar, Kanban board, and more. Available at https://github.com/quip/quip-apps
When you are working on a large engineering team with lots of JavaScript volume written by a lot of different people, the dead code elimination alone is worth it; it means you can use one function from a library with millions of lines and your compiled JavaScript will only contain that individual function rather than many megabytes of unused code.
Sections have a GUID and can be modified without touching any of the other parts of the document. This is useful in that it minimizes most common merge conflicts - they only happen of people edit the same sentence or spreadsheet cell while offline, but simultaneous edits of the same doc generally don't result in the need for any merge algorithm.
For offline edits of the same section, we use a fairly standard three way merge algorithm. Then, we show the edits we chose in the left hand side of the doc with the conversation along with a "Revert" button so you (the end user) can revert if our algorithm was wrong.
2. Works offline. Whether spotty 3G connection or completely offline, our mobile apps work and sync whenever you come back online, even when multiple people are collaborating on the same document. The tech behind this is really cool. And everything is available offline automatically, not just stuff you "mark for offline"
3. Diffs, presence, notifications
More details at https://quip.com/about/features
Just to clarify a couple of points I have read:
1. We do support desktops. We have a really nice web app. It is Chrome/Firefox only right now.
2. We have an Android app. It is a "preview release" because it is not feature complete. We released it because it is pretty close, and you can download it at https://play.google.com/store/apps/details?id=com.quip.quip. It is early, but it exists.
-- Bret
We also support "high fidelity" copy and paste, i.e., if you paste a doc from Quip into Word or similar products, it preserves all the formatting correctly. Not awesome and we will improve in subsequent updates, but it actually does most of what you'd need in the meantime.
Bret Taylor CTO, Facebook
AFAIK, it started in the UK and was "ported" to a US edition a few of years ago.
It is pretty easy to read in an hour or so and fills in all the gaps I missed from my sporadic news reading the previous week.
https://www.facebook.com/help/?faq=17512
The purpose of social plugins is to enable you to share things to your Facebook profile easily - not tracking.
Bret Taylor CTO, Facebook
So I wouldn't stress too much :)
This was a mistake on our part. In the process of dealing with a routine trademark violation issue regarding some links posted to Facebook, we inadvertently blocked all mentions of the phrase "lamebook" on Facebook. We are committed to promoting free expression on Facebook. We apologize for our mistake in this case, and we are working to fix the process that led to this happening.