Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
mikelehen
searching Neon…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
7 ms
·
1.
▲
by
mikelehen
9y ago
Thanks for the feedback. I think you're right and we're interested in exploring what we can do to help people more in the future. One of the really nice things about Cloud Firestore is that documents are versioned with timestamps
2.
▲
by
mikelehen
9y ago
Good point. read-modify-write transactions are a good way to detect conflicts and get a chance to handle them, but they're unfortunately limited to while the client is online. If the client is offline, the transaction will fail so they
3.
▲
by
mikelehen
9y ago
Good question, and to answer this well we should probably do a blog post or something. In the meantime you could dig into the code since the clients are all open source. :-) But basically, sync is split into two halves: writes and listens.
4.
▲
by
mikelehen
9y ago
This works similar to the Realtime Database in that it's last-write wins (where in the offline case, "last" is the last person to come back online and send their write to the backend). This model is very easy for developers t
5.
▲
by
mikelehen
12y ago
Great question. This is a very real pain point with dynamic content in today's world of bots / crawlers. Many sites right now are completely or partially invisible to crawlers. As you point out, pre-rendering content is the pres
6.
▲
by
mikelehen
12y ago
Thanks! We worked hard to try to make a tutorial that communicated the simplicity and power of the API. Glad you liked it!
7.
▲
by
mikelehen
12y ago
This is a big question, and I'm biased by working at Firebase, so I'd welcome somebody from the community chiming in with their experiences. But one key differentiator worth mentioning is the realtime aspect of Firebase. We belie
8.
▲
by
mikelehen
12y ago
In short, both. :-) This was a commonly-voiced pain point for our existing customers and fits very well with our vision to make Firebase the best platform for building modern apps. But when we do something, we like to do it "right&quo
9.
▲
by
mikelehen
12y ago
Thanks for the feedback! We'd love to know what benchmarks would make you feel more comfortable. Internally, we have a lot of monitoring and diagnostics to make sure everything is running optimally. Downtime like yesterday's is
10.
▲
by
mikelehen
12y ago
Yes. We think our hosting service and realtime backend complement each other nicely for building modern web apps, but you certainly don't have to use both. :-)
11.
▲
by
mikelehen
12y ago
For context, 2000 concurrent connections would be quite a large site. If you're hitting 2000 concurrents, $500 probably wouldn't be an issue for you. It's also worth noting that Firebase employs burstable billing at the 95t
12.
▲
by
mikelehen
12y ago
Thanks for the feedback! Now that we've got the core deploy / rollback tooling in place, we're definitely looking for ways to plug into other common workflows (git, Dropbox, etc.). Stay tuned!
13.
▲
by
mikelehen
12y ago
Great suggestion! The difference between being on a CDN and not is really night and day. Every serious site deserves to be on a CDN. Your users will thank you for the faster page loads. :-)
14.
▲
by
mikelehen
13y ago
There was a time when that was true, but these days you can easily do those sorts of things using Firebase security rules: https://www.firebase.com/docs/security/security-rules.html
15.
▲
by
mikelehen
13y ago
Firebase dev here. :-) Firebase does handle offline syncing / conflict resolution. If you have a Firebase app open and you lose network connectivity, the app still continues to work fine and any modifications you make will be synced b
16.
▲
by
mikelehen
13y ago
We let you define server-side logic (for security and validation specifically) using our Security Rules API: https://www.firebase.com/docs/security/security-rules.html
17.
▲
by
mikelehen
13y ago
Well, adding rich-text support to ot.js and CodeMirror wasn't trivial, but both of these projects were certainly instrumental in building Firepad. And we'd love to see integrations with ShareJS as well as other editors besides CodeMirror.
18.
▲
by
mikelehen
13y ago
[I think HN is throttling us; I had to wait a while before a reply button appeared. Feel free to email me (michael at firebase) if you want to continue the conversation.] If the standard mitigation strategies (adding authentication, banning
19.
▲
by
mikelehen
13y ago
1) The client ignores invalid history items (unless there's a bug). So while you can pollute the Firebase data if you desire, it shouldn't affect the behavior of the app in any way. (i.e. Other than the checkpointing thing you brought up,
20.
▲
by
mikelehen
13y ago
Hey Saurik, Thanks for the thorough and correct analysis as usual. :-) The key things I would point out are that: 1) The checkpointing is an optimization. You could either remove it (which will hurt initial load time) or delegate it to tru
21.
▲
by
mikelehen
13y ago
Can you provide more detail? Here or firepad@firebase.com or as a github issue? From the screenshot it's not immediately obvious to me what went wrong. People are certainly allowed to write over each other (e.g click in the middle of your s
22.
▲
by
mikelehen
13y ago
Yeah. They could also build a robot to mash on their keyboard (or make an arduino-based USB input device, or ...) In non-demo scenarios, you'd have authentication and security rules set up to prevent this sort of abuse / trolling / etc. Th
23.
▲
by
mikelehen
13y ago
Can you provide more detail? Here or firepad@firebase.com or as a github issue? From the screenshot it's not immediately obvious to me what went wrong. People are certainly allowed to write over each other (e.g click in the middle of your
24.
▲
by
mikelehen
13y ago
Could you provide more details? (back button works fine for me in Chrome on OSX). You can reply here or ping firepad@firebase.com. Thanks!
25.
▲
by
mikelehen
13y ago
There's no limit. We had ~50 in some rooms earlier. We did shard users across dozens of rooms so that the user experience wasn't too ridiculous... You could (if you like pain) use firepad with hundreds of users and it shouldn't be an is
26.
▲
by
mikelehen
13y ago
Won't people realize that doing that would detract from the experience of other users? Haha, just kidding! Moved everything into a closure. Thanks for suggesting it.
27.
▲
by
mikelehen
13y ago
Yeah, sorry! Codemirror automatically keeps your cursor scrolled into view and with lots of people editing, your cursor keeps moving. I just tweaked it (again) so that we remove focus from CodeMirror when you scroll the page, so this shoul
28.
▲
by
mikelehen
13y ago
I don't know the state of the project, but while researching OT stuff for Firepad, I came across https://github.com/sveith/jinfinote . It looks like a peer-to-peer OT implementation (I think it requires a server to set up the initial sess
29.
▲
by
mikelehen
13y ago
Yup! http://www.firepad.io/examples/#code Atlassian[1] and Action.io have already built stuff with it. 1. https://marketplace.atlassian.com/plugins/com.atlassian.stas...
30.
▲
by
mikelehen
13y ago
Thanks! Glad you like it. You can also click the "Private Pad" link in the top right to get away from the chaos. :-)
More ›