Blog Posts

Distributing Akka Workloads - And Shutting Down Afterwards

17 Jan 2013

Recently, as part of my role with the Professional Services team at Typesafe, I have been working on site at a customer who is using a lot of Akka and Play. During this time, I've gotten a chance to solve some interesting problems and answer obscure questions... which for those who like chasing these kinds of puzzles issues (like myself) is a fantastic way to spend the day (and if this kind of thing sounds exciting to you, we're aggressively hiring for this kind of work ;) )

One item in particular came up recently as we tried to create a cron-style job to do interval data processing – big blocks of input data would be separated into individual instructions for processing, using Akka 2.0.x. The developer I was working with found that, among other things, using only a single actor to process all of their data items was not particularly performant. Further, once we solved this problem we couldn't figure out how to cleanly shut down Akka without interrupting any messages being processed. Fortunately, Akka offers simple answers to both of these problems... if you know where to look.

Read the rest of this entry »

MongoDB Community – Call for Postcards

14 Nov 2012

In the distant annals of MongoDB History, when Men were Real Men, Women were Real Women, and Small Furry Creatures from Alpha Centauri were real Small Furry Creatures from Alpha Centauri... There were postcards.

The tradition was started before I started at 10gen, wherein when we travelled somewhere for MongoDB we would send postcards back for Meghan Gill. Meghan, being the evil genius behind growing MongoDB's community, was often indirectly responsible for our travel (which is why I of course sent a postcard from Armenia reminding her of this fact). When 10gen finally moved into our first New York office (having shared space, in the form of a few spare desks, with another company in the beginning), Meghan got her own office and created an entire wall for the postcards. As postcards came in they went up on the wall, and by the time 10gen moved to yet another office the wall was pretty impressive.

Unfortunately, between the new office not having a wall for postcards and newer employees not picking up the postcard tradition, our efforts fell off. Which makes me somewhat sad, because MongoDB's community has grown all over the globe. With my departure from 10gen imminent, I had an evil thought – to bury poor Meghan in postcards from around the world, written and mailed by members of the community which she has helped create.

And so, I call upon you, MongoDB community members. Do your darndest, from your distinct corners of the globe, to flood Meghan with postcards about how much you love MongoDB. Bonus points if you send it from somewhere out of the way that nobody has sent her a postcard from yet!

If you are game, find your most awesome postcard from the town you live in (or even are travelling to), write a message and put a stamp on it. Send it away to this address:

Meghan Gill
c/o 10gen, Inc.
578 Broadway
7th Floor 
New York, NY 10012
United States of America

That's it. My thanks in advance for helping advance my evil, evil plans.


And Now For Something Completely Different!

06 Nov 2012

I write this it is at the end of two very long years working with 10gen (The MongoDB Company), a company of less than 20 people when I joined that is now approaching 200. Although my role has been fungible during my time here, my primary focus has been to improve Scala integration for MongoDB, and evangelize it around the world. In this pursuit I've worn out an entire US Passport, as well as my favorite pair of Doc Martens.

In addition to writing code, I've trained new users (customers and colleagues alike), given presentations to audiences large & small, and helped companies to better deploy MongoDB in their applications – in over 50 cities and 15 countries (Those who know me now will expect a whinging anecdote about the time they sent me to Armenia…) I've spent a quarter of my time at 10gen working out of a London office that didn't exist when I first arrived, traveling and helping build a MongoDB following in Europe.

Most excitingly I've had the opportunity to have met, and in some cases had the pleasure of working with, some of the most interesting and talented individuals I've ever encountered. Engineers, Developer Evangelists, Community Managers, Systems Administrators, and one self-described "Markitect" (Which is how Jared Rosoff once described his job to me; a cross between Marketing and Software Architecture). People like Meghan Gill (and her growing team), have helped create and grow the Open Source community around MongoDB – Meghan's the one you can blame for the MongoDB mugs that are multiplying like tribbles around the globe.

At the risk of offending any by singling so few out, I could spend all day just citing excellence in many of my colleagues at 10gen – there is some incredible talent on hand. In my own time here, I've managed to develop and hone some previously unknown skills as a teacher, consultant, and developer evangelist. Through building software with hundreds of thousands of open source users, I've learned to be a better engineer. The most important lesson? That the users, and how they use (or want to use) your software matters above all else; observe, listen and adapt. The user may not always be right, but in many cases they can point you in the direction from which the wind is blowing.

The reality is that all of this has been an incredible adventure – but also a lot of hard work, and tremendously tiring. 10gen today is a very different company from the one I've joined – and about 10 times the size. I feel that I've reached the apex of what I wish to accomplish with 10gen, and I've spent a bit of time considering new challenges; it is far from easy to decide if I can leave all the great work I've done behind. So, when I finish my current tour of duty in Europe, I pursue that challenge.

As such, it is time that I announce my impending departure from 10gen, to pursue something new. MongoDB is a tremendous product, and 10gen has built something quite amazing in a very short time. Being in the community from early on, it has been humbling to watch how quickly they (we) have built a product, company and community. To further have had an opportunity to have participated in that was humbling, and I look forward to seeing what the future brings, even if I won't be part of this particular story.

I'm turning the page, and starting a new chapter...

What's next? After returning home from Europe in December I plan to take a few days off to gather my wits. After that, I'm very happy to announce that I'll be joining the incredible team at Typesafe, as a member of their burgeoning Professional Services team. While there, I look forward to helping build, teach, and promote the foundation for the next generation of scalable applications. This generation includes the Scala programming language, Akka framework for distributed & concurrent computing, and Play! for web applications. I have been working with Scala and Akka for almost as long as I have MongoDB; for me, it is a natural progression forward.

The team that Typesafe has built is awe-inspiring, and the plentitude of knowledge and experience they offer are hard to refuse for someone seeking new challenges and skills.

By no means is this the end of my MongoDB life, merely my 10gen one. Many of you will still see me at the same conferences, looking much the same. Maybe in a different t-shirt (though I still have an awful lot of comfortable MongoDB ones) I may be promoting a different product, but I still believe in MongoDB and am always glad to help see that forward as well. I helped set the tone for Scala and MongoDB and don't intend to abandon it. I plan to continue my contributions to projects like Casbah as I move forward. Projects to rethink MongoDB on the Scala platform, such as Hammersmith, will continue to occupy what spare time I find; I'm always happy to help with other projects and ideas that strike my fancy.

And, as I sharead with my coworkers already, to those of you I won't see as much of in my new role... So Long, And Thanks For All The Fish!