Hi, I’m Ross Lawley.

Some techincal musings - probably about python, scala or MongoDB

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.

tech RxJava mongodb reactive scala

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.

tech play mongodb reactive scala

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?

ide sublime tech

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.

mongodb aggregation demo tech geo

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!

MongoEngine 0.8 RC1 Released

Notice: 0.8.0RC3 has been released fixing a couple of small bugs and extra improvements.

Notice: 0.8.0RC2 has been released fixing an obscure queryset cursor cloning issue.

I’m really pleased to annouce the release candidate for MongoEngine 0.8! Its been a long process due to work and life commitments but the latest version of MongoEngine is ready for testing and feedback.

Why a release candidate?

There have been massive changes in the internals, requiring thought and testing before upgrading and releasing to the wild - so please read the upgrade docs carefully!

The changes are worth it and make using MongoEngine even better.

Please test 0.8.0RC1 on your test systems and staging systems and any feedback please email the user group or if you’d prefer to message me directly you can via https://github.com/rozza

Whats changed?

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

Automate all the things

Disaster Strikes

Last week my Mac book ran out of space again, this had been going on for some time and I’d had enough. I was spending an ever increasing amount of much time hunting down rogue space invaders on my small 120gb hard drive. So something had to be done.

In times like this there is only one solution!

Source: http://leviathyn.com/games/news/2012/06/14/your-worst-rage-quit-moment/

When upgrading to Mountain Lion I decided to start afresh and reformat my hard drive. Normally starting from scratch would be a royal pain in the backside, taking many days to get things installed and allow me to get back to coding. Then I remembered hearing about boxen which could give me an easy way to rebuild and maintain the software on my Mac and hatched a plan of devops style automation!

My automation trifecta

tech devops puppet vagrant osx