31 Mar 2017, 13:15

MongoDB Scala Driver 2.0 released

The 2.0.0 version of the official Scala Driver for MongoDB has been released!

Case Class support

I’m really happy to announce the introduction of case class support, making it much easier to use your domain models with MongoDB. Internally Codecs are used to convert datatypes to and from BSON - the internal data format for MongoDB. The 2.0 release includes a Macro that can create a codecs from case classes.

20 Nov 2015, 12:06

El Capitan and key_load_public: invalid format
I upgraded to El Capitan on my Mac and it all went smoothly apart from one hitch. When pulling or pushing to Github I would get the following error: key_load_public: invalid format. Everything worked but opaque error messages are annoying. I tried googling and all I found was this article. It seemed to solve the issue but I didn’t like the solution, mainly because it didn’t help me understand the problem!

20 Oct 2015, 13:10

MongoDB Scala Driver Released
The new Scala Driver for MongoDB has been released! Last month I announced the first release candidate of a new idiomatic Scala Driver for MongoDB and I’m excited to announce that the first official release is now available on sonatype for Scala 2.11: "org.mongodb.scala" %% "mongo-scala-driver" % "1.0.0" A clean, simple Scala driver. At MongoDB we’ve been listening to your feedback about what you would like from a new Scala driver.

23 Sep 2015, 13:00

Introducing a new MongoDB Scala Driver
Update - now released! I’m really pleased to announce the first release candidate of a new MongoDB Scala Driver! Insider information At MongoDB we’ve been really busy, back in April we introduced the 3.0 Java driver. It was a massive undertaking that included numerous improvements and updates. What got me most excited with the 3.0 release was the introduction of a new fully asynchronous, non-blocking driver. Using this asynchronous driver as a base we also released an RxJava driver and a Reactive Streams driver.

23 Apr 2014, 00:00

How to: Handle multiple Scala versions

I recently upgraded Casbah to support the latest Scala 2.11 release and for the first time when supporting multiple Scala versions I hit a stumbling block. If you’re writing a library that wants to support multiple versions of Scala in a single code base, it’s generally easy isn’t it? Thankfully, it is as sbt can do the heavy lifting for you.

Three steps to success

The sbt documentation covers the basics nicely in their cross build documentation. But what’s the path to success?

06 Nov 2013, 00:00

RxJava - understandably reactive

Reactive programing is hot stuff at the moment and the Coursera Principles of Reactive Programming course has just started (its not too late to enroll).

Recently, I’ve been hearing good things about RxJava ( a port of .Net’s Reactive extensions ) so I wanted to learn some more. Then I stumbled upon a video from a recent SF Scala meetup which covered what it is and how they implemented the core and then added support for other JVM languages.

24 Sep 2013, 00:00

Typesafe's Activator

Yesterday the Typesafe Activator hit 1.0. If you haven’t heard about it and use scala or the jvm then take five minutes and check it out - its worth it.

What is it?

My recommendation alone not enough and you what to know more about it before installing it? No problems, let me convince you.

Typesafe Activator is a local web & command-line tool that helps developers get started with the Typesafe Platform.

31 Jul 2013, 00:00

Switching to Sublime Text 3

For a long while I’ve been a huge fan of Sublime Text 2, its easy to use and has a wealth of features that can be installed by the awesome package control system. I use it for all python development and any adhoc file work, infact I only abandon it for my scala work - where IntelliJ wins.

Sublime Text 3 (ST3) has been in beta for six months, and over that time its plugin ecosystem has matured. After experiencing some slow downs in Sublime Text 2 (ST2) I thought it was time to upgrade to an even more sublime experience.

5 step migration to Sublime Text 3

First off there is no risk in trying to upgrade, it has a different app name to ST2 and its configurations are in a different directory. In short you can have both installed and living happily.

1. Can I upgrade?

23 Jul 2013, 00:00

Using MongoDB to find the most popular pub names!

Earlier in the year I gave a talk at MongoDB London about the different aggregation options with MongoDB. The topic recently came up again in conversation at a user group, so I thought it deserved a blog post.

Gathering ideas for the talk

I wanted to give a more interesting aggregation talk than the standard “counting words in text”, and as the aggregation framework gained shiny 2dsphere geo support in 2.4, I figured I’d use that. I just needed a topic…

What are us Brits focused on?

Two things immediately sprang to mind: weather and beer.

20 May 2013, 00:00

mongoengine 0.8.0

I’m really pleased to annouce the release of MongoEngine 0.8.0. Its been a long process due to work and life commitments but the latest version of MongoEngine is here.

Whats changed?

There have been loads of fixes, improvements and changes in 0.8. The headliners are:

  • Minimum requirements are python 2.6+ and pymongo 2.5+
  • Inheritance now off by default
  • Inherited documents store _cls not _types (preventing auto creation of multikey indexes)
  • Querysets are immutable and now return clones
  • New Geo Fields supporting mongodb 2.4 new “2dSphere” indexes
  • New context managers for switching collections or databases on the fly as well as turning off dereferencing
  • Django support improved (now supports Django 1.5.1, groups and permissions)
  • Performance improvements, back to the same performance as 0.4

And much, much more!