My Conclusion from the Heartbleed Timeline

This tweet encourages people to read the timeline related to the Heartbleed discovery and dissemination and draw your own interesting conclusions – challenge accepted! There is plenty of fodder in there for the conspiracy theorists, but taking a step back for a second I would draw a conclusion not based on who knew what, but rather how to be one of those entities that knew early. Why take that approach? Well, the companies that learned of this bug early (the timeline lists the ones that admit they did, there were likely others) had a significant advantage here.

MongoDB 2.6 Shell Performance

Note: I have also written this up in Q&A format over on StackOverflow for visibility. When I am testing MongoDB, I often need to insert a bunch of data quickly into a collection so I can manipulate it, check performance, try out different indexes etc. There’s nothing particularly complex about this data usually, so a simple for loop generally suffices. Here is a basic example that inserts 100,000 docs: for(var i = 0; i < 100000; i++){db.timecheck.insert({"_id" : i, "date" : new Date(), "otherID" : new ObjectId()})}; Generally, I would just copy and paste that into the mongo shell, and then go about using the data.

Testing MongoDB Over the WAN: Part 1

This will be my first multi-part blog post, and I am actually not sure just how many parts it will have by the time I am finished.  My original intent was to test some failure scenarios whereby I would emulate a WAN link disappearing.  That quickly expanded into a more ambitious test, I still wanted to test failure scenarios but I also wanted to test with some real world (ish) values for latency, packet loss, jitter etc.

In particular, I wanted to see how a sharded MongoDB cluster would behave with this type of variable performance and what I could do to make things better (I have some interesting ideas there), as well as test some improvements in the 2.6 version.  I’ve created configurations like this in labs with hardware (expensive), XenServer (paid) but I wanted something others could reproduce, reuse and preferably easily and at no cost.  Hence I decided to see if I could make this work with VirtualBox (I also plan to come up with something similar for Docker/Containers having read this excellent summary, but that is for later).

My immediate thought was to use Traffic Control but I had a vague recollection of having used a nice utility in the past that gave me a nice (basic) web interface for configuring various options, and was fairly easy to set up.  A bit of quick Googling got me to WANem and this was indeed what I had used in the past.  I recalled the major drawback at the time was that after booting it, we needed to reconfigure each time because it was a live CD.  Hence the first task was to fix that and get it to the point that it was a permanent VM (note: there is a pre-built VMWare appliance available for those on that platform).

That was reasonably straight forward, and I wrote up the process over at SuperUser as a Q&A:

http://superuser.com/q/724551/113572

Once that was done, it was time to configure the interfaces, make routing work and test that the latency and packet loss settings actually worked (continues after the jump).


Bad Recruiting: Shutting Down an Interview Over Compensation

I’ve meant to write this post up for a while. I have spent a lot of my time in the last 2 years recruiting, interviewing, making offers etc. as I built a team up from nothing to 9 people. I also interviewed for other positions in the company, helping others build out their teams. It was very tough, at times it seemed there were no decent candidates out there, but with persistence and perseverance we would eventually get a good candidate over the line and my faith would be renewed.

More MongoDB Content – On StackExchange

As mentioned previously, I like getting my little gamification rewards and I have been meaning to add new content here for quite some time. In order to kill two birds with one stone, I took a couple of my ideas and turned them into the Q&A format that is encouraged on StackOverflow and the DBA StackExchange site. Hence we now have these two new questions (and answers): How to Programmatically Pre-Split a GUID Based Shard Key with MongoDB How to Determine Chunk Distribution (data and number of docs) in a Sharded MongoDB Cluster?

MongoDB Melbourne and Sydney

I recently presented at MongoDB Melbourne and MongoDB Sydney and the slides have now been made available on the 10gen website: http://www.10gen.com/presentations/mongodb-sydney-november-2012/operating-mongodb-cloud These were not recorded, but at least the slides are now up for reference, which several people had asked about. The Amazon whitepaper should be updated shortly too, but still contains good information for reference purposes, even if it is lacking some of the newer features/options. Interestingly, my

In line for the #dailyshow wit…

In line for the #dailyshow{.aktt_hashtag} with @[jekell][2]{.aktt_username} http://t.co/js9jQgXi Share this: Click to share on Facebook (Opens in new window) Click to share on Twitter (Opens in new window) Click to share on Google+ (Opens in new window) Click to email this to a friend (Opens in new window) [2]: http://twitter.com/jekell

The crazy looking homeless lad…

The crazy looking homeless lady has a nice speaking voice and a mobile phone #[newyork][1]{.aktt_hashtag} Share this: Click to share on Facebook (Opens in new window) Click to share on Twitter (Opens in new window) Click to share on Google+ (Opens in new window) Click to email this to a friend (Opens in new window) [1]: http://search.twitter.com/search?q=%23newyork

Apparently that issue I closed…

Apparently that issue I closed yesterday was number 1000 since I started @[10gen][1]{.aktt_username} in January, yay for round numbers! Share this: Click to share on Facebook (Opens in new window) Click to share on Twitter (Opens in new window) Click to share on Google+ (Opens in new window) Click to email this to a friend (Opens in new window) [1]: http://twitter.com/10gen

DUB to LCY again, this time to…

DUB to LCY again, this time to see the brand new @[10gen][1]{.aktt_username} London office Share this: Click to share on Facebook (Opens in new window) Click to share on Twitter (Opens in new window) Click to share on Google+ (Opens in new window) Click to email this to a friend (Opens in new window) [1]: http://twitter.com/10gen