mike dirolf

Connecting to a Replica Set from PyMongo

16 August 2010

PyMongo makes working with replica sets easy. Here we’ll launch a new replica set and show how to handle both initialization and normal connections with PyMongo. This blog post will also be going up as an example in the PyMongo docs – check that page out for more examples of how to get things done with PyMongo.

(more…)

Hackabit and be bit.ly

15 July 2010

Last night the folks at bit.ly hosted a hackathon, called hackabit, to celebrate their 2nd anniversary. I worked on a quick little game called “be bit.ly”.

(more…)

PyMongo 1.7 Released

17 June 2010

A new release for PyMongo has been long overdue – the last release (1.6) was made on May 11th, over two months ago! It’s been a busy couple of months with travel and writing (and life), so a release hasn’t been on the top of the list. I finally made the effort to get a release out today, though, and the result is PyMongo 1.7. For a full list of changes, check the changelog; in this post I’ll talk about a few of them in detail.

(more…)

Videos from MongoNYC

02 June 2010

MongoNYC happened in the end of May and was one of my favorite conferences of the past year. All of the talks I went to were very good, and I also had a chance to meet and talk with a ton of interesting people. The videos from the conference were just posted – I’ve embedded the videos of my talks and linked to a couple others I thought were great.

(more…)

Inside MongoDB

27 May 2010

Slides from a talk called “Inside MongoDB – the Internals of an Open-Source Database”.

(more…)

Introduction to MongoDB

09 April 2010

The “Intro to MongoDB” deck that I presented at PhillyETE, as well as some brief thoughts on the conference.

(more…)

Working With Stored JavaScript in MongoDB

05 April 2010

JavaScript is a very important language in the MongoDB ecosystem. Not only is the shell JavaScript, but the server features a built-in JS interpreter as well. The embedded interpreter is used in all sorts of different ways, including for Map/Reduce, db.eval, and $where clauses. One nice feature supported by MongoDB is the ability to store JS functions on the server.

(more…)

Gluecon Early Bird Discount

30 March 2010

I’ll be speaking at Gluecon in the end of May. The early bird pricing for registration ends on April 2nd, and you can get an additional 10% off of early bird registration as a reader of this blog if you use the code “spkr12”!

(more…)

A New GridFS Implementation for PyMongo

29 March 2010

One weak point of PyMongo has always been its support for GridFS. The GridFS API is a bit confusing and hard to work with, and sometimes allows incorrect operations to be performed. I’ve just finished a new implementation of GridFS for PyMongo — this post introduces the new API and requests feedback before it gets officially released.

(more…)

pyporter2

22 September 2008

This is an implementation of the Porter2 (english) stemming algorithm in Python. It was born out of some academic work I did on clustering algorithms in the spring of 2008. The Porter Stemming Algorithm was first published in this 1979 paper – it is now one of the most widely known and used stemming algorithms. An implementation of the Porter stemmer already existed in Python, but not of the updated Porter2 stemmer. I decided to implement a Python version of Porter2 as an exercise.

(more…)

Zoomix — Another JavaScript Game

30 November 2007

Yesterday I wrote another game using JavaScript and the canvas tag, which I’ve named Zoomix. This time the design of the game is completely original, and I think it came out pretty nicely. Hopefully you should be able to figure out the rules / object of the game after playing with it for a few minutes. Let me know what you think! (And post your high scores in the comments).

(more…)

Enabling Cross-Domain AJAX in Firefox

11 June 2007

Tonight I have finally conquered one of the biggest annoyances of the past year for me (in terms of development at least). Developing web applications with Firefox is a pleasure because of the firebug extension. Nothing comes close in Safari. Unfortunately, Firefox doesn’t allow cross-domain XMLHttpRequests for security reasons. While good security is a plus, this restriction can make development and testing a real chore. For those of us willing to risk the security vulnerability, here is how to bypass the cross-domain restriction once and for all.

(more…)

MDCave — A JavaScript Game

07 June 2007

In lieu of a real post here’s a time-waster for those I haven’t showed already. This is a game I wrote to procrastinate about a month or two ago, meant to be a larger version of this game. It should work in Safari and Firefox. Also, cut me some slack for the lack of polish, as it really was a one night affair. The whole thing is written using Apple’s canvas tag and JavaScript, feel free to use the source for whatever you want. Post your high scores in the comments.

(more…)

about

headshot

I’m a software engineer working at 10gen on MongoDB. I try to play as much soccer as possible and am also always up for riding (or building) longboards. Born and raised in Albany, I’m now living in New York.

projects

latest talks

(v) 25 Aug 2010 O'Reilly Webcast
(v) 07 Jun 2010 Europe Virtual ALT.NET
(s) 02 Jun 2010 Open Source Bridge
(s) 27 May 2010 Gluecon
(v) 21 May 2010 MongoNYC (2)
(v) 21 May 2010 MongoNYC (1)
(s) 18 May 2010 NY Cloud Computing Group
(s) 12 May 2010 NYC NoSQL
(s) 07 May 2010 FrozenRails
(v) 30 Apr 2010 MongoSF (2)
(v) 30 Apr 2010 MongoSF (1)
(s) 09 Apr 2010 Philly ETE
(a) 05 Apr 2010 Techzing
(s) 08 Mar 2010 10gen Webinar
(s) 21 Feb 2010 PyCon Poster Session
© 2007-2010 Michael Dirolf — Licensed under a Creative Commons LicenseSubscribe feed
All code examples are licensed under the Apache License, Version 2.0.