Matthias Gall - digitalbreed

Hey there, I am Matt and this is my place on the web.

Take a look at my (ever incomplete) portfolio.

Entrepreneurship

LeWeb 2010 startups revisited

Around the same time in 2011, I wrote a posting about the LeWeb 2010 finalists and startup success in general. I placed a reminder into my calendar to revisit the list in 2012 and went to check whether the companies were still alive and well. Unfortunately, I never released the post. Now, another year later, I saw the unreleased draft and decided to update it once again. Votizen – acquired by causes.com (open positions 11/2012:…
Software Engineering
Apache Tomcat

Tomcat 7 and Nginx on Ubuntu 10.12

Earlier last week, I installed Nginx with a Tomcat on a newly installed Ubuntu VPS. Unfortunately, although it comes with a lower memory footprint, it was noticably slower than my earlier Apache installation. It seemed like the simple proxying that I had in place was too slow. I decided to give the “APR based Apache Tomcat Native library” a try. Here’s what I did.
Software Engineering
Grails

No signature of method addTo* is applicable

Last night, I started getting an exception in one of my pet projects, created with Grails: No signature of method: package.Parent.addToChildren() is applicable for argument types: (package.Child) values: [package.Child : null] Possible solutions: getChildren(). Stacktrace follows: groovy.lang.MissingMethodException: No signature of method: package.Parent.addToChildren() is applicable for argument types: (package.Child) values: [package.Child : null] I searched for the problem, read dozens of different hints regarding proper general ORM one-to-many setups, GORM-specific hasMany/belongsTo relationships, cascading, saving before adding,…
Software Engineering
Apache Tomcat

Enabling Tomcat NIO Connector with Grails 2.0

At dozens of different sources, even in Graeme Rocher’s corresponding Jira ticket, it says that you need to put grails.tomcat.nio=true into your Config.groovy file. I believed that, too, and it drove me nuts to see that the org.apache.coyote.http11.Http11NioProtocol class wasn’t even instantiated. I had to review the commit logs to figure out that the property should actually be in the BuildConfig.groovy file. Now I finally got the log messages that I expected to see… |…
Software Engineering
mongoDB

MongoDB: can only have 1 index plugin / bad index key pattern

While working with MongoDB and the MongoDB Java driver I got the following exception when attempting to iterate over a result set. com.mongodb.MongoException: can only have 1 index plugin / bad index key pattern at com.mongodb.MongoException.parse(MongoException.java:82) at com.mongodb.DBApiLayer$MyCollection.__find(DBApiLayer.java:312) at com.mongodb.DBCursor._check(DBCursor.java:369) at com.mongodb.DBCursor._hasNext(DBCursor.java:498) at com.mongodb.DBCursor.hasNext(DBCursor.java:523) This exception drove me nuts. I checked the index definition in Java, which looked fine, compared it to the index result in Mongo shell (db.collectionName.getIndexes()), which looked fine too, made several…
Software Engineering
Grails

Using Grails without a database

If you’re using Grails for a frontend without direct database access, there are four things you need to do. Remove Grails’ Hibernate plugin. Delete the datasource configuration file conf/DataSource.groovy Explicitly declare services as non-transactional. The default is true and your class methods would be proxied, but without the Hibernate plugin there is no transaction manager and the deployment will fail. Use command objects instead of domain objects, particularly if you need validation.
Entrepreneurship

9 out of 10 startups fail

Disclaimer: I’ve chosen a rather provocative title for this posting. It has no qualified basis but it’s something you hear very often in one way or another. 7 out of 10 fail, 9 out of 10 fail, etc. I was interested in whether there’s any truth in this startup-scene meme, so I took some time to walk through 13 startups who presented 30 second pitches at Web 2.0 summit 2010, a little more than one…
Software Engineering
Grails

Grails cheat sheet

This is a little cheat sheet I created for learning purposes. I’m extending this as I need. Many of the tips are collected from the Getting Started With Grails minibook, which is a great resource for a kickstart. All stuff after the break… click “Continue” to continue reading.
Software Engineering
Grails

Learning Grails the hard way: Facebook Authentication

Every now and then I try to explore a new programming language. Last year, I tried Scala, this year, I’m fiddling around with Grails. My first attempt was to try something I already implemented in other languages, like verifying Facebook’s signed_request. It’s fun to see what I tried to get it running and how a short version by a more experienced Groovy coder looks like. Compare both versions after the break if you like.
Personal, Software Engineering

arcadiaCharts public alpha released

The wait has come to an end and it’s quite a relief to finally be able to write about (and promote) something I’ve been involved in my spare time, mainly in 2009 and partly in 2010 as well. In December 2008 I had the pleasure to meet members of the management board of element5, one of the world’s largest outsourcing partners for the software industry, who were just kicking off a new little project: a…