Thomas Zahn

About Thomas Zahn

Having grown up with a living room that was essentially the office of his mother’s software start-up in the 80s, Thomas is a dyed-in-the-wool software engineer. In the past, he has worked for large outfits such as Microsoft Research and Nokia as well as for specialised engineering shops and start-ups. He lives in Berlin with his wife and two kids, and loves tennis and hiking (though, bizarrely, he constantly seems to find no time to do much of either those two). Thomas holds a Ph.D. in Computer Science from the Freie Universität Berlin.

Running Studio 3T (formerly MongoChef) on CentOS

When trying to run Studio 3T (formerly MongoChef) on CentOS, you may experience the following issue: java: cairo-misc.c:380: _cairo_operator_bounded_by_source: Assertion `NOT_REACHED' failed. ./mongochef.sh: line 11: 28030 Aborted (core dumped) $DIR/../jre/bin/java -jar $DIR/../lib/data-man-mongodb-pro-*.jar This is a general issue for all SWT-based applications on CentOS and is related to the Cairo 2D graphics library on CentOS. The [...]

On MongoDB 3.0 and Java

MongoDB 3.0 marks a major new release for MongoDB and is chock-full of new features. Of those, two really stand out and require a bit of attention from Java developers: The new WiredTiger storage engine, and The new challenge-response mechanism SCRAM-SHA-1 for authenticating users with passwords that replaces the old MONGODB-CR method used prior to [...]

How to Grant Roles to Multiple Users at Once in MongoDB with Studio 3T

In MongoDB, users are defined for specific databases. Each user is then assigned a list of roles that in turn define the user’s privileges. Not surprisingly, MongoDB’s API therefore makes it easy to assign a user a list of roles via the grantRolesToUser method: db.grantRolesToUser( "<username>", [ <roles> ], { <writeConcern> } ) However, MongoDB’s [...]