From f61b8d57862a0847677e993d05c9e36f5494ff51 Mon Sep 17 00:00:00 2001 From: Christian Kvalheim Date: Fri, 30 Mar 2012 15:46:13 -0400 Subject: [PATCH] Added proposal --- .../README.md | 15 +++++++++++++++ .../profile_picture.jpg | Bin 0 -> 18552 bytes 2 files changed, 15 insertions(+) create mode 100644 writing_a_eventmachine_based_mongodriver/README.md create mode 100644 writing_a_eventmachine_based_mongodriver/profile_picture.jpg diff --git a/writing_a_eventmachine_based_mongodriver/README.md b/writing_a_eventmachine_based_mongodriver/README.md new file mode 100644 index 0000000..c183f3b --- /dev/null +++ b/writing_a_eventmachine_based_mongodriver/README.md @@ -0,0 +1,15 @@ +# Writing an EventMachine based Mongo Driver + +You've heard all the hype around node.js well did you know you can do the same in ruby ? Join me on the journey of building a mongo driver using Eventmachine and what the hype around node is all about and why you don't have to abandon your favorite language and feel left out. + +## Christian Amor Kvalheim (10gen) + +My bio + +![Profile picture](https://github.com/euruko2012/call-for-proposals/raw/master/example/profile_picture.jpg) + +- [My website](http://www.christiankvalheim.com) +- [My twitter](https://twitter.com/#!/christkv) +- [Past talk slides](http://www.10gen.com/presentations) +- [Past talk video](http://www.10gen.com/presentations) + diff --git a/writing_a_eventmachine_based_mongodriver/profile_picture.jpg b/writing_a_eventmachine_based_mongodriver/profile_picture.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a86e6c6baa23b774ba26aa75cb7565e319eb025c GIT binary patch literal 18552 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

pr9k-hZ-TC(xe|HOs-7@Y3FkNXFf3Vg% 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