Show HN: Socrates.io - clean and shareable markdown
socrates.io
socrates.io
To demonstrate, open up a JavaScript Console (such as the Chrome inspector or something; I assume this won't be problematic in other browsers, but it does involve a callback to an anonymous function typed into the console, and I don't do much JavaScript to know if that will cause some weird protected scope error in some browsers) and plug in the following:
new Firebase(Socrates.firebaseUrl).once('value', function(snapshot) {
var val = snapshot.val();
for (var i in val.documents) {
var doc = val.documents[i];
console.log(doc.id + ': ' + doc.title + '\n' + doc.body);
}
})
The output will be the identifiers, titles, and contents of every document in the database (including one which seems to be the developers of Socrates.io trying to come up with a way to charge for people using the beta, including examinations of which payment processor to use, etc.; I'm now quite curious if they realized that was public... it's not bad or anything).Firebase offers security, but we just didn't get around to using yet.
You shouldn't choose to use it for sensitive information, but for Github readmes and other already public content, it's a great tool.
[1] https://twitter.com/Firebase/status/190954896764305408
The pretty sane and "simple" (easy to implement on the server, but difficult for developers to use correctly) way of doing it is something like StackMob or Parse's ACL feature (but even that tends to be misused, and as soon as data can be shared between users is almost impossible to get right without using custom server-side logic, which these kinds of companies are now supporting).
(FTR, I try to hit on these things pretty hard, as I'm highly concerned that these online middleware companies are short-changing the importance of security in the cloud, if not often in their implementations then almost always in their documentation and tutorials. I gave a talk at 360|iDev this year discussing solutions like StackMob and Parse, doing live demos of ripping keys out of apps and dumping their databases.)
(One of the apps I ran into--which I did not demo dumping data from during that talk ;P, although I did show a totally anonymized snippet of the kind of data it was storing--was an online dating matchup app that was storing all of its offline Facebook full-access auth tokens trivially accessible in StackMob, along with all of the "private" messages sent between the users... all of this despite the app supporting nicknames for "anonymity" and listing "security" as one of its defining features :(.)
(Firebase, to their extreme credit, is very honest about the fact that your data is all public: it is the very first question in their FAQ, and they state the situation 100% clearly and entirely outright. "However, it’s not ready for widespread use yet, so right now all data in Firebase is publicly accessible. Please keep this in mind when building apps!" <- emphasis is thankfully theirs, not mine ;P)
Saurik - We're glad that there are people like you searching for holes in services like Firebase. Hopefully it'll keep making all of us better. Please keep doing it.
As ivolo noted, we do have a security feature set we're testing. It has taken a little while to build something that is both functional and usable. We're pretty confident we've got something that our users will love.
Excited to show you soon!
My OCD is going insane.
Dillinger can link and upload to Dropbox and Github as well. It's also open source: https://github.com/joemccann/dillinger
To stop it from breaking the back button in Firefox, try using:
history.replaceState();
https://developer.mozilla.org/en-US/docs/DOM/Manipulating_th...A few questions....
*Is your project for fun or for profit?
If the latter, what pain does it alleviate, whom is it targeted towards and before you created it, was there any indication they wanted a solution strong enough to pay someone for the answer
(to elucidate, skip to 1:03 http://www.youtube.com/watch?v=K9m9vPAlb_0&feature=relat... )
It occurred to me that not only there are many other reasons to write code, but also that the two reasons you mention are of the weakest sort.
Did you watch the PG vid?
Mou, the great markdown editor on OS X, is also set up as this web app, with the formatted output on the right and the input area on the left, without an option to switch it.
Am I weird for wanting to type on the right? Is this some odd "handedness" issue? (I'm right handed)
(Or maybe it is. I'm not an embedder ;)
thanks