Hacker News new | ask | show | jobs
Show HN: ProbablyTheMostRomanticThingEver (github.com)
15 points by anulman 4803 days ago
2 comments

Hey HN. I've been seeing a pretty awesome girl for the last couple of weeks, and wanted to send her a series of notes.

To that end, I wrote an ephemeral messaging system using Sinatra + Redis that authenticates her ID against Facebook and will show her a new message every day. Each message disappears from the public web once its day has passed.

I've released the code on Github; you can use it to display any sequence of messages over time to a set of authorized users. Documentation is pretty sparse right now; I'll be posting better comments, a readme, and license information (using MIT) tonight.

Anyway, enjoy!

Not sure if this was done on purpose, but if you click on sign in with facebook and then hit cancel on the facebook dialog box, the card still opens... just a heads up.
Thanks for the note! Definitely intentional: the callback comes back, but since there's no user ID, you hit the vanilla callback page.

(Basically, I wanted to make sure that everybody would have the card open... it's just the messages that are private)

... except if Facebook is firewalled at your workplace. It's OK, I also can't play Jurassic Park Builder. I'm used to it.
+1.

If you want to see the sexy CSS3 animations + whatnot, the callback's at http://probablythemostromanticthingever.com/open

and the police! ty
Same here brother, I feel your pain.
ssh myid@myhomecomputer.net -D 8080

tsocks will cover any apps that can't use proxies

I don't understand what's supposed to happen, and I don't want to give access to my friends list to you.
Definitely understand the concern—I set the minimum permissions, but obviously friends list is among them. All the code looks for is user_id; I'm not even storing the access_token generated.

This will be clearer as the readme shapes up, but it's for a private messaging repository, accessible only to folks whose user ID you save in a Redis hash.

For example, assume authed_user_ids = {1: '', 2: ''}. If, after authenticating with Facebook, we determine your user_id is 1, today's date gets stored as your value (authed_user_ids = {1: 'DATE', 2: ''}). The card will then open with Day 0's message, and will display a new one for every subsequent day until the sequence has expired (you will need to auth every time, as the only session variable stored is the OAuth nonce).

If Facebook returns with user_id = 3, the card will open and display some generic "no message for you" content.