Friday, 15 February 2013

Upcoming Events (and Trisha Freaks Out A Bit)

My next few talks are where I finally start speaking about MongoDB.  After 4 months working for 10gen, I still feel completely under-qualified to speak with any authority on the subject.  It's very different joining a company with an established and growing product, to joining a very young company and being in on the development since practically day one.  But I've been working on designing the Brand New Java Driver, so that's what I'm going to talk about.

At this stage, the new driver is still very much a prototype, and we have a lot of ideas to explore, so I'll be talking about things like design considerations, and the process of developing the driver, more than definitive guides on how to use it.  I've found working on a library very different to working on a platform or internal application.

19th Feb - London MUG: Into to the new Java driver
5th March - QCon: Tutorial (well, more like hack-session) on the new MongoDB Java driver
8th March - QCon: Making Interviews Rock (with Dan North)
14th March - LJC: How to give technical presentations
21st March - LJC: Possible speaking slot (TBC)
26-27th March - DevoxxUK: Talk TBC
18-20th June - GOTO Amsterdam (maybe!!)

Looking at that list inspires a number of different emotions:
  1. Fear.  OMGIhaven'twrittenanyofthosetalksyetandthey'reallgoingtobeterrible.  Also OMGIsignedupforfivetalksinMarchalonewhatiswrongwithme?  And OMGhowcanIgiveatalkongivinggreattalkswhatifthattalkisterriblenoonewilleverlistentomeagain.  Etc etc.
  2. Pride (in a good way).  Last year, QCon London was the first solo presentation I gave at a conference.  This year I've had to turn down more conferences than I even spoke at last year, and I'm being encouraged to talk on a range of subjects that interest me.  I miss the comfort of presenting on the Disruptor, a subject I got to know very well, but the variety is fun.
  3. Astonishment.  I'm presenting with Dan North.  And it was his idea.  He wants to be on stage with me and co-present with me.  This is mental, Dan's pretty much a role model for me (don't tell him I said that) and it's crazy to be doing something together.
Now I tell you all this not to share with you my #FirstWorldProblems, some sort of desperate bid for sympathy (although I'm always blown away by the nice things people say to me when they think I need encouragement).  But because people keep telling me again and again how they could never do public speaking, how I'm so lucky it doesn't scare me, how they have nothing to say that anyone will want to hear.  And they're wrong, because I'm not lucky.  I'm stubborn.  It does scare me, especially new material that people might not like.  But it can be fun, and it's worth pushing through the (very understandable) reluctance in order to get the payoff from the times it does work.

Anyway enough of the moralising.

As well as the speaking gigs, I've also got some interesting interviews lined up, and I've been asked to write a lot of stuff for various publications.  I'd like to say that's why I'm not blogging, but since I haven't started writing those yet either....

5 comments:

  1. I hope Brand New Java Driver replaces or revives morphia. 10gen's hiring of Scott has basically killed the project, which is super sad and frustrating. James Green is maintaining a fork, but it's very silly that someone doesn't just give him commit access to the main Morphia project instead of fracturing the community allowing the main project to languish and die.

    ReplyDelete
    Replies
    1. Yeah, Morphia is definitely there on our list of considerations. One of our goals is to a) not break any ODMs b) make it easy to write new ones. But Morphia is specifically on our TODO list, we know it's used a lot out there and we know it hasn't moved a lot lately.

      Delete
    2. ODM? Do you mean ORM?

      Also, an even more important consideration is to make the driver non-blocking. A good example is ReactiveMongo for Scala. Unfortunately, there's no good way to make non-blocking requests in Java. That means that you need n threads to make n requests, which can become a real performance bottleneck.

      Delete
    3. Nope, ODM - Object Document Mapper

      And we are considering an async/non-blocking driver, but that's not the same thing as the API refresh that will be going into the 3.0 driver, it's actually an entirely new API. Something we have to consider is that the best way to do non-blocking IO in Java is using Java 7, which means we have to think carefully about introducing something that might not be usable by everyone.

      Delete
  2. Yes, that is a tough thing to deal with. I certainly would prefer the driver to use nio2. Most folks I've encountered who are using Mongo are on Java 7. The ones who use older versions generally haven't done much with nosql yet. That being said there are folks out there who use mongo and java 6 or older (though some of that is because there's no reason to upgrade, so use of nio2 in the driver might motivate them). I wonder how different it would be and if there could be an abstraction that allowed for two versions. Or perhaps the new driver could be used by most folks, while the folks who are behind on java versions could use the old driver. After all, it's not like the wire format is changing, so there's no reason they'd have to upgrade. Btw, are there any thoughts on when 3.0 would be coming out? JDK8 M7 is already out, so supporting Java 7 isn't crazy given that Java 8 may be out before or not long after the driver release.

    ReplyDelete